Przeglądaj źródła

评估模块调整

lizhenhao 2 lat temu
rodzic
commit
d4ca1d730f
75 zmienionych plików z 5142 dodań i 5784 usunięć
  1. 14 13
      src/api/finance/invoice/FinanceInvoiceService.js
  2. 9 0
      src/api/flowable/taskService.js
  3. 47 0
      src/api/pubmodules/ReimbursementApprovalTypeService.js
  4. 4 3
      src/api/sys/ProofreadInfoService.js
  5. 5 4
      src/api/sys/ProofreadIssuedService.js
  6. 5 4
      src/api/sys/ProofreadTypeService.js
  7. 10 9
      src/api/sys/ReimbursementService.js
  8. 5 4
      src/api/sys/ReimbursementTypeService.js
  9. 80 126
      src/components/editor/WangEditorNoMenu.vue
  10. 115 96
      src/components/userSelect/index.vue
  11. 1 1
      src/layout/components/topbar.vue
  12. 1 1
      src/layout/components/topbar2.vue
  13. 156 0
      src/views/common/CwReimbursementTypePullForm.vue
  14. 1 1
      src/views/common/RosterSelectDialog.vue
  15. 1 1
      src/views/common/UpLoadComponentDialog.vue
  16. 244 239
      src/views/finance/invoice/InvoiceForm.vue
  17. 279 273
      src/views/finance/invoice/InvoiceFormTask.vue
  18. 232 225
      src/views/finance/invoice/InvoiceFormTaskInvalid.vue
  19. 90 91
      src/views/finance/invoice/InvoiceList.vue
  20. 10 8
      src/views/finance/invoice/KnowledgeShareTypePageForm.vue
  21. 62 57
      src/views/finance/invoice/ProgramForm.vue
  22. 57 50
      src/views/finance/invoice/ProgramPageForm.vue
  23. 14 11
      src/views/finance/invoice/ReimbursementTypePullForm.vue
  24. 14 11
      src/views/finance/invoice/UserPullForm.vue
  25. 1 1
      src/views/flowable/components/FlowTimeLine.vue
  26. 1 1
      src/views/flowable/process/ModelList.vue
  27. 0 2
      src/views/flowable/task/TaskForm.vue
  28. 5 5
      src/views/form/GenerateList.vue
  29. 1 1
      src/views/form/MakeFormList.vue
  30. 12 9
      src/views/program/configuration/fileDict/FileDictForm.vue
  31. 16 16
      src/views/program/configuration/fileDict/FileDictList.vue
  32. 13 9
      src/views/program/configuration/proofreadType/BrowseTypeForm.vue
  33. 15 15
      src/views/program/configuration/proofreadType/BrowseTypeList.vue
  34. 13 9
      src/views/program/configuration/proofreadType/TypeForm.vue
  35. 15 15
      src/views/program/configuration/proofreadType/TypeList.vue
  36. 11 8
      src/views/program/configuration/typeDict/TypeDictForm.vue
  37. 15 15
      src/views/program/configuration/typeDict/TypeDictList.vue
  38. 12 9
      src/views/program/configuration/typeFileDict/TypeFileDictForm.vue
  39. 12 12
      src/views/program/configuration/typeFileDict/TypeFileDictList.vue
  40. 12 8
      src/views/program/registered/ContactForm.vue
  41. 26 20
      src/views/program/registered/ContractForm.vue
  42. 66 61
      src/views/program/registered/ProjectArchiveForm.vue
  43. 28 25
      src/views/program/registered/ProjectArchiveFormDialog.vue
  44. 39 32
      src/views/program/registered/ProjectForm.vue
  45. 65 64
      src/views/program/registered/ProjectForm2022.vue
  46. 102 95
      src/views/program/registered/ProjectForm2022Tab.vue
  47. 28 25
      src/views/program/registered/ProjectFormUpdate.vue
  48. 182 181
      src/views/program/registered/ProjectList.vue
  49. 18 13
      src/views/program/registered/ProjectList2022.vue
  50. 43 30
      src/views/program/registered/ProjectThreeAuditForm.vue
  51. 16 13
      src/views/program/registered/ProjectThreeAuditFormDialog.vue
  52. 211 191
      src/views/program/registered/ProofreadBrowseForm.vue
  53. 17 9
      src/views/program/registered/ProofreadBrowseFormComponent.vue
  54. 121 95
      src/views/program/registered/ProofreadForm.vue
  55. 28 12
      src/views/program/registered/ProofreadFormComponent.vue
  56. 36 42
      src/views/program/registered/ProofreadIssuedForm.vue
  57. 170 166
      src/views/program/registered/RegisItemForm.vue
  58. 27 23
      src/views/program/registered/WorkClientForm.vue
  59. 11 8
      src/views/program/serviceType/ProgramServiceTypeForm.vue
  60. 15 15
      src/views/program/serviceType/ProgramServiceTypeList.vue
  61. 4 4
      src/views/project/AssessForm.vue
  62. 1 1
      src/views/project/AssessList.vue
  63. 4 4
      src/views/project/ConsultationForm.vue
  64. 1 1
      src/views/project/ConsultationList.vue
  65. 0 1078
      src/views/reimbursement/ReimbursementFormCcpm.vue
  66. 460 437
      src/views/reimbursement/info/InfoForm.vue
  67. 69 64
      src/views/reimbursement/info/InfoList.vue
  68. 9 6
      src/views/reimbursement/info/ProgramForm.vue
  69. 1717 1694
      src/views/reimbursement/info/ReimbursementForm.vue
  70. 1 1
      src/views/reimbursement/type/TypeForm.vue
  71. 1 1
      src/views/reimbursement/type/TypeList.vue
  72. 1 1
      src/views/sys/post/PostList.vue
  73. 1 1
      src/views/sys/role/RoleUserList.vue
  74. 1 1
      src/views/workClient/WorkClientList.vue
  75. 13 7
      src/views/workContract/WorkContractList.vue

+ 14 - 13
src/api/finance/invoice/FinanceInvoiceService.js

@@ -1,93 +1,94 @@
 import request from '@/utils/httpRequest'
+import { ASSESS_PATH as prefix } from "../../AppPath";
 
 export default class FinanceInvoiceService {
   list (params) {
     return request({
-      url: '/finance/invoice/list',
+      url: prefix + '/finance/invoice/list',
       method: 'get',
       params: params
     })
   }
   queryById (id) {
     return request({
-      url: '/finance/invoice/queryById',
+      url: prefix + '/finance/invoice/queryById',
       method: 'get',
       params: {id: id}
     })
   }
   queryByNumber (number, id) {
     return request({
-      url: '/finance/invoice/queryByNumber',
+      url: prefix + '/finance/invoice/queryByNumber',
       method: 'get',
       params: {number: number, id: id}
     })
   }
   save (inputForm) {
     return request({
-      url: `/finance/invoice/save`,
+      url: prefix + `/finance/invoice/save`,
       method: 'post',
       data: inputForm
     })
   }
   delete (ids) {
     return request({
-      url: '/finance/invoice/delete',
+      url: prefix + '/finance/invoice/delete',
       method: 'delete',
       params: {ids: ids}
     })
   }
   updateStatusById (data) {
     return request({
-      url: '/finance/invoice/updateStatusById',
+      url: prefix + '/finance/invoice/updateStatusById',
       method: 'post',
       data: data
     })
   }
   isReceivables (data) {
     return request({
-      url: '/finance/invoice/isReceivables',
+      url: prefix + '/finance/invoice/isReceivables',
       method: 'post',
       data: data
     })
   }
   saveForm (inputForm) {
     return request({
-      url: `/finance/invoice/saveForm`,
+      url: prefix + `/finance/invoice/saveForm`,
       method: 'post',
       data: inputForm
     })
   }
   saveFormInvalid (inputForm) {
     return request({
-      url: `/finance/invoice/saveFormInvalid`,
+      url: prefix + `/finance/invoice/saveFormInvalid`,
       method: 'post',
       data: inputForm
     })
   }
   queryIdByInvalidId (id) {
     return request({
-      url: '/finance/invoice/queryIdByInvalidId',
+      url: prefix + '/finance/invoice/queryIdByInvalidId',
       method: 'get',
       params: {id: id}
     })
   }
   importDetail (data) {
     return request({
-      url: '/finance/invoice/importDetail',
+      url: prefix + '/finance/invoice/importDetail',
       method: 'post',
       data: data
     })
   }
   exportTemplate () {
     return request({
-      url: '/finance/invoice/importDetail/template',
+      url: prefix + '/finance/invoice/importDetail/template',
       method: 'get',
       responseType: 'blob'
     })
   }
   exportFile (params) {
     return request({
-      url: '/finance/invoice/export',
+      url: prefix + '/finance/invoice/export',
       method: 'get',
       params: params,
       responseType: 'blob'

+ 9 - 0
src/api/flowable/taskService.js

@@ -132,6 +132,7 @@ export default {
 			data: data,
 		});
 	},
+
 	getTaskDefInfo(params) {
 		return request({
 			url: prefix + "/flowable/task/getTaskDefInfo",
@@ -139,4 +140,12 @@ export default {
 			params: params,
 		});
 	},
+
+	getTaskNameByProcInsId(procInsId) {
+		return request({
+			url: prefix + "/flowable/task/getTaskNameByProcInsId",
+			method: "get",
+			params: {procInsId: procInsId}
+		});
+	}
 };

+ 47 - 0
src/api/pubmodules/ReimbursementApprovalTypeService.js

@@ -0,0 +1,47 @@
+import request from '@/utils/httpRequest'
+import { PUBLIC_MODULES_PATH as prefix } from "../AppPath";
+
+export default class ReimbursementApprovalTypeService {
+  list (param) {
+    return request({
+      url: prefix + '/reimbursementApproval/type/list',
+      method: 'get',
+      params: param
+    })
+  }
+  bxList (param) {
+    return request({
+      url: prefix + '/reimbursementApproval/type/bxList',
+      method: 'get',
+      params: param
+    })
+  }
+  cgList (param) {
+    return request({
+      url: prefix + '/reimbursementApproval/type/cgList',
+      method: 'get',
+      params: param
+    })
+  }
+  save (param) {
+    return request({
+      url: prefix + '/reimbursementApproval/type/save',
+      method: 'post',
+      data: param
+    })
+  }
+  findById (id) {
+    return request({
+      url: prefix + '/reimbursementApproval/type/findById',
+      method: 'get',
+      params: {id: id}
+    })
+  }
+  remove (id) {
+    return request({
+      url: prefix + '/reimbursementApproval/type/deleteById',
+      method: 'get',
+      params: {id: id}
+    })
+  }
+}

+ 4 - 3
src/api/sys/ProofreadInfoService.js

@@ -1,23 +1,24 @@
 import request from '@/utils/httpRequest'
+import { ASSESS_PATH as prefix } from "../AppPath";
 
 export default class ProofreadInfoService {
   save (param) {
     return request({
-      url: '/proofread/info/save',
+      url: prefix + '/proofread/info/save',
       method: 'post',
       data: param
     })
   }
   findById (id, type) {
     return request({
-      url: '/proofread/info/findById',
+      url: prefix + '/proofread/info/findById',
       method: 'get',
       params: {id: id, type: type}
     })
   }
   list (type) {
     return request({
-      url: '/proofread/info/list',
+      url: prefix + '/proofread/info/list',
       method: 'get',
       params: {type: type}
     })

+ 5 - 4
src/api/sys/ProofreadIssuedService.js

@@ -1,30 +1,31 @@
 import request from '@/utils/httpRequest'
+import { ASSESS_PATH as prefix } from "../AppPath";
 
 export default class ProofreadIssuedService {
   save (param) {
     return request({
-      url: '/proofread/issued/save',
+      url: prefix + '/proofread/issued/save',
       method: 'post',
       data: param
     })
   }
   findById (id) {
     return request({
-      url: '/proofread/issued/findById',
+      url: prefix + '/proofread/issued/findById',
       method: 'get',
       params: {id: id}
     })
   }
   findProjectInfoById (id) {
     return request({
-      url: '/proofread/issued/findProjectInfoById',
+      url: prefix + '/proofread/issued/findProjectInfoById',
       method: 'get',
       params: {id: id}
     })
   }
   updateStatus (param) {
     return request({
-      url: '/proofread/issued/updateStatusById',
+      url: prefix + '/proofread/issued/updateStatusById',
       method: 'post',
       data: param
     })

+ 5 - 4
src/api/sys/ProofreadTypeService.js

@@ -1,30 +1,31 @@
 import request from '@/utils/httpRequest'
+import { ASSESS_PATH as prefix } from "../AppPath";
 
 export default class ProofreadTypeService {
   list (param) {
     return request({
-      url: '/proofread/type/list',
+      url: prefix + '/proofread/type/list',
       method: 'get',
       params: param
     })
   }
   save (param) {
     return request({
-      url: '/proofread/type/save',
+      url: prefix + '/proofread/type/save',
       method: 'post',
       data: param
     })
   }
   findById (id) {
     return request({
-      url: '/proofread/type/findById',
+      url: prefix + '/proofread/type/findById',
       method: 'get',
       params: {id: id}
     })
   }
   remove (id) {
     return request({
-      url: '/proofread/type/deleteById',
+      url: prefix + '/proofread/type/deleteById',
       method: 'get',
       params: {id: id}
     })

+ 10 - 9
src/api/sys/ReimbursementService.js

@@ -1,58 +1,59 @@
 import request from '@/utils/httpRequest'
+import { ASSESS_PATH as prefix } from "../AppPath";
 
 export default class ReimbursementService {
   list (param) {
     return request({
-      url: '/reimbursement/info/list',
+      url: prefix + '/reimbursement/info/list',
       method: 'get',
       params: param
     })
   }
   save (param) {
     return request({
-      url: '/reimbursement/info/save',
+      url: prefix + '/reimbursement/info/save',
       method: 'post',
       data: param
     })
   }
   findById (id) {
     return request({
-      url: '/reimbursement/info/findById',
+      url: prefix + '/reimbursement/info/findById',
       method: 'get',
       params: {id: id}
     })
   }
   remove (id) {
     return request({
-      url: '/reimbursement/info/remove',
+      url: prefix + '/reimbursement/info/remove',
       method: 'get',
       params: {id: id}
     })
   }
   updateStatusById (param) {
     return request({
-      url: '/reimbursement/info/updateStatusById',
+      url: prefix + '/reimbursement/info/updateStatusById',
       method: 'post',
       data: param
     })
   }
   checkNumber (number) {
     return request({
-      url: '/reimbursement/info/checkNumber',
+      url: prefix + '/reimbursement/info/checkNumber',
       method: 'get',
       params: {number: number}
     })
   }
   userTree (name) {
     return request({
-      url: '/reimbursement/info/userTree',
+      url: prefix + '/reimbursement/info/userTree',
       method: 'get',
       params: {name: name}
     })
   }
   exportFile (params) {
     return request({
-      url: '/reimbursement/info/exportFile',
+      url: prefix + '/reimbursement/info/exportFile',
       method: 'get',
       params: params,
       responseType: 'blob'
@@ -60,7 +61,7 @@ export default class ReimbursementService {
   }
   queryByProIds (ids) {
     return request({
-      url: '/reimbursement/info/queryByProIds',
+      url: prefix + '/reimbursement/info/queryByProIds',
       method: 'get',
       params: {ids: ids}
     })

+ 5 - 4
src/api/sys/ReimbursementTypeService.js

@@ -1,30 +1,31 @@
 import request from '@/utils/httpRequest'
+import { ASSESS_PATH as prefix } from "../AppPath";
 
 export default class ReimbursementTypeService {
   list (param) {
     return request({
-      url: '/reimbursement/type/list',
+      url: prefix + '/reimbursement/type/list',
       method: 'get',
       params: param
     })
   }
   save (param) {
     return request({
-      url: '/reimbursement/type/save',
+      url: prefix + '/reimbursement/type/save',
       method: 'post',
       data: param
     })
   }
   findById (id) {
     return request({
-      url: '/reimbursement/type/findById',
+      url: prefix + '/reimbursement/type/findById',
       method: 'get',
       params: {id: id}
     })
   }
   remove (id) {
     return request({
-      url: '/reimbursement/type/deleteById',
+      url: prefix + '/reimbursement/type/deleteById',
       method: 'get',
       params: {id: id}
     })

+ 80 - 126
src/components/editor/WangEditorNoMenu.vue

@@ -1,132 +1,86 @@
 <template>
-  <div class="editor" style="min-width:700px; padding-right:10px">
-    <div ref="toolbar" class="toolbar">
-    </div>
-    <div ref="editor" class="wtext">
-    </div>
-  </div>
+	<div style="border: 1px solid #ccc;">
+		<Toolbar
+			style="border-bottom: 1px solid #ccc"
+			:editor="editor"
+			:defaultConfig="toolbarConfig"
+			:mode="mode"
+		/>
+		<Editor
+			style="height: 500px; overflow-y: hidden;"
+			v-model="html"
+			:defaultConfig="editorConfig"
+			:mode="mode"
+			@onCreated="onCreated"
+			@onChange="onChange"
+		/>
+	</div>
 </template>
 
 <script>
-// import E from '@wangeditor/editor'
-export default {
-  name: 'WangEditorNoMenu',
-  data () {
-    return {
-      editor: null,
-      info_: null
-    }
-  },
-  component: {
-  	// E
-  },
-  model: {
-    prop: 'value',
-    event: 'change'
-  },
-  props: {
-    isClear: {
-      type: Boolean,
-      default: false
-    }
-  },
-  watch: {
-    // isClear (val) {
-    //   // 触发清除文本域内容
-    //   if (val) {
-    //     this.editor.txt.clear()
-    //     this.info_ = null
-    //   }
-    // }
-  },
-  mounted () {
-    // this.seteditor()
-  },
-  methods: {
-    clear () {
-      // this.editor.txt.clear()
-    },
-    init (val) {
-      // 使用 v-model 时,设置初始值
-      // this.editor.txt.html(val)
-    },
-    seteditor () {
-      // this.editor = new E(this.$refs.toolbar, this.$refs.editor)
-      // this.editor.customConfig.uploadImgShowBase64 = true // base 64 存储图片
-      // this.editor.customConfig.uploadImgServer = ''// 配置服务器端地址
-      // this.editor.customConfig.uploadImgHeaders = { }// 自定义 header
-      // this.editor.customConfig.uploadFileName = '' // 后端接受上传文件的参数名
-      // this.editor.customConfig.uploadImgMaxSize = 2 * 1024 * 1024 // 将图片大小限制为 2M
-      // this.editor.customConfig.uploadImgMaxLength = 6 // 限制一次最多上传 3 张图片
-      // this.editor.customConfig.uploadImgTimeout = 3 * 60 * 1000 // 设置超时时间
-      // this.editor.customConfig.menus = [
-        // 'head', // 标题
-        // 'bold', // 粗体
-        // 'fontSize', // 字号
-        // 'fontName', // 字体
-        // 'italic', // 斜体
-        // 'underline', // 下划线
-        // 'strikeThrough', // 删除线
-        // 'foreColor', // 文字颜色
-        // 'backColor', // 背景颜色
-        // 'link', // 插入链接
-        // 'list', // 列表
-        // 'justify', // 对齐方式
-        // 'quote', // 引用
-        // 'emoticon', // 表情
-        // 'image', // 插入图片
-        // 'table', // 表格
-        // 'video', // 插入视频
-        // 'code', // 插入代码
-        // 'undo', // 撤销
-        // 'redo' // 重复
-      // ]
-      // this.editor.customConfig.uploadImgHooks = {
-      //   fail: (xhr, editor, result) => {
-      //     // 插入图片失败回调
-      //   },
-      //   success: (xhr, editor, result) => {
-      //     // 图片上传成功回调
-      //   },
-      //   timeout: (xhr, editor) => {
-      //     // 网络超时的回调
-      //   },
-      //   error: (xhr, editor) => {
-      //     // 图片上传错误的回调
-      //   },
-      //   customInsert: (insertImg, result, editor) => {
-      //     // 图片上传成功,插入图片的回调
-      //   }
-      // }
-      // this.editor.customConfig.onchange = (html) => {
-      //   this.info_ = html // 绑定当前逐渐地值
-      //   this.$emit('change', this.info_) // 将内容同步到父组件中
-      // }
-      // // 创建富文本编辑器
-      // this.editor.create()
-    },
-    disable () {
-      // 禁用编辑功能
-      // this.editor.$textElem.attr('contenteditable', false)
-    },
-    enable () {
-      // 开启编辑功能
-      // this.editor.$textElem.attr('contenteditable', true)
-    }
-  }
-}
+	import { Editor, Toolbar } from '@wangeditor/editor-for-vue'
+
+	export default {
+		components: { Editor, Toolbar },
+		data() {
+			return {
+				editor: null,
+				html: '',
+				toolbarConfig: {
+					toolbarKeys: []
+				},
+				editorConfig: {
+					placeholder: '请输入内容...'
+				},
+				mode: 'default', // or 'simple'
+			}
+		},
+		props: {
+			modelValue: {
+				type: String,
+				default: ""
+			}
+		},
+		watch: {
+			modelValue(val) {
+				this.init(val)
+			}
+		},
+		methods: {
+			init (val) {
+				if (this.commonJS.isNotEmpty(val)) {
+					this.html = val
+				} else {
+					this.html = ''
+				}
+			},
+			onCreated(editor) {
+				this.editor = Object.seal(editor) // 一定要用 Object.seal() ,否则会报错
+			},
+			onChange(editor) {
+				this.$emit('update:modelValue', editor.getHtml()) // 将内容同步到父组件中
+			},
+			disable () {
+				// 禁用编辑器,设置为只读
+				this.editor.disable()
+			},
+			enable () {
+				// 取消禁用,取消只读
+				this.editor.enable()
+			},
+			clear () {
+				// 清空编辑器内容
+				this.editor.clear()
+			}
+		},
+		mounted() {
+		},
+		beforeDestroy() {
+			const editor = this.editor
+			if (editor == null) return
+			editor.destroy() // 组件销毁时,及时销毁编辑器
+		}
+	}
 </script>
 
-<style lang="css">
-.editor {
-  width: 100%;
-  margin: 0 auto;
-}
-.toolbar {
-  border: 1px solid #ccc;
-}
-.wtext {
-  border: 1px solid #ccc;
-  height: 500px;
-}
-</style>
+<style src="@wangeditor/editor/dist/css/style.css"></style>

+ 115 - 96
src/components/userSelect/index.vue

@@ -1,102 +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">
-      <el-button slot="append" :disabled="disabled"  :readonly="readonly" @click="showUserSelect" icon="el-icon-search"></el-button>
-    </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
-  },
-  // userService: null,
-  beforeCreate () {
-    // this.userService = new UserService()
-  },
-  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()
-    }
-  }
-}
+	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.open(this.selectData);
+			},
+		},
+	};
 </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>
-
-

+ 1 - 1
src/layout/components/topbar.vue

@@ -6,7 +6,7 @@
 				separator-icon="arrow-right"
 				class="hidden-sm-and-down"
 			>
-				<transition-group name="breadcrumb" mode="out-in">
+				<transition-group name="breadcrumb">
 					<template v-for="item in breadList">
 						<el-breadcrumb-item
 							v-if="item.path != '/'"

+ 1 - 1
src/layout/components/topbar2.vue

@@ -6,7 +6,7 @@
 				separator-icon="fxy"
 				class="hidden-sm-and-down"
 			>
-				<transition-group name="breadcrumb" mode="out-in">
+				<transition-group name="breadcrumb">
 					<template v-for="item in breadList">
 						<el-breadcrumb-item
 							v-if="item.path != '/'"

+ 156 - 0
src/views/common/CwReimbursementTypePullForm.vue

@@ -0,0 +1,156 @@
+<template>
+  <div>
+    <el-dialog
+      title="报销类型选择"
+      :close-on-click-modal="false"
+	  draggable
+      width="1100px"
+      height="500px"
+      append-to-body
+      @close="close"
+      @keyup.enter.native=""
+      v-model="visible">
+      <div style="height: calc(100% - 80px);">
+        <el-form :inline="true" class="query-form" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
+          <!-- 搜索框-->
+          <el-form-item label="报销类型名称" prop="name">
+            <el-input v-model="searchForm.name" placeholder="请输入报销类型名称" clearable></el-input>
+          </el-form-item>
+
+          <el-form-item>
+            <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>
+        <vxe-table
+          border="inner"
+          auto-resize
+          resizable
+          height="500px"
+          :loading="loading"
+          size="small"
+          ref="typeTable"
+          show-header-overflow
+          show-overflow
+          highlight-hover-row
+          :menu-config="{}"
+          :sort-config="{remote:true}"
+          :data="dataList"
+          :tree-config="{transform: true, rowField: 'id', parentField: 'parentId',expandAll: true}"
+          :row-config="{isCurrent: true}"
+          :radio-config="{trigger: 'row'}">
+          <vxe-column type="seq" width="60" title="序号"></vxe-column>
+          <vxe-column type="radio" width="50" ></vxe-column>
+          <vxe-column title="报销内容名称" field="name" align="left" tree-node></vxe-column>
+          <vxe-column width="100" title="序号" field="sort"></vxe-column>
+        </vxe-table>
+      </div>
+		<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="getProgramForType" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
+
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  // import ReimbursementTypeService from '@/api/sys/ReimbursementTypeService'
+  import ReimbursementApprovalTypeService from '@/api/pubmodules/ReimbursementApprovalTypeService'
+  export default {
+    data () {
+      return {
+        searchForm: {
+          name: ''
+        },
+        dataList: [],
+        tablePage: {
+          total: 0,
+          currentPage: 1,
+          pageSize: 10,
+          orders: []
+        },
+        title: '',
+        method: '',
+        visible: false,
+        loading: false,
+        like: '',
+        officeId: ''
+      }
+    },
+    // reimbursementTypeService: null,
+    reimbursementApprovalTypeService: null,
+    created () {
+      // this.reimbursementTypeService = new ReimbursementTypeService()
+      this.reimbursementApprovalTypeService = new ReimbursementApprovalTypeService()
+    },
+    components: {
+    },
+    methods: {
+      init (like, deptName) {
+        if (like === '1') {
+          this.like = '1'
+        } else {
+          this.like = ''
+        }
+        this.officeId = deptName
+        this.visible = true
+        this.list()
+      },
+      // 表单提交
+      getProgramForType () {
+        let rows
+        if (this.commonJS.isEmpty(this.$refs.typeTable.getRadioRecord())) {
+          this.$message.error('请选择一条数据')
+          return
+        }
+        rows = this.$refs.typeTable.getRadioRecord()
+        this.dataList.forEach((item) => {
+          if (item.parentId === rows.id) {
+            this.$message.error('只可以选择最小节点的数据')
+            throw new Error('只可以选择最小节点的数据')
+          }
+        })
+        this.$emit('getProgramForType', rows)
+        this.close()
+      },
+      list () {
+        this.loading = true
+        this.searchForm.like = this.like
+        this.searchForm.officeId = this.officeId
+        this.reimbursementApprovalTypeService.bxList({...this.searchForm}).then((data) => {
+          this.dataList = data
+          this.loading = false
+          this.$nextTick(() => {
+            this.$refs.typeTable.setAllTreeExpand(true)
+          })
+        })
+        // this.reimbursementTypeService.list({...this.searchForm}).then(({data}) => {
+        //   this.dataList = data
+        //   this.loading = false
+        // })
+      },
+      // 当前页
+      currentChangeHandle ({currentPage, pageSize}) {
+        this.tablePage.currentPage = currentPage
+        this.tablePage.pageSize = pageSize
+        this.list()
+      },
+      resetSearch () {
+        this.$refs.searchForm.resetFields()
+        this.list()
+      },
+      close () {
+        this.detail = ''
+        this.visible = false
+      }
+    }
+  }
+</script>
+<style>
+  .messageZindex {
+    z-index:9999 !important;
+  }
+</style>

+ 1 - 1
src/views/common/RosterSelectDialog.vue

@@ -8,7 +8,7 @@
     :append-to-body="true"
 	draggable
      class="rosterDialog"
-    :visible.sync="visible">
+	v-model="visible">
     <el-container style="height: 500px">
       <el-aside width="200px">
 

+ 1 - 1
src/views/common/UpLoadComponentDialog.vue

@@ -10,7 +10,7 @@
       @close="close"
       append-to-body
       @keyup.enter.native=""
-      :visible.sync="visible">
+	  v-model="visible">
       <UpLoadComponentV2 ref="upLoadComponentV2"></UpLoadComponentV2>
     <span slot="footer" class="dialog-footer">
       <el-button size="small" @click="close()" icon="el-icon-circle-close">关闭</el-button>

+ 244 - 239
src/views/finance/invoice/InvoiceForm.vue

@@ -7,60 +7,62 @@
       width="1300px"
       @close="close"
       @keyup.enter.native="doSubmit"
-      :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 size="large" :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'" size="default" @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"
-            @cell-click=""
-            @edit-closed=""
-            highlight-current-row
-            :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
-          >
-            <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 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"
+					@cell-click=""
+					@edit-closed=""
+					highlight-current-row
+					:edit-config="{trigger: 'click', mode: 'row', 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 size="default" 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" size="large" 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" size="large" style="margin-right: 20px">
                 {{item.label}}</el-radio>
             </el-form-item>
           </el-col>
@@ -98,13 +100,13 @@
                  ]">
               <SelectUserTree
                 ref="companyTree"
-                size="medium"
+                size="large"
                 :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"
@@ -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="[
@@ -169,8 +171,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="[
@@ -213,7 +215,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"
@@ -268,7 +270,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" size="large" style="margin-right: 20px">
                 {{item.label}}</el-radio>
             </el-form-item>
           </el-col>
@@ -286,8 +288,6 @@
               <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="detailFlag!==true"
-                   label-width="160px" @submit.native.prevent>
             <el-col :span="12">
               <el-form-item label="开票时间" prop="billingDate"
                             :rules="[
@@ -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%"
                   placement="bottom-start"
@@ -310,7 +310,7 @@
                 <el-date-picker
                   v-model="inputForm.collectDate"
                   type="date"
-                  value-format="yyyy-MM-dd"
+                  value-format="YYYY-MM-DD"
                   placeholder="选择领票时间"
                   style="width:100%"
                   placement="bottom-start"
@@ -318,20 +318,19 @@
                 </el-date-picker>
               </el-form-item>
             </el-col>
-          </el-form>
           <el-col :span="12">
             <el-form-item label="实际开票人" prop="billingPeopleReal"
                           :rules="[
                  ]">
               <SelectUserTree
                 ref="companyTree"
-                size="medium"
+                size="large"
                 :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"
@@ -344,13 +343,13 @@
                  ]">
               <SelectUserTree
                 ref="companyTree"
-                size="medium"
+                size="large"
                 :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"
@@ -368,8 +367,9 @@
                       label: 'name',         // 显示名称
                       children: 'children'    // 子级字段名
                     }"
-                url="/sys/area/treeData"
+                url="/system-server/sys/area/treeData"
                 :value="inputForm.reconciliationArea"
+				size="large"
                 :clearable="true"
                 :accordion="true"
                 @getValue="(value) => {inputForm.reconciliationArea=value}"/>
@@ -386,7 +386,7 @@
         <el-form :disabled="detailFlag!==true">
           <el-divider content-position="left"><i class="el-icon-document"></i>
             发票明细
-            <el-button style="margin-left: 20px" type="primary" :disabled="detailFlag!==true" size="mini" @click="insertEvent('detail')" plain>
+            <el-button style="margin-left: 20px" type="primary" :disabled="detailFlag!==true" size="default" @click="insertEvent('detail')" plain>
               新增
             </el-button>
             <el-popover
@@ -396,7 +396,7 @@
               <p>请先下载模板,然后再进行导入操作</p>
               <el-row :gutter="1">
                 <el-col :span="6">
-                  <el-button :disabled="detailFlag!==true" type="success" size="small" @click="downloadTpl">下载模板</el-button>
+                  <el-button :disabled="detailFlag!==true" type="success" size="default" @click="downloadTpl">下载模板</el-button>
                 </el-col>
                 <el-col :span="6">
                   <el-upload
@@ -404,7 +404,7 @@
                     :auto-upload="false"
                     :on-change="beforeUploadDetail"
                     :show-file-list="false">
-                    <el-button :disabled="detailFlag!==true" size="small" type="primary">导入全部</el-button>
+                    <el-button :disabled="detailFlag!==true" size="default" type="primary">导入全部</el-button>
                   </el-upload>
                 </el-col>
                 <el-col :span="6">
@@ -413,177 +413,182 @@
                     :auto-upload="false"
                     :on-change="beforeUploadDetailCode"
                     :show-file-list="false">
-                    <el-button :disabled="detailFlag!==true" size="small" type="primary" >仅导入当前纳税人识别号</el-button>
+                    <el-button :disabled="detailFlag!==true" size="default" 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="detailFlag!==true" type="default" @click="importVisible = false" plain>取消</el-button>
-                <!--            <el-button type="primary" size="mini" @click="importVisible = false">确定</el-button>-->
+                <el-button size="default" :disabled="detailFlag!==true" type="default" @click="importVisible = false" plain>取消</el-button>
+                <!--            <el-button type="primary" size="default" @click="importVisible = false">确定</el-button>-->
               </div>
-              <el-button style="margin-left: 20px" slot="reference" :disabled="detailFlag!==true" type="warning" size="mini" plain>导入</el-button>
+              <el-button style="margin-left: 20px" slot="reference" :disabled="detailFlag!==true" type="warning" size="default" plain>导入</el-button>
             </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"
-              @cell-click=""
-              @edit-closed=""
-              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"
+					  @cell-click=""
+					  @edit-closed=""
+					  highlight-current-row
+					  :edit-config="{trigger: 'click', mode: 'row', showStatus: true, autoClear: true, icon: '#'}"
+				  >
+					  <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="default" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'detail')">删除</el-button>
+						  </template>
+					  </vxe-table-column>
+				  </vxe-table>
+			  </el-col>
           </el-row>
         </el-form>
+		  <el-form :disabled="!receivablesFlag">
         <el-divider content-position="left"><i class="el-icon-document"></i>
           收款明细
-          <el-button style="margin-left: 20px" :disabled="receivablesFlag!==true" type="primary" size="mini" @click="insertEvent('receivables')" plain>
+          <el-button style="margin-left: 20px"  type="primary" size="default" @click="insertEvent('receivables')" plain>
             新增
           </el-button>
         </el-divider>
-        <el-form size="middle" :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"
-            @cell-click=""
-            @edit-closed=""
-            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"
+					@cell-click=""
+					@edit-closed=""
+					highlight-current-row
+					:edit-config="{trigger: 'click', mode: 'row', showStatus: true, autoClear: true, icon: '#'}"
+				>
+					<vxe-table-column field="remittanceUnit" title="汇款单位" :edit-render="{}">
+						<template #edit="scope">
+							<el-input v-model="scope.row.remittanceUnit" placeholder="请填写汇款单位"/>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column field="remittanceAmount" title="汇款金额(元)" :edit-render="{}">
+						<template #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 #edit="scope">
+							<el-input v-model="scope.row.remittanceDate" type="date" transfer placeholder="请填写汇款时间"/>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column title="操作" width="100">
+						<template #default="scope">
+							<el-button size="default" 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>
       </el-form>
       <!--        附件-->
       <UpLoadComponent ref="uploadComponent"></UpLoadComponent>
-      <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="detailFlag===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 class="dialog-footer">
+			  <el-button size="default" @click="close()" icon="el-icon-circle-close">关闭</el-button>
+			  <el-button size="default" type="primary" v-if="detailFlag===true" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			  <el-button size="default" 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>
@@ -629,11 +634,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: '',
@@ -714,11 +719,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: '',
@@ -746,12 +751,12 @@
         this.$nextTick(() => {
           this.$refs.inputForm.resetFields()
           this.loading = true
-          this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+          this.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.findById(this.inputForm.billingWorkplaceRealId).then((data) => {
-                this.bankList = data.data.workClientBank
+                this.bankList = data.workClientBank
               })
             }
             if (this.commonJS.isEmpty(this.inputForm.financeInvoiceReceivablesDTOList) || this.inputForm.financeInvoiceReceivablesDTOList.length === 0) {
@@ -788,7 +793,7 @@
           }
           acc = (acc + parseFloat(parseFloat(item.account).toFixed(2)))
         })
-        if (acc !== this.inputForm.account) {
+		if (parseFloat(acc).toFixed(2) !== parseFloat(this.inputForm.account).toFixed(2)) {
           this.$message.warning('发票明细中 “开票金额”总和 与发票详情中 “发票金额” 不等')
           return
         }
@@ -807,7 +812,7 @@
             this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 为空')
             this.err = true
           }
-          await this.financeInvoiceService.queryByNumber(item.number, item.id).then(({data}) => {
+          await this.financeInvoiceService.queryByNumber(item.number, item.id).then((data) => {
             if (data === true) {
               this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 存在重复')
               this.err = data
@@ -870,7 +875,7 @@
               return
             }
             this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
-            this.financeInvoiceService.save(this.inputForm).then(({data}) => {
+            this.financeInvoiceService.save(this.inputForm).then((data) => {
               this.close()
               this.$message.success(data)
               this.$emit('refreshDataList')
@@ -1075,7 +1080,7 @@
               }
             }
           })
-          this.financeInvoiceService.queryByNumber(row.number, row.id).then(({data}) => {
+          this.financeInvoiceService.queryByNumber(row.number, row.id).then((data) => {
             if (data === true) {
               row.number = ''
               this.$message.warning('“发票号” 已存在,请重新输入')
@@ -1121,7 +1126,7 @@
         this.loading = true
         this.financeInvoiceService.exportTemplate().then((res) => {
           // 将二进制流文件写入excel表,以下为重要步骤
-          this.$utils.downloadExcel(res.data, '发票明细导入模板')
+          this.$utils.downloadExcel(res, '发票明细导入模板')
           this.loading = false
         }).catch(function (err) {
           this.loading = false
@@ -1145,12 +1150,12 @@
         formBody.append('file', file.raw)
         this.loading = true
         this.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('上传的文件中存在与页面重复的发票号,请重新填写后上传')
@@ -1160,7 +1165,7 @@
               }
             })
           }
-          await this.detailPush(result.data)
+          await this.detailPush(result)
           this.importVisible = false
           this.loading = false
         }).catch(() => {
@@ -1180,12 +1185,12 @@
         formBody.append('file', file.raw)
         this.loading = true
         this.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('上传的文件中存在与页面重复的发票号,请重新填写后上传')
@@ -1195,7 +1200,7 @@
               }
             })
           }
-          this.detailPushCode(result.data)
+          this.detailPushCode(result)
           this.importVisible = false
           this.loading = false
         }).catch(() => {

+ 279 - 273
src/views/finance/invoice/InvoiceFormTask.vue

@@ -1,59 +1,61 @@
 <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 size="large" :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'" size="default" @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"
-          @cell-click=""
-          @edit-closed=""
-          highlight-current-row
-          :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
-        >
-          <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 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"
+				  @cell-click=""
+				  @edit-closed=""
+				  highlight-current-row
+				  :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+			  >
+				  <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 size="default" 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">
@@ -62,7 +64,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" size="large" style="margin-right: 20px">
               {{item.label}}</el-radio>
           </el-form-item>
         </el-col>
@@ -78,7 +80,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" size="large" style="margin-right: 20px">
               {{item.label}}</el-radio>
           </el-form-item>
         </el-col>
@@ -91,13 +93,13 @@
                ]">
             <SelectUserTree
               ref="companyTree"
-              size="medium"
+              size="large"
               :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"
@@ -114,7 +116,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="[
@@ -162,8 +164,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="[
@@ -206,7 +208,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"
@@ -268,7 +270,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" size="large" style="margin-right: 20px">
               {{item.label}}
             </el-radio>
           </el-form-item>
@@ -287,40 +289,37 @@
             <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 :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 :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-col :span="12" >
+		  <el-form-item label="开票时间" prop="billingDate"
+						:rules="status === 'audit' ? [{required: true, message:'开票时间不能为空', trigger:'blur'}] : []">
+			  <el-date-picker
+				  :disabled="status !== 'audit'"
+				  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
+				  :disabled="status !== 'audit'"
+				  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-col :span="12">
           <el-form-item label="实际开票人" prop="billingPeopleReal"
                         :rules="[
@@ -329,13 +328,13 @@
                ]">
             <SelectUserTree
               ref="companyTree"
-              size="medium"
+              size="large"
               :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"
@@ -350,13 +349,13 @@
                ]">
             <SelectUserTree
               ref="companyTree"
-              size="medium"
+              size="large"
               :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"
@@ -376,9 +375,10 @@
                     label: 'name',         // 显示名称
                     children: 'children'    // 子级字段名
                   }"
-              url="/sys/area/treeData"
+              url="/system-server/sys/area/treeData"
               :value="inputForm.reconciliationArea"
               :clearable="true"
+			  size="large"
               :accordion="true"
               @getValue="(value) => {inputForm.reconciliationArea=value}"/>
           </el-form-item>
@@ -396,7 +396,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'" size="default" @click="insertEvent('detail')" plain>
             新增
           </el-button>
           <el-popover
@@ -406,7 +406,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'" type="success" size="default" @click="downloadTpl">下载模板</el-button>
               </el-col>
               <el-col :span="6">
                 <el-upload
@@ -414,7 +414,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'" size="default" type="primary">导入全部</el-button>
                 </el-upload>
               </el-col>
               <el-col :span="6">
@@ -423,172 +423,179 @@
                   :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'" size="default" 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 size="default" :disabled="status === 'audit'?false:true" type="default" @click="importVisible = false" plain>取消</el-button>
+              <!--            <el-button type="primary" size="default" @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'" type="warning" size="default" 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 size="large" :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"
-          @cell-click=""
-          @edit-closed=""
-          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"
+				  @cell-click=""
+				  @edit-closed=""
+				  highlight-current-row
+				  :edit-config="{trigger: 'click', mode: 'row', showStatus: false, autoClear: true}"
+			  >
+				  <vxe-table-column field="code" title="发票代码" :edit-render="{}">
+					  <template #edit="scope">
+						  <el-input v-model="scope.row.code" placeholder="请填写发票代码"/>
+					  </template>
+				  </vxe-table-column>
+				  <vxe-table-column field="number" title="发票号" :edit-render="{}">
+					  <template #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 #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 #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 #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 #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 #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 #default="scope">
+						  <el-button size="default" 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" size="default" @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"
-          @cell-click=""
-          @edit-closed=""
-          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"
-                >
-              </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"
+				  @cell-click=""
+				  @edit-closed=""
+				  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"
+						  >
+						  </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="default" 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">
@@ -663,11 +670,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: '',
@@ -767,11 +774,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: '',
@@ -803,13 +810,13 @@
         this.$nextTick(() => {
           this.$refs.inputForm.resetFields()
           this.loading = true
-          this.financeInvoiceService.queryById(this.inputForm.id).then(async ({data}) => {
+          this.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.workClientService.findById(this.inputForm.billingWorkplaceRealId).then((data) => {
-                this.bankList = data.data.workClientBank
+                this.bankList = data.workClientBank
               })
             }
             if (this.commonJS.isEmpty(this.inputForm.workAttachmentDtoList) || this.inputForm.workAttachmentDtoList.length === 0) {
@@ -831,13 +838,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.isMultiple) && this.status !== 'taskFormDetail') {
@@ -875,7 +882,7 @@
       startForm (callback) {
         this.loading = true
         if (this.commonJS.isNotEmpty(this.inputForm.id)) {
-          this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+          this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
             if (this.commonJS.isNotEmpty(data.status) && data.status !== '0' && data.status !== '1' && data.status !== '3') { // 审核状态不是“未发起”或“暂存”或“撤回”,就弹出提示
               this.loading = false
               this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -890,7 +897,7 @@
       },
       agreeForm (callback) {
         this.loading = true
-        this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+        this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
           if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
             this.loading = false
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -902,7 +909,7 @@
       },
       reapplyForm (callback) {
         this.loading = true
-        this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+        this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
           if (data.status !== '4') { // 审核状态不是“驳回”,就弹出提示
             this.loading = false
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -924,7 +931,7 @@
           this.loading = true
           this.inputForm.status = '1'
           this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
-          this.financeInvoiceService.saveForm(this.inputForm).then(({data}) => {
+          this.financeInvoiceService.saveForm(this.inputForm).then((data) => {
             callback(data.businessTable, data.businessId, this.inputForm)
             this.loading = false
           }).catch(() => {
@@ -998,7 +1005,7 @@
               this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 为空')
               this.err = true
             }
-            await this.financeInvoiceService.queryByNumber(item.number, item.id).then(({data}) => {
+            await this.financeInvoiceService.queryByNumber(item.number, item.id).then((data) => {
               if (data === true) {
                 this.loading = false
                 this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 存在重复')
@@ -1019,7 +1026,7 @@
             throw new Error('开票时间不可以为空')
           }
         }
-        this.$refs['inputForm'].validate((valid) => {
+        this.$refs['inputForm'].validate((valid, e) => {
           if (valid) {
             this.loading = true
             this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
@@ -1031,7 +1038,7 @@
                 throw new Error('需上传开票明细相关文件')
               }
             }
-            this.financeInvoiceService.saveForm(this.inputForm).then(({data}) => {
+            this.financeInvoiceService.saveForm(this.inputForm).then((data) => {
               this.inputForm.id = data.businessId
               callback(data.businessTable, data.businessId, this.inputForm)
               this.loading = false
@@ -1238,7 +1245,7 @@
               }
             }
           })
-          this.financeInvoiceService.queryByNumber(row.number, row.id).then(({data}) => {
+          this.financeInvoiceService.queryByNumber(row.number, row.id).then((data) => {
             if (data === true) {
               row.number = ''
               this.$message.warning('“发票号” 已存在,请重新输入')
@@ -1292,7 +1299,7 @@
           throw new Error()
         } else {
           if (type === 'reject' || type === 'reback') {
-            this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+            this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
               if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
                 this.loading = false
                 this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -1320,7 +1327,7 @@
               }
             })
           } else if (type === 'hold') {
-            this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+            this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
               if (data.status !== '4') { // status的值不等于“驳回”就弹出提示
                 this.loading = false
                 this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -1342,7 +1349,7 @@
         this.loading = true
         this.financeInvoiceService.exportTemplate().then((res) => {
           // 将二进制流文件写入excel表,以下为重要步骤
-          this.$utils.downloadExcel(res.data, '发票明细导入模板')
+          this.$utils.downloadExcel(res, '发票明细导入模板')
           this.loading = false
         }).catch(function (err) {
           this.loading = false
@@ -1366,12 +1373,12 @@
         formBody.append('file', file.raw)
         this.loading = true
         this.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('上传的文件中存在与页面重复的发票号,请重新填写后上传')
@@ -1381,7 +1388,7 @@
               }
             })
           }
-          await this.detailPush(result.data)
+          await this.detailPush(result)
           this.importVisible = false
           this.loading = false
         }).catch(() => {
@@ -1396,18 +1403,17 @@
         }
       },
       async beforeUploadDetailCode (file) {
-        console.log('110', this.inputForm.taxpayerIdentificationNo)
         await this.checkIdentificationNo()
         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)) {
+          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('上传的文件中存在与页面重复的发票号,请重新填写后上传')
@@ -1417,7 +1423,7 @@
               }
             })
           }
-          this.detailPushCode(result.data)
+          this.detailPushCode(result)
           this.importVisible = false
           this.loading = false
         }).catch(() => {

+ 232 - 225
src/views/finance/invoice/InvoiceFormTaskInvalid.vue

@@ -1,58 +1,61 @@
 <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 size="large" :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" size="default" @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"
-          @cell-click=""
-          @edit-closed=""
-          highlight-current-row
-          :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
-        >
-          <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 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"
+				  @cell-click=""
+				  @edit-closed=""
+				  highlight-current-row
+				  :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+			  >
+				  <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 size="default" 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">
@@ -61,7 +64,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" size="large" style="margin-right: 20px">
               {{item.label}}</el-radio>
           </el-form-item>
         </el-col>
@@ -77,7 +80,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" size="large" style="margin-right: 20px">
               {{item.label}}</el-radio>
           </el-form-item>
         </el-col>
@@ -90,13 +93,13 @@
                ]">
             <SelectUserTree
               ref="companyTree"
-              size="medium"
+              size="large"
               :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"
@@ -113,7 +116,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="[
@@ -161,8 +164,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="[
@@ -205,7 +208,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"
@@ -261,7 +264,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" size="large" style="margin-right: 20px">
               {{item.label}}
             </el-radio>
           </el-form-item>
@@ -280,8 +283,6 @@
             <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="[
@@ -289,7 +290,7 @@
               <el-date-picker
                 v-model="inputForm.billingDate"
                 type="date"
-                value-format="yyyy-MM-dd"
+                value-format="YYYY-MM-DD"
                 placeholder="选择开票时间"
                 style="width:100%"
                 placement="bottom-start"
@@ -304,7 +305,7 @@
               <el-date-picker
                 v-model="inputForm.collectDate"
                 type="date"
-                value-format="yyyy-MM-dd"
+                value-format="YYYY-MM-DD"
                 placeholder="选择领票时间"
                 style="width:100%"
                 placement="bottom-start"
@@ -312,20 +313,19 @@
               </el-date-picker>
             </el-form-item>
           </el-col>
-        </el-form>
         <el-col :span="12">
           <el-form-item label="实际开票人" prop="billingPeopleReal"
                         :rules="[
                ]">
             <SelectUserTree
               ref="companyTree"
-              size="medium"
+              size="large"
               :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"
@@ -338,13 +338,13 @@
                ]">
             <SelectUserTree
               ref="companyTree"
-              size="medium"
+              size="large"
               :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"
@@ -362,9 +362,10 @@
                     label: 'name',         // 显示名称
                     children: 'children'    // 子级字段名
                   }"
-              url="/sys/area/treeData"
+              url="/system-server/sys/area/treeData"
               :value="inputForm.reconciliationArea"
               :clearable="true"
+			  size="large"
               :accordion="true"
               @getValue="(value) => {inputForm.reconciliationArea=value}"/>
           </el-form-item>
@@ -379,163 +380,169 @@
       </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" size="default" @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 size="large" :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"
-          @cell-click=""
-          @edit-closed=""
-          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"
+				  @cell-click=""
+				  @edit-closed=""
+				  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="default" 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" size="default" @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"
-          @cell-click=""
-          @edit-closed=""
-          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"
+				  @cell-click=""
+				  @edit-closed=""
+				  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="default" 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 size="large" :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">
@@ -609,11 +616,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: '',
@@ -708,11 +715,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: '',
@@ -745,16 +752,16 @@
         this.$nextTick(async () => {
           this.$refs.inputForm.resetFields()
           this.loading = true
-          await this.financeInvoiceService.queryIdByInvalidId(id).then(({data}) => {
+          await this.financeInvoiceService.queryIdByInvalidId(id).then((data) => {
             this.inputForm.id = data.businessId
           })
-          this.financeInvoiceService.queryById(this.inputForm.id).then(async ({data}) => {
+          this.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.workClientService.findById(this.inputForm.billingWorkplaceRealId).then((data) => {
-                this.bankList = data.data.workClientBank
+                this.bankList = data.workClientBank
               })
             }
             if (this.commonJS.isEmpty(this.inputForm.workAttachmentDtoList) || this.inputForm.workAttachmentDtoList.length === 0) {
@@ -788,7 +795,7 @@
       startForm (callback) {
         this.loading = true
         if (this.commonJS.isNotEmpty(this.inputForm.id)) {
-          this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+          this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
             if (this.commonJS.isNotEmpty(data.status) && data.status !== '5' && data.status !== '7') { // 审核状态不是“发票申请审核完成”或“作废撤回”,就弹出提示
               this.loading = false
               this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -803,7 +810,7 @@
       },
       async agreeForm (callback) {
         this.loading = true
-        await this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+        await this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
           if (data.status !== '6') { // status的值不等于“审核中”,就弹出提示
             this.loading = false
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -815,7 +822,7 @@
       },
       reapplyForm (callback) {
         this.loading = true
-        this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+        this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
           if (data.status !== '8') { // 审核状态不是“驳回”,就弹出提示
             this.loading = false
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -837,7 +844,7 @@
           // this.inputForm.status = '1'
           this.loading = true
           this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
-          this.financeInvoiceService.saveFormInvalid(this.inputForm).then(({data}) => {
+          this.financeInvoiceService.saveFormInvalid(this.inputForm).then((data) => {
             callback(data.businessTable, data.businessId, this.inputForm)
             this.loading = false
           }).catch(() => {
@@ -903,7 +910,7 @@
               this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 为空')
               this.err = true
             }
-            await this.financeInvoiceService.queryByNumber(item.number, item.id).then(({data}) => {
+            await this.financeInvoiceService.queryByNumber(item.number, item.id).then((data) => {
               if (data === true) {
                 this.loading = false
                 this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 存在重复')
@@ -928,7 +935,7 @@
           if (valid) {
             this.loading = true
             this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
-            this.financeInvoiceService.saveFormInvalid(this.inputForm).then(({data}) => {
+            this.financeInvoiceService.saveFormInvalid(this.inputForm).then((data) => {
               callback(data.businessTable, data.businessId, this.inputForm)
               this.loading = false
             }).catch(() => {
@@ -1130,7 +1137,7 @@
               }
             }
           })
-          this.financeInvoiceService.queryByNumber(row.number, row.id).then(({data}) => {
+          this.financeInvoiceService.queryByNumber(row.number, row.id).then((data) => {
             if (data === true) {
               row.number = ''
               this.$message.warning('“发票号” 已存在,请重新输入')
@@ -1184,7 +1191,7 @@
           throw new Error()
         } else {
           if (type === 'reject' || type === 'reback') {
-            this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+            this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
               if (data.status !== '6') { // status的值不等于“审核中”,就弹出提示
                 this.loading = false
                 this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -1214,7 +1221,7 @@
               }
             })
           } else if (type === 'hold') {
-            this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+            this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
               if (data.status !== '8') { // status的值不等于“驳回”就弹出提示
                 this.loading = false
                 this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')

+ 90 - 91
src/views/finance/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" 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 v-if="showHideItem" 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"
@@ -42,11 +40,11 @@
             clearable>
           </el-input-number>
         </el-form-item>
-        <el-form-item v-if="showHideItem" prop="reconciliationPeopleName" label="对账人">
-          <UserSelect :limit='1' :userName="searchForm.reconciliationPeopleName" @getValue='(value, label) => {searchForm.reconciliationPeopleName = label}'></UserSelect>
+        <el-form-item v-if="showHideItem" prop="reconciliationPeople" label="对账人">
+          <UserSelect :limit='1' :modelValue="searchForm.reconciliationPeople" @update:modelValue='(value, label) => {searchForm.reconciliationPeople = value}'></UserSelect>
         </el-form-item>
         <el-form-item v-if="showHideItem" label="经办人" prop="operator">
-          <UserSelect :limit='1' :userName="searchForm.operator" @getValue='(value, label) => {searchForm.operator = label}'></UserSelect>
+          <UserSelect :limit='1' :modelValue="searchForm.operator" @update:modelValue='(value, label) => {searchForm.operator = value}'></UserSelect>
         </el-form-item>
         <el-form-item v-if="showHideItem" prop="operatorOffice" label="经办人部门">
           <SelectTree
@@ -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"
+			size="default"
             :accordion="true"
             @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,7 +113,8 @@
                     label: 'name',         // 显示名称
                     children: 'children'    // 子级字段名
                   }"
-            url="/sys/area/treeData"
+            url="/system-server/sys/area/treeData"
+			size="default"
             :value="searchForm.reconciliationArea"
             :clearable="true"
             :accordion="true"
@@ -123,11 +123,10 @@
 
         <el-form-item v-if="showHideItem" prop="billingDateList" label="开票日期">
           <el-date-picker
-            size="small"
             @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="开始日期"
@@ -138,10 +137,9 @@
         </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"
+            value-format="YYYY-MM-DD"
             range-separator="至"
             style="width: 100%  "
             start-placeholder="开始日期"
@@ -152,20 +150,20 @@
         </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="">
+    <div class="jp-table" style="">
       <vxe-toolbar :refresh="{query: refreshList}" export custom>
         <template #buttons>
-          <el-button v-if="hasPermission('finance:invoice:add')" type="primary" size="small" icon="el-icon-plus" @click="start()">新建</el-button>
+          <el-button v-if="hasPermission('finance:invoice:add')" type="primary" icon="el-icon-plus" @click="start()">新建</el-button>
 <!--          <el-button v-if="hasPermission('finance:invoice:del')" type="danger"   size="small" icon="el-icon-delete" @click="del()" :disabled="$refs.invoiceTable && $refs.invoiceTable.getCheckboxRecords().length === 0" plain>删除</el-button>-->
         </template>
       </vxe-toolbar>
-      <div style="height: calc(100% - 80px)">
+      <div class="jp-table-body">
         <vxe-table
           border="inner"
           auto-resize
@@ -191,14 +189,14 @@
           :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="50" ></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,54 +207,54 @@
           <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">
+            <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">
+            <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">
+            <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">
+            <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  type="text" @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">
-              <el-button v-if="hasPermission('finance:invoice:edit')&&scope.row.status === '1'||scope.row.status === '3'" type="text"  size="small" @click="invoicePush(scope.row)">修改</el-button>
-              <el-button v-if="hasPermission('finance:invoice:edit')&&scope.row.status === '2'" type="text"  size="small" @click="invoiceReback(scope.row)">撤回</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="hasPermission('finance:invoice:edit')&&scope.row.status === '4'" type="text"  size="small" @click="adjust(scope.row)">驳回调整</el-button>
+            <template  #default="scope">
+              <el-button v-if="hasPermission('finance:invoice:edit')&&scope.row.status === '1'||scope.row.status === '3'" text type="primary" @click="invoicePush(scope.row)">修改</el-button>
+              <el-button v-if="hasPermission('finance:invoice:edit')&&scope.row.status === '2'" text type="primary"  @click="invoiceReback(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="hasPermission('finance:invoice:edit')&&scope.row.status === '4'" text type="primary"  @click="adjust(scope.row)">驳回调整</el-button>
 
-              <el-button v-if="hasPermission('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('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('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('finance:invoice:edit:invalid')&&scope.row.status === '5'||scope.row.status === '7'" type="text"  size="small" @click="invoiceInvalidPush(scope.row)">作废</el-button>
-              <el-button v-if="hasPermission('finance:invoice:edit:invalid')&&scope.row.status === '6'" type="text"  size="small" @click="invoiceInvalidReBack(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="hasPermission('finance:invoice:edit:invalid')&&scope.row.status === '8'" type="text"  size="small" @click="adjustInvalid(scope.row)">驳回调整</el-button>
+              <el-button v-if="hasPermission('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('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('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('finance:invoice:edit:invalid')&&scope.row.status === '5'||scope.row.status === '7'" text type="primary"  @click="invoiceInvalidPush(scope.row)">作废</el-button>
+              <el-button v-if="hasPermission('finance:invoice:edit:invalid')&&scope.row.status === '6'" text type="primary"  @click="invoiceInvalidReBack(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="hasPermission('finance:invoice:edit:invalid')&&scope.row.status === '8'" text type="primary"  @click="adjustInvalid(scope.row)">驳回调整</el-button>
 
-              <el-button v-if="hasPermission('finance:invoice:edit')&&scope.row.status === '1'||scope.row.status === '3'" type="text"   size="small" @click="del(scope.row.id)">删除</el-button>
+              <el-button v-if="hasPermission('finance:invoice:edit')&&scope.row.status === '1'||scope.row.status === '3'" text type="primary"   @click="del(scope.row.id)">删除</el-button>
             </template>
           </vxe-column>
         </vxe-table>
@@ -283,9 +281,9 @@
   import ProgramForm from './ProgramForm'
   import InvoiceForm from './InvoiceForm'
   import pick from 'lodash.pick'
-  import TaskService from '@/api/flowable/TaskService'
-  import ProcessService from '@/api/flowable/ProcessService'
-  import UserService from '@/api/sys/UserService'
+  import taskService from '@/api/flowable/taskService'
+  import processService from '@/api/flowable/processService'
+  // import userService from '@/api/sys/userService'
   import UserSelect from '@/components/userSelect'
   import SelectUserTree from '@/views/utils/treeUserSelect'
   import SelectTree from '@/components/treeSelect/treeSelect.vue'
@@ -309,6 +307,7 @@
           programName: '',
           programId: '',
           reconciliationPeopleName: '',
+		  reconciliationPeople: '',
           operator: '',
           operatorOffice: ''
         },
@@ -327,19 +326,19 @@
       }
     },
     financeInvoiceService: null,
-    taskService: null,
-    processService: null,
-    userService: null,
+    // taskService: null,
+    // processService: null,
+    // userService: null,
     computed: {
       userName () {
-        return JSON.parse(localStorage.getItem('user')).name
+        return this.$store.state.user.name
       }
     },
     created () {
       this.financeInvoiceService = new FinanceInvoiceService()
-      this.taskService = new TaskService()
-      this.processService = new ProcessService()
-      this.userService = new UserService()
+      // this.taskService = new TaskService()
+      // this.processService = new ProcessService()
+      // this.userService = new UserService()
     },
     components: {
       InvoiceForm,
@@ -412,7 +411,7 @@
           'size': this.tablePage.pageSize,
           'orders': this.tablePage.orders,
           ...this.searchForm
-        }).then(({data}) => {
+        }).then((data) => {
           this.dataList = data.records
           this.dataList.forEach(item => {
             item.account = parseFloat(item.account).toFixed(2)
@@ -458,13 +457,13 @@
           this.tablePage.total = data.total
           this.loading = false
         })
-        this.processService.getByName('评估-发票申请').then(({data}) => {
+        processService.getByName('评估-发票申请').then((data) => {
           if (!this.commonJS.isEmpty(data.id)) {
             this.processDefinitionId = data.id
             this.procDefKey = data.key
           }
         })
-        this.processService.getByName('评估-发票作废').then(({data}) => {
+        processService.getByName('评估-发票作废').then((data) => {
           if (!this.commonJS.isEmpty(data.id)) {
             this.processDefinitionInvalidId = data.id
             this.procDefInvalidKey = data.key
@@ -496,7 +495,7 @@
           type: 'warning'
         }).then(() => {
           this.loading = true
-          this.financeInvoiceService.delete(ids).then(({data}) => {
+          this.financeInvoiceService.delete(ids).then((data) => {
             this.$message.success(data)
             this.refreshList()
             this.loading = false
@@ -527,18 +526,18 @@
         // 读取流程表单
         let tabTitle = `发起流程【评估-发票申请】`
         let processTitle = `${this.userName} 在 ${this.moment(new Date()).format('YYYY-MM-DD HH:mm')} 发起了 [评估-发票申请]`
-        this.taskService.getTaskDef({ procDefId: this.processDefinitionId,
+        taskService.getTaskDef({ procDefId: this.processDefinitionId,
           status: 'startAndHold'}).then((data) => {
             this.$router.push({
               path: '/flowable/task/TaskForm',
               query: {
-                ...pick(data.data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title'),
+                ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title'),
                 procDefId: this.processDefinitionId,
                 procDefKey: this.procDefKey,
                 status: 'startAndHold',
                 title: tabTitle,
-                formType: data.data.formType,
-                formUrl: data.data.formUrl,
+                formType: data.formType,
+                formUrl: data.formUrl,
                 formTitle: processTitle,
                 businessId: 'false',
                 isShow: false,
@@ -558,18 +557,18 @@
         } else if (row.status === '4') {
           status = 'reapplyFlag'
         }
-        this.taskService.getTaskDef({ procDefId: this.processDefinitionId,
+        taskService.getTaskDef({ procDefId: this.processDefinitionId,
           businessId: row.id,
           businessTable: 'finance_invoice'}).then((data) => {
             this.$router.push({
               path: '/flowable/task/TaskForm',
               query: {
-                ...pick(data.data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title'),
+                ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title'),
                 procDefId: this.processDefinitionId,
                 procDefKey: this.procDefKey,
                 title: title,
-                formType: data.data.formType,
-                formUrl: data.data.formUrl,
+                formType: data.formType,
+                formUrl: data.formUrl,
                 formTitle: processTitle,
                 businessTable: 'finance_invoice',
                 businessId: row.id,
@@ -591,18 +590,18 @@
         } else if (row.status === '8') {
           status = 'reapplyFlag'
         }
-        this.taskService.getTaskDef({ procDefId: this.processDefinitionInvalidId,
+        taskService.getTaskDef({ procDefId: this.processDefinitionInvalidId,
           businessId: row.financeInvoiceInvalidDTO.id,
           businessTable: 'finance_invoice_invalid'}).then((data) => {
             this.$router.push({
               path: '/flowable/task/TaskForm',
               query: {
-                ...pick(data.data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title'),
+                ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title'),
                 procDefId: this.processDefinitionInvalidId,
                 procDefKey: this.procDefInvalidKey,
                 title: title,
-                formType: data.data.formType,
-                formUrl: data.data.formUrl,
+                formType: data.formType,
+                formUrl: data.formUrl,
                 formTitle: processTitle,
                 businessTable: 'finance_invoice_invalid',
                 businessId: row.financeInvoiceInvalidDTO.id,
@@ -619,10 +618,10 @@
           if (row.status === '6' || row.status === '7' || row.status === '8' || row.status === '9') {
             this.invoiceInvalidDetail(row)
           } else {
-            this.taskService.getTaskDef({
+            taskService.getTaskDef({
               procInsId: row.procInsId,
               procDefId: this.processDefinitionId
-            }).then(({data}) => {
+            }).then((data) => {
               this.$router.push({
                 path: '/flowable/task/TaskFormDetail',
                 query: {
@@ -641,10 +640,10 @@
       },
       // 查看发票作废审批流程结果
       invoiceInvalidDetail (row) {
-        this.taskService.getTaskDef({
+        taskService.getTaskDef({
           procInsId: row.financeInvoiceInvalidDTO.procInsId,
           procDefId: this.processDefinitionInvalidId
-        }).then(({data}) => {
+        }).then((data) => {
           this.$router.push({
             path: '/flowable/task/TaskFormDetail',
             query: {
@@ -666,12 +665,12 @@
           cancelButtonText: '取消',
           type: 'warning'
         }).then(async () => {
-          await this.financeInvoiceService.queryById(row.id).then(({data}) => {
+          await this.financeInvoiceService.queryById(row.id).then((data) => {
             if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
               this.$message.error('数据已发生改变或不存在,请刷新数据')
               this.refreshList()
             } else {
-              this.processService.revokeProcIns(row.procInsId).then(async ({data}) => {
+              processService.revokeProcIns(row.procInsId).then(async (data) => {
                 let form = {status: '3', id: row.id}
                 await this.financeInvoiceService.updateStatusById(form)
                 this.$message.success(data)
@@ -687,12 +686,12 @@
           cancelButtonText: '取消',
           type: 'warning'
         }).then(async () => {
-          await this.financeInvoiceService.queryById(row.id).then(({data}) => {
+          await this.financeInvoiceService.queryById(row.id).then((data) => {
             if (data.status !== '6') { // status的值不等于“审核中”,就弹出提示
               this.$message.error('数据已发生改变或不存在,请刷新数据')
               this.refreshList()
             } else {
-              this.processService.revokeProcIns(row.financeInvoiceInvalidDTO.procInsId).then(async ({data}) => {
+              processService.revokeProcIns(row.financeInvoiceInvalidDTO.procInsId).then(async (data) => {
                 let form = {status: '5', id: row.id}
                 await this.financeInvoiceService.updateStatusById(form)
                 this.$message.success(data)
@@ -709,7 +708,7 @@
           type: 'warning'
         }).then(() => {
           let param = {id: row.id, receivablesStatus: '1'}
-          this.financeInvoiceService.isReceivables(param).then(({data}) => {
+          this.financeInvoiceService.isReceivables(param).then((data) => {
             this.$message.success(data)
             this.refreshList()
           })
@@ -751,7 +750,7 @@
         }
         return this.financeInvoiceService.exportFile(params).then((res) => {
           // 将二进制流文件写入excel表,以下为重要步骤
-          this.$utils.downloadExcel(res.data, options.filename)
+          this.$utils.downloadExcel(res, options.filename)
         }).catch(function (err) {
           if (err.response) {
             console.log(err.response)
@@ -765,7 +764,7 @@
           type: 'warning'
         }).then(() => {
           let param = {id: row.id, receivablesStatus: '0'}
-          this.financeInvoiceService.isReceivables(param).then(({data}) => {
+          this.financeInvoiceService.isReceivables(param).then((data) => {
             this.$message.success(data)
             this.refreshList()
           })
@@ -773,7 +772,7 @@
       },
       // 驳回后调整
       adjust (row) {
-        this.financeInvoiceService.queryById(row.id).then(({data}) => {
+        this.financeInvoiceService.queryById(row.id).then((data) => {
           if (data.status !== '4') { // status的值不等于“驳回”,就弹出提示
             this.$message.error('数据已发生改变或不存在,请刷新数据')
             this.refreshList()
@@ -784,7 +783,7 @@
       },
       // 审核
       examine (row) {
-        this.financeInvoiceService.queryById(row.id).then(({data}) => {
+        this.financeInvoiceService.queryById(row.id).then((data) => {
           if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
             this.$message.error('数据已发生改变或不存在,请刷新数据')
             this.refreshList()
@@ -796,9 +795,9 @@
       // 审核或重新调整跳转
       todo (row) {
         let cUser = false
-        this.taskService.getTaskDefInfo({
+        taskService.getTaskDefInfo({
           taskId: row.taskId
-        }).then(({data}) => {
+        }).then((data) => {
           this.$router.push({
             path: '/flowable/task/TaskForm',
             query: {
@@ -827,7 +826,7 @@
       },
       // 驳回后调整
       adjustInvalid (row) {
-        this.financeInvoiceService.queryById(row.id).then(({data}) => {
+        this.financeInvoiceService.queryById(row.id).then((data) => {
           if (data.status !== '8') { // status的值不等于“驳回”,就弹出提示
             this.$message.error('数据已发生改变或不存在,请刷新数据')
             this.refreshList()
@@ -838,7 +837,7 @@
       },
       // 审核
       examineInvalid (row) {
-        this.financeInvoiceService.queryById(row.id).then(({data}) => {
+        this.financeInvoiceService.queryById(row.id).then((data) => {
           if (data.status !== '6') { // status的值不等于“审核中”,就弹出提示
             this.$message.error('数据已发生改变或不存在,请刷新数据')
             this.refreshList()
@@ -850,9 +849,9 @@
       // 审核或重新调整跳转
       todoInvalid (row) {
         let cUser = false
-        this.taskService.getTaskDefInfo({
+        taskService.getTaskDefInfo({
           taskId: row.taskIdInvalid
-        }).then(({data}) => {
+        }).then((data) => {
           this.$router.push({
             path: '/flowable/task/TaskForm',
             query: {

+ 10 - 8
src/views/finance/invoice/KnowledgeShareTypePageForm.vue

@@ -9,12 +9,12 @@
       @close="close"
       @keyup.enter.native=""
       :append-to-body="true"
-      :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="refreshList()" @submit.native.prevent>
+        <el-form :inline="true" class="query-form" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
           <!-- 搜索框-->
           <el-form-item label="分享类型" prop="klgsType">
-            <el-input size="small" v-model="searchForm.klgsType" placeholder="请输入分享类型" clearable></el-input>
+            <el-input v-model="searchForm.klgsType" placeholder="请输入分享类型" clearable></el-input>
           </el-form-item>
 
           <el-form-item>
@@ -61,11 +61,13 @@
           @page-change="currentChangeHandle">
         </vxe-pager>
       </div>
+		<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="getProgram()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
 
-      <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>
     </el-dialog>
   </div>
 </template>
@@ -125,7 +127,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

+ 62 - 57
src/views/finance/invoice/ProgramForm.vue

@@ -7,42 +7,44 @@
       width="1300px"
       @close="close"
       @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)" >{{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"
+					@cell-click=""
+					@edit-closed=""
+					highlight-current-row
+					:edit-config="{trigger: 'click', mode: 'row', showStatus: false, autoClear: true}"
+				>
+					<vxe-table-column field="programName" align="center" title="项目名称">
+						<template #default="scope">
+							<el-link type="primary" :underline="false" @click="openProjectForm(scope.row)" >{{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="">
@@ -50,11 +52,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 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>
@@ -102,11 +107,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: '',
@@ -170,11 +175,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: '',
@@ -199,12 +204,12 @@
         this.$nextTick(() => {
           this.$refs.inputForm.resetFields()
           this.loading = true
-          this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
+          this.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.findById(this.inputForm.billingWorkplaceRealId).then((data) => {
-                this.bankList = data.data.workClientBank
+                this.bankList = data.workClientBank
               })
             }
             if (this.commonJS.isEmpty(this.inputForm.financeInvoiceReceivablesDTOList) || this.inputForm.financeInvoiceReceivablesDTOList.length === 0) {
@@ -268,7 +273,7 @@
             this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 为空')
             this.err = true
           }
-          await this.financeInvoiceService.queryByNumber(item.number, item.id).then(({data}) => {
+          await this.financeInvoiceService.queryByNumber(item.number, item.id).then((data) => {
             if (data === true) {
               this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 存在重复')
               this.err = data
@@ -303,7 +308,7 @@
               return
             }
             this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
-            this.financeInvoiceService.save(this.inputForm).then(({data}) => {
+            this.financeInvoiceService.save(this.inputForm).then((data) => {
               this.close()
               this.$message.success(data)
               this.$emit('refreshDataList')
@@ -503,7 +508,7 @@
               }
             }
           })
-          this.financeInvoiceService.queryByNumber(row.number, row.id).then(({data}) => {
+          this.financeInvoiceService.queryByNumber(row.number, row.id).then((data) => {
             if (data === true) {
               row.number = ''
               this.$message.warning('“发票号” 已存在,请重新输入')
@@ -549,7 +554,7 @@
         this.loading = true
         this.financeInvoiceService.exportTemplate().then((res) => {
           // 将二进制流文件写入excel表,以下为重要步骤
-          this.$utils.downloadExcel(res.data, '发票明细导入模板')
+          this.$utils.downloadExcel(res, '发票明细导入模板')
           this.loading = false
         }).catch(function (err) {
           this.loading = false
@@ -573,12 +578,12 @@
         formBody.append('file', file.raw)
         this.loading = true
         this.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('上传的文件中存在与页面重复的发票号,请重新填写后上传')
@@ -588,7 +593,7 @@
               }
             })
           }
-          await this.detailPush(result.data)
+          await this.detailPush(result)
           this.importVisible = false
           this.loading = false
         }).catch(() => {
@@ -609,12 +614,12 @@
         formBody.append('file', file.raw)
         this.loading = true
         this.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('上传的文件中存在与页面重复的发票号,请重新填写后上传')
@@ -624,7 +629,7 @@
               }
             })
           }
-          this.detailPushCode(result.data)
+          this.detailPushCode(result)
           this.importVisible = false
           this.loading = false
         }).catch(() => {

+ 57 - 50
src/views/finance/invoice/ProgramPageForm.vue

@@ -8,26 +8,26 @@
       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" size="large" style="margin-right: 20px">项目</el-radio>
+            <el-radio v-model="checkType" label="2" size="large" 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>
@@ -49,7 +49,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="50px"></vxe-column>
 
               <vxe-column min-width="300px" title="项目名称" field="name" align="center"></vxe-column>
               <vxe-column min-width="110px" title="项目编号" field="no" align="center"></vxe-column>
@@ -95,10 +95,13 @@
           </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>
@@ -203,42 +206,44 @@
         this.$emit('getProgram', rows)
       },
       list () {
-        this.loading = true
-        this.searchForm.showInvoiceFlag = '1'  // showInvoiceFlag = '1'时,查询关联发票的开票状态。showInvoiceFlag为其他值或者为空时,不查询
-        this.programProjectListInfoService.list({
-          'current': this.tablePage.currentPage,
-          'size': this.tablePage.pageSize,
-          'orders': this.tablePage.orders,
-          ...this.searchForm
-        }).then(async ({data}) => {
-          this.dataList = data.records
-          this.tablePage.total = data.total
-          this.loading = false
-          // 在切换页后,将页面不需要勾选的数据取消勾选
-          let isCheck = []
-          for (let i = 0; i < this.tablePage.pageSize; i++) {
-            for (let j = 0; j < this.dataListAllSelections.length; j++) {
-              if (this.commonJS.isNotEmpty(this.dataList[i]) && this.commonJS.isNotEmpty(this.dataListAllSelections[j])) {
-                if (this.dataList[i].id === this.dataListAllSelections[j].id) { // 符合条件的数据勾选
-                  isCheck.push(this.dataList[i].id)
-                }
-              }
-            }
-          }
-          if (this.commonJS.isNotEmpty(isCheck)) {
-            for (let i = 0; i < this.tablePage.pageSize; i++) {
-              if (isCheck.includes(this.dataList[i].id)) {
-                await this.$refs.programTable.setCheckboxRow([this.dataList[i]], true)
-              } else {
-                await this.$refs.programTable.setCheckboxRow([this.dataList[i]], false)
-              }
-            }
-          } else {
-            for (let i = 0; i < this.tablePage.pageSize; i++) {
-              await this.$refs.programTable.setCheckboxRow([this.dataList[i]], false)
-            }
-          }
-        })
+		  if (this.checkType === '1') {
+			  this.loading = true
+			  this.searchForm.showInvoiceFlag = '1'  // showInvoiceFlag = '1'时,查询关联发票的开票状态。showInvoiceFlag为其他值或者为空时,不查询
+			  this.programProjectListInfoService.list({
+				  'current': this.tablePage.currentPage,
+				  'size': this.tablePage.pageSize,
+				  'orders': this.tablePage.orders,
+				  ...this.searchForm
+			  }).then(async (data) => {
+				  this.dataList = data.records
+				  this.tablePage.total = data.total
+				  this.loading = false
+				  // 在切换页后,将页面不需要勾选的数据取消勾选
+				  let isCheck = []
+				  for (let i = 0; i < this.tablePage.pageSize; i++) {
+					  for (let j = 0; j < this.dataListAllSelections.length; j++) {
+						  if (this.commonJS.isNotEmpty(this.dataList[i]) && this.commonJS.isNotEmpty(this.dataListAllSelections[j])) {
+							  if (this.dataList[i].id === this.dataListAllSelections[j].id) { // 符合条件的数据勾选
+								  isCheck.push(this.dataList[i].id)
+							  }
+						  }
+					  }
+				  }
+				  if (this.commonJS.isNotEmpty(isCheck)) {
+					  for (let i = 0; i < this.tablePage.pageSize; i++) {
+						  if (isCheck.includes(this.dataList[i].id)) {
+							  await this.$refs.programTable.setCheckboxRow([this.dataList[i]], true)
+						  } else {
+							  await this.$refs.programTable.setCheckboxRow([this.dataList[i]], false)
+						  }
+					  }
+				  } else {
+					  for (let i = 0; i < this.tablePage.pageSize; i++) {
+						  await this.$refs.programTable.setCheckboxRow([this.dataList[i]], false)
+					  }
+				  }
+			  })
+		  }
       },
       // 当前页
       currentChangeHandle ({currentPage, pageSize}) {
@@ -258,7 +263,9 @@
         this.list()
       },
       close () {
-        this.$refs.programTable.clearCheckboxReserve()
+      	if (this.$refs.programTable) {
+			this.$refs.programTable.clearCheckboxReserve()
+		}
         this.dataListAllSelections = []
         this.detail = ''
         this.visible = false

+ 14 - 11
src/views/finance/invoice/ReimbursementTypePullForm.vue

@@ -8,17 +8,17 @@
       height="500px"
       @close="close"
       @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="refreshList()" @submit.native.prevent>
+        <el-form :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>
-            <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>
         <vxe-table
@@ -38,15 +38,18 @@
           :tree-config="{transform: true, rowField: 'id', parentField: 'parentId'}"
           :checkbox-config="{}">
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
-          <vxe-column type="checkbox" width="40" ></vxe-column>
+          <vxe-column type="checkbox" width="50" ></vxe-column>
           <vxe-column title="报销内容名称" field="name" align="left" tree-node></vxe-column>
           <vxe-column width="100" title="序号" field="sort"></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="getProgramForType" 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="getProgramForType" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
+
     </el-dialog>
   </div>
 </template>
@@ -100,7 +103,7 @@
       },
       list () {
         this.loading = true
-        this.reimbursementTypeService.list({...this.searchForm}).then(({data}) => {
+        this.reimbursementTypeService.list({...this.searchForm}).then((data) => {
           this.dataList = data
           this.loading = false
         })

+ 14 - 11
src/views/finance/invoice/UserPullForm.vue

@@ -9,17 +9,17 @@
       @close="close"
       @keyup.enter.native=""
       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" @keyup.enter.native="refreshList()" @submit.native.prevent>
+        <el-form :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>
-            <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>
         <vxe-table
@@ -41,15 +41,18 @@
           :tree-config="{transform: true, rowField: 'id', parentField: 'parentId',expandAll: true}"
           :checkbox-config="{}">
 <!--          <vxe-column type="seq" width="60" title="序号"></vxe-column>-->
-          <vxe-column type="radio" width="40" ></vxe-column>
+          <vxe-column type="radio" width="50" ></vxe-column>
 
           <vxe-column title="姓名" min-width="180" field="name" align="left" tree-node></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="getProgramForUser()" 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="getProgramForUser()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
+
     </el-dialog>
   </div>
 </template>
@@ -103,7 +106,7 @@
       },
       list () {
         this.loading = true
-        this.reimbursementService.userTree(this.searchForm.name).then(({data}) => {
+        this.reimbursementService.userTree(this.searchForm.name).then((data) => {
           this.dataList = data
           this.loading = false
           this.$nextTick(() => {

+ 1 - 1
src/views/flowable/components/FlowTimeLine.vue

@@ -34,7 +34,7 @@
 							<div class="item">
 								<span class="label">办理状态 : </span>
 								<span class="value">
-									<el-tag :type="act.comment.level"
+									<el-tag :type="act.comment.level === 'primary' ? '' : act.comment.level"
 										>{{ act.comment.status }}
 									</el-tag>
 								</span>

+ 1 - 1
src/views/flowable/process/ModelList.vue

@@ -89,7 +89,7 @@
 					:checkbox-config="{}"
 				>
 					<vxe-column type="seq" width="40"></vxe-column>
-					<vxe-column type="checkbox" width="40px"></vxe-column>
+					<vxe-column type="checkbox" width="50px"></vxe-column>
 					<vxe-column title="流程名称" field="name" sortable>
 					</vxe-column>
 					<vxe-column title="流程KEY" field="key" sortable>

+ 0 - 2
src/views/flowable/task/TaskForm.vue

@@ -709,7 +709,6 @@ export default {
 						vars = {...vars, agree: false}
 						// await this.commit(vars) // 驳回
 						this.$refs.form.updateStatusById('reject', () => {
-							console.log('333')
 							taskService.audit({
 								taskId: this.taskId,
 								taskDefKey: this.taskDefKey,
@@ -935,7 +934,6 @@ export default {
 		close () {
 			this.changeBusiness()
 			useTabs.close()
-			console.log(this.$route.query)
 			if (!this.commonJS.isEmpty(this.$route.query.routePath)) {
 				this.$router.push({path: this.$route.query.routePath})
 			} else {

+ 5 - 5
src/views/form/GenerateList.vue

@@ -48,9 +48,9 @@
         v-else-if="option.type === 'rate'"
         v-model="params[`${option.model}`]"
       ></el-rate> -->
-				<!-- <el-color-picker 
+				<!-- <el-color-picker
         v-else-if="option.type === 'color'"
-        
+
         v-model="params[`${option.model}`]"
       ></el-color-picker> -->
 
@@ -67,9 +67,9 @@
         v-model="params[`${option.model}`]"
       >
       </el-switch> -->
-				<!-- <el-slider 
+				<!-- <el-slider
           v-else-if="option.type === 'slider'"
-          
+
           v-model="params[`${option.model}`]"
         ></el-slider> -->
 				<el-time-picker
@@ -203,7 +203,7 @@
 					:checkbox-config="{}"
 				>
 					<vxe-column type="seq" width="40"></vxe-column>
-					<vxe-column type="checkbox" width="40px"></vxe-column>
+					<vxe-column type="checkbox" width="50px"></vxe-column>
 					<vxe-column
 						v-for="(option, index) in dataBindFields.filter(
 							(item) => {

+ 1 - 1
src/views/form/MakeFormList.vue

@@ -114,7 +114,7 @@
 					:checkbox-config="{}"
 				>
 					<vxe-column type="seq" width="40"></vxe-column>
-					<vxe-column type="checkbox" width="40px"></vxe-column>
+					<vxe-column type="checkbox" width="50px"></vxe-column>
 					<vxe-column title="表单名称" field="name" sortable>
 						<template #default="scope">
 							<el-link

+ 12 - 9
src/views/program/configuration/fileDict/FileDictForm.vue

@@ -7,8 +7,8 @@
       width="500px"
       @close="close"
       @keyup.enter.native="doSubmit"
-      :visible.sync="visible">
-      <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'||method==='viewChild'?'readonly':''"  :disabled="method==='view'||method==='viewChild'"
+	  v-model="visible">
+      <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'||method==='viewChild'?'readonly':''"  :disabled="method==='view'||method==='viewChild'"
                label-width="120px" @submit.native.prevent>
         <el-row  :gutter="15">
           <el-col v-if="method === 'addChild'||method === 'editChild'||method === 'viewChild'" :span="21">
@@ -75,10 +75,13 @@
           </el-col>
         </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'&&method != 'viewChild'" @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="method != 'view'&&method != 'viewChild'" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
+
     </el-dialog>
   </div>
 </template>
@@ -145,7 +148,7 @@
           this.$refs.inputForm.resetFields()
           if (method === 'edit' || method === 'view' || method === 'editChild' || method === 'viewChild') { // 修改或者查看
             this.loading = true
-            this.programFileDictService.queryById(this.inputForm.id).then(({data}) => {
+            this.programFileDictService.queryById(this.inputForm.id).then((data) => {
               this.inputForm = this.recover(this.inputForm, data)
               this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
               this.inputForm.type = this.inputForm.type.split(',')
@@ -167,7 +170,7 @@
             } else {
               this.inputForm.type = ''
             }
-            this.programFileDictService.save(this.inputForm).then(({data}) => {
+            this.programFileDictService.save(this.inputForm).then((data) => {
               this.close()
               this.$message.success(data)
               this.$emit('refreshDataList')
@@ -185,7 +188,7 @@
         this.visible = false
       },
       getAllFileType () {
-        this.programFileDictService.getAllFileType().then(({data}) => {
+        this.programFileDictService.getAllFileType().then((data) => {
           this.fileTypes = data
         })
       },

+ 16 - 16
src/views/program/configuration/fileDict/FileDictList.vue

@@ -1,23 +1,23 @@
 <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" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
       <!-- 搜索框-->
       <el-form-item 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>
-        <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="bg-white top" style="">
+    <div class="jp-table">
       <vxe-toolbar :refresh="{query: refreshList}" custom>
         <template #buttons>
-          <el-button v-if="hasPermission('program:configuration:file:add')" type="primary" size="small" icon="el-icon-plus" @click="add()">新建</el-button>
-          <el-button v-if="hasPermission('program:configuration:file:del')" type="danger"   size="small" icon="el-icon-delete" @click="del()" :disabled="$refs.fileDictTable && $refs.fileDictTable.getCheckboxRecords().length === 0" plain>删除</el-button>
+          <el-button v-if="hasPermission('program:configuration:file:add')" type="primary" icon="el-icon-plus" @click="add()">新建</el-button>
+          <el-button v-if="hasPermission('program:configuration:file:del')" type="danger" icon="el-icon-delete" @click="del()" :disabled="$refs.fileDictTable && $refs.fileDictTable.getCheckboxRecords().length === 0" plain>删除</el-button>
         </template>
       </vxe-toolbar>
-      <div style="height: calc(100% - 50px)">
+      <div class="jp-table-body">
         <vxe-table
           :key="tableKey"
           border="inner"
@@ -37,17 +37,17 @@
           :tree-config="{transform: true, rowField: 'id', parentField: 'parentId', expandAll: true}"
           :checkbox-config="{}">
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
-          <vxe-column type="checkbox" width="40" ></vxe-column>
+          <vxe-column type="checkbox" width="50" ></vxe-column>
           <vxe-column width="160" title="附件结构名称" field="name" align="left" tree-node></vxe-column>
           <vxe-column  title="类型" field="type"></vxe-column>
           <vxe-column width="110" title="最大容量(MB)" field="size"></vxe-column>
           <vxe-column width="70" title="序号" field="sort"></vxe-column>
           <vxe-column title="操作" width="230px" fixed="right" align="center">
-            <template  slot-scope="scope">
-              <el-button v-if="hasPermission('program:configuration:file:edit')&&scope.row.parentId === '0'" type="text"  size="small" @click="addChild(scope.row.id)">新建子类型</el-button>
-              <el-button v-if="hasPermission('program:configuration:file:edit')&&scope.row.parentId === '0'" type="text"  size="small" @click="edit(scope.row.id)">修改</el-button>
-              <el-button v-if="hasPermission('program:configuration:file:edit')&&scope.row.parentId !== '0'" type="text"  size="small" @click="editChild(scope.row.id)">修改</el-button>
-              <el-button v-if="hasPermission('program:configuration:file:del')" type="text"   size="small" @click="del(scope.row.id)">删除</el-button>
+            <template  #default="scope">
+              <el-button v-if="hasPermission('program:configuration:file:edit')&&scope.row.parentId === '0'" text type="primary"  size="small" @click="addChild(scope.row.id)">新建子类型</el-button>
+              <el-button v-if="hasPermission('program:configuration:file:edit')&&scope.row.parentId === '0'" text type="primary"  size="small" @click="edit(scope.row.id)">修改</el-button>
+              <el-button v-if="hasPermission('program:configuration:file:edit')&&scope.row.parentId !== '0'" text type="primary"  size="small" @click="editChild(scope.row.id)">修改</el-button>
+              <el-button v-if="hasPermission('program:configuration:file:del')" text type="primary"   size="small" @click="del(scope.row.id)">删除</el-button>
             </template>
           </vxe-column>
         </vxe-table>
@@ -124,7 +124,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.tableKey = Math.random()
@@ -156,7 +156,7 @@
           type: 'warning'
         }).then(() => {
           this.loading = true
-          this.programFileDictService.delete(ids).then(({data}) => {
+          this.programFileDictService.delete(ids).then((data) => {
             this.$message.success(data)
             this.refreshList()
             this.loading = false

+ 13 - 9
src/views/program/configuration/proofreadType/BrowseTypeForm.vue

@@ -7,8 +7,8 @@
       width="500px"
       @close="close"
       @keyup.enter.native="doSubmit"
-      :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 size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method==='view'"
                label-width="100px" @submit.native.prevent>
         <el-row  :gutter="15">
           <el-col :span="21">
@@ -20,10 +20,11 @@
                       label: 'name',         // 显示名称
                       children: 'children'    // 子级字段名
                     }"
-                url="/proofread/type/treeData?type=2"
+                url="/assess-server/proofread/type/treeData?type=2"
                 :value="inputForm.parentId"
                 :clearable="true"
                 :accordion="true"
+				size="large"
                 @getValue="(value) => {inputForm.parentId=value}"/>
             </el-form-item>
           </el-col>
@@ -37,10 +38,13 @@
           </el-col>
         </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'" @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="method != 'view'" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
+
     </el-dialog>
   </div>
 </template>
@@ -95,7 +99,7 @@
           if (method === 'edit' || method === 'view') { // 修改或者查看
             this.loading = true
             this.$refs.inputForm.resetFields()
-            this.proofreadTypeService.findById(this.inputForm.id).then(({data}) => {
+            this.proofreadTypeService.findById(this.inputForm.id).then((data) => {
               this.inputForm = this.recover(this.inputForm, data)
               this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
               this.loading = false
@@ -109,7 +113,7 @@
           if (valid) {
             this.loading = true
             this.inputForm.type = '2'
-            this.proofreadTypeService.save(this.inputForm).then(({data}) => {
+            this.proofreadTypeService.save(this.inputForm).then((data) => {
               this.close()
               this.$message.success(data)
               this.$emit('refreshDataList')

+ 15 - 15
src/views/program/configuration/proofreadType/BrowseTypeList.vue

@@ -1,25 +1,25 @@
 <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" 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>
-        <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="bg-white top" style="">
+    <div class="jp-table" style="">
       <vxe-toolbar :refresh="{query: refreshList}" custom>
         <template #buttons>
-          <el-button v-if="hasPermission('proofread:type:add')" type="primary" size="small" icon="el-icon-plus" @click="add()">新建</el-button>
-          <el-button v-if="hasPermission('proofread:type:del')" type="danger"   size="small" icon="el-icon-delete" @click="del()" :disabled="$refs.typeTable && $refs.typeTable.getCheckboxRecords().length === 0" plain>删除</el-button>
+          <el-button v-if="hasPermission('proofread:type:add')" type="primary" icon="el-icon-plus" @click="add()">新建</el-button>
+          <el-button v-if="hasPermission('proofread:type:del')" type="danger" icon="el-icon-delete" @click="del()" :disabled="$refs.typeTable && $refs.typeTable.getCheckboxRecords().length === 0" plain>删除</el-button>
         </template>
       </vxe-toolbar>
-      <div style="height: calc(100% - 50px)">
+      <div class="jp-table-body">
         <vxe-table
           border="inner"
           auto-resize
@@ -37,14 +37,14 @@
           :tree-config="{transform: true, rowField: 'id', parentField: 'parentId',expandAll: true}"
           :checkbox-config="{}">
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
-          <vxe-column type="checkbox" width="40" ></vxe-column>
+          <vxe-column type="checkbox" width="50" ></vxe-column>
           <vxe-column title="浏览审核类型名称" field="name" align="left" tree-node></vxe-column>
 
           <vxe-column title="操作" width="230px" fixed="right" align="center">
-            <template  slot-scope="scope">
-              <el-button v-if="hasPermission('proofread:type:edit')" type="text"  size="small" @click="addChild(scope.row.id)">添加下级结构</el-button>
-              <el-button v-if="hasPermission('proofread:type:edit')" type="text"  size="small" @click="edit(scope.row.id)">修改</el-button>
-              <el-button v-if="hasPermission('proofread:type:remove')" type="text"   size="small" @click="del(scope.row.id)">删除</el-button>
+            <template  #default="scope">
+              <el-button v-if="hasPermission('proofread:type:edit')" text type="primary"  @click="addChild(scope.row.id)">添加下级结构</el-button>
+              <el-button v-if="hasPermission('proofread:type:edit')" text type="primary"  @click="edit(scope.row.id)">修改</el-button>
+              <el-button v-if="hasPermission('proofread:type:remove')" text type="primary" @click="del(scope.row.id)">删除</el-button>
             </template>
           </vxe-column>
         </vxe-table>
@@ -108,7 +108,7 @@
       refreshList () {
         this.loading = true
         this.searchForm.type = '2'
-        this.proofreadTypeService.list({...this.searchForm}).then(({data}) => {
+        this.proofreadTypeService.list({...this.searchForm}).then((data) => {
           this.dataList = data
           this.loading = false
           this.$nextTick(() => {
@@ -127,7 +127,7 @@
           type: 'warning'
         }).then(() => {
           this.loading = true
-          this.proofreadTypeService.remove(ids).then(({data}) => {
+          this.proofreadTypeService.remove(ids).then((data) => {
             this.$message.success(data)
             this.refreshList()
             this.loading = false

+ 13 - 9
src/views/program/configuration/proofreadType/TypeForm.vue

@@ -7,8 +7,8 @@
       width="500px"
       @close="close"
       @keyup.enter.native="doSubmit"
-      :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 size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method==='view'"
                label-width="100px" @submit.native.prevent>
         <el-row  :gutter="15">
           <el-col :span="21">
@@ -20,10 +20,11 @@
                       label: 'name',         // 显示名称
                       children: 'children'    // 子级字段名
                     }"
-                url="/proofread/type/treeData?type=1"
+                url="/assess-server/proofread/type/treeData?type=1"
                 :value="inputForm.parentId"
                 :clearable="true"
                 :accordion="true"
+				size="large"
                 @getValue="(value) => {inputForm.parentId=value}"/>
             </el-form-item>
           </el-col>
@@ -37,10 +38,13 @@
           </el-col>
         </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'" @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="method != 'view'" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
+
     </el-dialog>
   </div>
 </template>
@@ -95,7 +99,7 @@
           if (method === 'edit' || method === 'view') { // 修改或者查看
             this.loading = true
             this.$refs.inputForm.resetFields()
-            this.proofreadTypeService.findById(this.inputForm.id).then(({data}) => {
+            this.proofreadTypeService.findById(this.inputForm.id).then((data) => {
               this.inputForm = this.recover(this.inputForm, data)
               this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
               this.loading = false
@@ -109,7 +113,7 @@
           if (valid) {
             this.loading = true
             this.inputForm.type = '1'
-            this.proofreadTypeService.save(this.inputForm).then(({data}) => {
+            this.proofreadTypeService.save(this.inputForm).then((data) => {
               this.close()
               this.$message.success(data)
               this.$emit('refreshDataList')

+ 15 - 15
src/views/program/configuration/proofreadType/TypeList.vue

@@ -1,25 +1,25 @@
 <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" 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>
-        <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="bg-white top" style="">
+    <div class="jp-table" style="">
       <vxe-toolbar :refresh="{query: refreshList}" custom>
         <template #buttons>
-          <el-button v-if="hasPermission('proofread:type:add')" type="primary" size="small" icon="el-icon-plus" @click="add()">新建</el-button>
-          <el-button v-if="hasPermission('proofread:type:del')" type="danger"   size="small" icon="el-icon-delete" @click="del()" :disabled="$refs.typeTable && $refs.typeTable.getCheckboxRecords().length === 0" plain>删除</el-button>
+          <el-button v-if="hasPermission('proofread:type:add')" type="primary" icon="el-icon-plus" @click="add()">新建</el-button>
+          <el-button v-if="hasPermission('proofread:type:del')" type="danger"   icon="el-icon-delete" @click="del()" :disabled="$refs.typeTable && $refs.typeTable.getCheckboxRecords().length === 0" plain>删除</el-button>
         </template>
       </vxe-toolbar>
-      <div style="height: calc(100% - 50px)">
+      <div class="jp-table-body">
         <vxe-table
           border="inner"
           auto-resize
@@ -37,14 +37,14 @@
           :tree-config="{transform: true, rowField: 'id', parentField: 'parentId',expandAll: true}"
           :checkbox-config="{}">
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
-          <vxe-column type="checkbox" width="40" ></vxe-column>
+          <vxe-column type="checkbox" width="50" ></vxe-column>
           <vxe-column title="自检内容名称" field="name" align="left" tree-node></vxe-column>
 
           <vxe-column title="操作" width="230px" fixed="right" align="center">
-            <template  slot-scope="scope">
-              <el-button v-if="hasPermission('proofread:type:edit')" type="text"  size="small" @click="addChild(scope.row.id)">添加下级结构</el-button>
-              <el-button v-if="hasPermission('proofread:type:edit')" type="text"  size="small" @click="edit(scope.row.id)">修改</el-button>
-              <el-button v-if="hasPermission('proofread:type:remove')" type="text"   size="small" @click="del(scope.row.id)">删除</el-button>
+            <template  #default="scope">
+              <el-button v-if="hasPermission('proofread:type:edit')" text type="primary"   @click="addChild(scope.row.id)">添加下级结构</el-button>
+              <el-button v-if="hasPermission('proofread:type:edit')" text type="primary"   @click="edit(scope.row.id)">修改</el-button>
+              <el-button v-if="hasPermission('proofread:type:remove')" text type="primary"    @click="del(scope.row.id)">删除</el-button>
             </template>
           </vxe-column>
         </vxe-table>
@@ -108,7 +108,7 @@
       refreshList () {
         this.loading = true
         this.searchForm.type = '1'
-        this.proofreadTypeService.list({...this.searchForm}).then(({data}) => {
+        this.proofreadTypeService.list({...this.searchForm}).then((data) => {
           this.dataList = data
           this.loading = false
           this.$nextTick(() => {
@@ -127,7 +127,7 @@
           type: 'warning'
         }).then(() => {
           this.loading = true
-          this.proofreadTypeService.remove(ids).then(({data}) => {
+          this.proofreadTypeService.remove(ids).then((data) => {
             this.$message.success(data)
             this.refreshList()
             this.loading = false

+ 11 - 8
src/views/program/configuration/typeDict/TypeDictForm.vue

@@ -7,8 +7,8 @@
       width="500px"
       @close="close"
       @keyup.enter.native="doSubmit"
-      :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 size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method==='view'"
                label-width="100px" @submit.native.prevent>
         <el-row  :gutter="15">
           <el-col :span="21">
@@ -36,10 +36,13 @@
           </el-col>
         </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'" @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="method != 'view'" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
+
     </el-dialog>
   </div>
 </template>
@@ -93,7 +96,7 @@
           this.$refs.inputForm.resetFields()
           if (method === 'edit' || method === 'view') { // 修改或者查看
             this.loading = true
-            this.programTypeDictService.queryById(this.inputForm.id).then(({data}) => {
+            this.programTypeDictService.queryById(this.inputForm.id).then((data) => {
               this.inputForm = this.recover(this.inputForm, data)
               this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
               this.loading = false
@@ -106,7 +109,7 @@
         this.$refs['inputForm'].validate((valid) => {
           if (valid) {
             this.loading = true
-            this.programTypeDictService.save(this.inputForm).then(({data}) => {
+            this.programTypeDictService.save(this.inputForm).then((data) => {
               this.close()
               this.$message.success(data)
               this.$emit('refreshDataList')

+ 15 - 15
src/views/program/configuration/typeDict/TypeDictList.vue

@@ -1,23 +1,23 @@
 <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" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
       <!-- 搜索框-->
       <el-form-item prop="type">
-        <el-input size="small" v-model="searchForm.type" placeholder="请输入项目类型名称" clearable></el-input>
+        <el-input v-model="searchForm.type" 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-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="bg-white top" style="">
+    <div class="jp-table" style="">
       <vxe-toolbar :refresh="{query: refreshList}" custom>
         <template #buttons>
-          <el-button v-if="hasPermission('program:configuration:type:add')" type="primary" size="small" icon="el-icon-plus" @click="add()">新建</el-button>
-          <el-button v-if="hasPermission('program:configuration:type:del')" type="danger"   size="small" icon="el-icon-delete" @click="del()" :disabled="$refs.typeDictTable && $refs.typeDictTable.getCheckboxRecords().length === 0" plain>删除</el-button>
+          <el-button v-if="hasPermission('program:configuration:type:add')" type="primary"  icon="el-icon-plus" @click="add()">新建</el-button>
+          <el-button v-if="hasPermission('program:configuration:type:del')" type="danger"   icon="el-icon-delete" @click="del()" :disabled="$refs.typeDictTable && $refs.typeDictTable.getCheckboxRecords().length === 0" plain>删除</el-button>
         </template>
       </vxe-toolbar>
-      <div style="height: calc(100% - 50px)">
+      <div class="jp-table-body">
         <vxe-table
           border="inner"
           auto-resize
@@ -36,15 +36,15 @@
           :tree-config="{transform: true, rowField: 'id', parentField: 'parentId',expandAll: true}"
           :checkbox-config="{}">
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
-          <vxe-column type="checkbox" width="40" ></vxe-column>
+          <vxe-column type="checkbox" width="50" ></vxe-column>
           <vxe-column min-width="350" title="项目类型名称" field="type" align="left" tree-node></vxe-column>
           <vxe-column min-width="50" align="center" title="序号" field="sort"></vxe-column>
           <vxe-column min-width="50" align="center" title="备注" field="remarks"></vxe-column>
           <vxe-column title="操作" width="230px" fixed="right" align="center">
-            <template  slot-scope="scope">
-              <el-button v-if="hasPermission('program:configuration:type:edit')&&scope.row.parentId === '0'" type="text"  size="small" @click="addChild(scope.row.id)">新建子类型</el-button>
-              <el-button v-if="hasPermission('program:configuration:type:edit')" type="text"  size="small" @click="edit(scope.row.id)">修改</el-button>
-              <el-button v-if="hasPermission('program:configuration:type:del')" type="text"   size="small" @click="del(scope.row.id)">删除</el-button>
+            <template  #default="scope">
+              <el-button v-if="hasPermission('program:configuration:type:edit')&&scope.row.parentId === '0'" text type="primary"   @click="addChild(scope.row.id)">新建子类型</el-button>
+              <el-button v-if="hasPermission('program:configuration:type:edit')" text type="primary"   @click="edit(scope.row.id)">修改</el-button>
+              <el-button v-if="hasPermission('program:configuration:type:del')" text type="primary"    @click="del(scope.row.id)">删除</el-button>
             </template>
           </vxe-column>
         </vxe-table>
@@ -121,7 +121,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
@@ -155,7 +155,7 @@
           type: 'warning'
         }).then(() => {
           this.loading = true
-          this.programTypeDictService.delete(ids).then(({data}) => {
+          this.programTypeDictService.delete(ids).then((data) => {
             this.$message.success(data)
             this.refreshList()
             this.loading = false

+ 12 - 9
src/views/program/configuration/typeFileDict/TypeFileDictForm.vue

@@ -7,8 +7,8 @@
       width="500px"
       @close="close"
       @keyup.enter.native="doSubmit"
-      :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 size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method==='view'"
                label-width="100px" @submit.native.prevent>
         <el-row  :gutter="15">
           <el-col :span="21">
@@ -42,10 +42,13 @@
           </el-col>
         </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'" @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="method != 'view'" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
+
     </el-dialog>
   </div>
 </template>
@@ -99,7 +102,7 @@
           this.inputForm.attachmentProjectSort = attachmentProjectSort
           if (method === 'edit' || method === 'view') { // 修改或者查看
             this.loading = true
-            this.programTypeFileDictService.queryById(this.inputForm.id).then(({data}) => {
+            this.programTypeFileDictService.queryById(this.inputForm.id).then((data) => {
               this.inputForm = this.recover(this.inputForm, data)
               this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
               if (this.inputForm.requiredStage === '0') {
@@ -120,7 +123,7 @@
             if (this.commonJS.isEmpty(this.inputForm.requiredStage)) {
               this.inputForm.requiredStage = '0'
             }
-            this.programTypeFileDictService.save(this.inputForm).then(({data}) => {
+            this.programTypeFileDictService.save(this.inputForm).then((data) => {
               this.close()
               this.$message.success(data)
               this.$emit('refreshDataList')
@@ -136,7 +139,7 @@
         this.visible = false
       },
       getFileList (attachmentProjectType, attachmentProjectSort, fileId) {
-        this.programTypeFileDictService.getFileList({'attachmentProjectType': attachmentProjectType, 'attachmentProjectSort': attachmentProjectSort, 'fileId': fileId}).then(({data}) => {
+        this.programTypeFileDictService.getFileList({'attachmentProjectType': attachmentProjectType, 'attachmentProjectSort': attachmentProjectSort, 'fileId': fileId}).then((data) => {
           this.fileDictList = data
         })
       }

+ 12 - 12
src/views/program/configuration/typeFileDict/TypeFileDictList.vue

@@ -1,6 +1,6 @@
 <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" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
       <!-- 搜索框-->
       <el-form-item prop="attachmentProjectType">
         <el-select v-model="searchForm.attachmentProjectType" placeholder="请选择项目类型" style="width:100%;">
@@ -31,17 +31,17 @@
         </el-select>
       </el-form-item>
       <el-form-item>
-        <el-button type="primary" @click="refreshList()" size="small" icon="el-icon-search">查询</el-button>
-        <el-button @click="resetSearch()" size="small" icon="el-icon-refresh-right">重置</el-button>
+        <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="bg-white top" style="">
+    <div class="jp-table" style="">
       <vxe-toolbar :refresh="{query: refreshList}" custom>
         <template #buttons>
 <!--          <el-button v-if="hasPermission('program:configuration:type_file:del')" type="danger"   size="small" icon="el-icon-delete" @click="del()" :disabled="$refs.typeFileDictTable && $refs.typeFileDictTable.getCheckboxRecords().length === 0" plain>删除</el-button>-->
         </template>
       </vxe-toolbar>
-      <div style="height: calc(100% - 50px)">
+      <div class="jp-table-body">
         <vxe-table
           :key="tableKey"
           border="inner"
@@ -61,7 +61,7 @@
           :tree-config="{transform: true, rowField: 'fileId', parentField: 'parentId', expandAll: true}"
           :checkbox-config="{}">
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
-          <vxe-column type="checkbox" width="40" ></vxe-column>
+          <vxe-column type="checkbox" width="50" ></vxe-column>
           <vxe-column width="180" title="附件名称" field="name" align="left" tree-node></vxe-column>
           <vxe-column title="必填阶段" field="requiredStage">
             <template slot-scope="scope">
@@ -69,10 +69,10 @@
             </template>
           </vxe-column>
           <vxe-column title="操作" width="230px" fixed="right" align="center">
-            <template  slot-scope="scope">
-              <el-button v-if="hasPermission('program:configuration:type_file:edit')&&scope.row.parentId === '0'" type="text"  size="small" @click="add(scope.row)">新建子类型</el-button>
-              <el-button v-if="hasPermission('program:configuration:type_file:edit')&&scope.row.parentId !== '0'" type="text"  size="small" @click="edit(scope.row)">修改</el-button>
-              <el-button v-if="hasPermission('program:configuration:type_file:del')&&scope.row.parentId !== '0'" type="text"   size="small" @click="del(scope.row)">删除</el-button>
+            <template  #default="scope">
+              <el-button v-if="hasPermission('program:configuration:type_file:edit')&&scope.row.parentId === '0'" type="text"  @click="add(scope.row)">新建子类型</el-button>
+              <el-button v-if="hasPermission('program:configuration:type_file:edit')&&scope.row.parentId !== '0'" type="text"  @click="edit(scope.row)">修改</el-button>
+              <el-button v-if="hasPermission('program:configuration:type_file:del')&&scope.row.parentId !== '0'" type="text"   @click="del(scope.row)">删除</el-button>
             </template>
           </vxe-column>
         </vxe-table>
@@ -148,7 +148,7 @@
           'size': this.tablePage.pageSize,
           'orders': this.tablePage.orders,
           ...this.searchForm
-        }).then(({data}) => {
+        }).then((data) => {
           this.dataList = data
           this.tableKey = Math.random()
           this.loading = false
@@ -179,7 +179,7 @@
           type: 'warning'
         }).then(() => {
           this.loading = true
-          this.programTypeFileDictService.delete(ids).then(({data}) => {
+          this.programTypeFileDictService.delete(ids).then((data) => {
             this.$message.success(data)
             this.refreshList()
             this.loading = false

+ 12 - 8
src/views/program/registered/ContactForm.vue

@@ -8,7 +8,7 @@
       height="500px"
       @close="close"
       @keyup.enter.native="getContact"
-      :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="refreshList()" @submit.native.prevent>-->
 <!--          &lt;!&ndash; 搜索框&ndash;&gt;-->
@@ -40,7 +40,7 @@
           :data="dataList"
           :checkbox-config="{}">
           <vxe-column type="seq" width="40"></vxe-column>
-          <vxe-column type="checkbox" width="40px"></vxe-column>
+          <vxe-column type="checkbox" width="50px"></vxe-column>
 
           <vxe-column width="" title="联系人姓名" field="name"></vxe-column>
           <vxe-column width="" title="联系方式1" field="linkPhone"></vxe-column>
@@ -48,10 +48,13 @@
 
         </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="getContact()" 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="getContact()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
+
     </el-dialog>
   </div>
 </template>
@@ -129,8 +132,9 @@
         this.dataList = []
         this.searchForm.ids.forEach((item) => {
           this.workClientService.findById(item).then((data) => {
-            console.log(data.data.workClientLinkman)
-            data.data.workClientLinkman.forEach(i => {
+            // console.log(data.data.workClientLinkman)
+			//   console.log(data.workClientLinkman)
+            data.workClientLinkman.forEach(i => {
               this.dataList.push(i)
             })
           })

+ 26 - 20
src/views/program/registered/ContractForm.vue

@@ -8,15 +8,15 @@
       height="500px"
       @close="close"
       @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="refreshList()" @submit.native.prevent>
+        <el-form :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="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 label="创建人" prop="createBy">
             <SelectUserTree
@@ -34,8 +34,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>
 
@@ -55,20 +55,23 @@
           @sort-change=""
           :sort-config="{remote:true}"
           :data="dataList"
-          :checkbox-config="{}">
+          :checkbox-config="{}"
+		  :row-config="{isCurrent: true}"
+		  :radio-config="{trigger: 'row'}"
+		>
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
-          <vxe-column type="radio" width="40px"></vxe-column>
+          <vxe-column type="radio" width="50px"></vxe-column>
 
-          <vxe-column width="200px" title="合同编号" field="no"></vxe-column>
-          <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">
+          <vxe-column min-width="200px" title="合同编号" field="no"></vxe-column>
+          <vxe-column min-width="200px" title="合同名称" field="name"></vxe-column>
+          <vxe-column min-width="150px" title="委派方" field="clientName"></vxe-column>
+          <vxe-column min-width="150px" title="合同类型" field="contractType">
+            <template #default="scope">
               {{ $dictUtils.getDictLabel("contract_type", scope.row.contractType, '-') }}
             </template>
           </vxe-column>
-          <vxe-column width="150px" title="创建时间" field="createDate"></vxe-column>
-          <vxe-column width="100px" title="创建人" field="createBy"></vxe-column>
+          <vxe-column min-width="150px" title="创建时间" field="createDate"></vxe-column>
+          <vxe-column min-width="100px" title="创建人" field="createBy"></vxe-column>
 
         </vxe-table>
         <vxe-pager
@@ -82,10 +85,13 @@
           @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>
@@ -159,7 +165,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

+ 66 - 61
src/views/program/registered/ProjectArchiveForm.vue

@@ -2,14 +2,14 @@
   <div>
 
     <div>
-      <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="formReadOnly"
+      <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="status === 'audit' || status === 'taskFormDetail' || method === 'view'"
                label-width="170px" @submit.native.prevent>
         <el-divider content-position="left"><i class="el-icon-document"></i> 项目归档</el-divider>
           <el-row  :gutter="15">
             <el-col :span="12">
               <el-form-item label="项目名称" prop="programProjectListInfo.name"
               >
-                <el-input size="medium" :disabled="true" v-model="inputForm.programProjectListInfo.name" placeholder="请输入项目名称" clearable></el-input>
+                <el-input size="large" :disabled="true" v-model="inputForm.programProjectListInfo.name" placeholder="请输入项目名称" clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
@@ -19,7 +19,7 @@
                   :disabled="true"
                   v-model="inputForm.programProjectListInfo.assessmentDate"
                   type="date"
-                  value-format="yyyy-MM-dd"
+                  value-format="YYYY-MM-DD"
                   placeholder="选择评估基准日"
                   style="width:100%"
                   placement="bottom-start"
@@ -30,7 +30,7 @@
             <el-col :span="12">
               <el-form-item label="报告号" prop="reportNo"
               >
-                <el-input size="medium" :disabled="true" v-model="inputForm.reportNo" placeholder="请输入报告号" clearable></el-input>
+                <el-input size="large" :disabled="true" v-model="inputForm.reportNo" placeholder="请输入报告号" clearable></el-input>
               </el-form-item>
             </el-col>
 
@@ -39,13 +39,13 @@
               >
                 <SelectUserTree
                   ref="companyTree"
-                  size="medium"
+                  size="large"
                   :props="{
                   value: 'id',             // ID字段名
                   label: 'name',         // 显示名称
                   children: 'children'    // 子级字段名
                 }"
-                  :url="`/sys/user/treeUserDataAllOffice?type=2`"
+                  :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
                   :value="inputForm.programProjectListInfo.projectManager"
                   :disabled="true"
                   :clearable="true"
@@ -56,7 +56,7 @@
             <el-col :span="12">
               <el-form-item label="所属部门" prop="programProjectListInfo.officeId"
               >
-                <el-input size="medium" :disabled="true" v-model="inputForm.programProjectListInfo.officeId" placeholder="请输入所属部门" clearable></el-input>
+                <el-input size="large" :disabled="true" v-model="inputForm.programProjectListInfo.officeId" placeholder="请输入所属部门" clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
@@ -64,7 +64,7 @@
                             :rules="[
 
                  ]">
-                <el-input size="medium" :disabled="true" v-model="inputForm.year" placeholder="请输入年份" clearable></el-input>
+                <el-input size="large" :disabled="true" v-model="inputForm.year" placeholder="请输入年份" clearable></el-input>
 <!--                <el-date-picker-->
 <!--                  v-model="inputForm.year"-->
 <!--                  type="year"-->
@@ -112,7 +112,7 @@
                             :rules=" [
                         {required: true, message:'签字评估师1不能为空', trigger:'blur'}
                         ]" >
-                <UserSelect size="medium" :disabled="formReadOnly" :readonly="true" :limit='1' :value="inputForm.signatureEvaluatorFirst" @getValue='(value) => {inputForm.signatureEvaluatorFirst = value}'></UserSelect>
+                <UserSelect :disabled="status === 'audit' || status === 'taskFormDetail'|| method === 'view'" :readonly="true" :limit='1' :modelValue="inputForm.signatureEvaluatorFirst" @update:modelValue='(value) => {inputForm.signatureEvaluatorFirst = value}'></UserSelect>
               </el-form-item>
             </el-col>
 
@@ -122,7 +122,7 @@
                             :rules=" [
                         {required: true, message:'签字评估师2不能为空', trigger:'blur'}
                         ]" >
-                <UserSelect size="medium" :disabled="formReadOnly" :readonly="true" :limit='1' :value="inputForm.signatureEvaluatorSecond" @getValue='(value) => {inputForm.signatureEvaluatorSecond = value}'></UserSelect>
+                <UserSelect :disabled="status === 'audit' || status === 'taskFormDetail'|| method === 'view'" :readonly="true" :limit='1' :modelValue="inputForm.signatureEvaluatorSecond" @update:modelValue='(value) => {inputForm.signatureEvaluatorSecond = value}'></UserSelect>
               </el-form-item>
             </el-col>
 
@@ -136,7 +136,7 @@
                   v-model="inputForm.evaluationReportDate"
                   type="date"
                   placement="bottom-start"
-                  value-format="yyyy-MM-dd"
+                  value-format="YYYY-MM-DD"
                   placeholder="选择日期" clearable>
                 </el-date-picker>
               </el-form-item>
@@ -286,7 +286,7 @@
                   placement="bottom-start"
                   v-model="inputForm.invoiceDate"
                   type="date"
-                  value-format="yyyy-MM-dd"
+                  value-format="YYYY-MM-DD"
                   placeholder="选择日期时间" clearable>
                 </el-date-picker>
               </el-form-item>
@@ -406,7 +406,7 @@
                   style="width:100%;"
                   v-model="inputForm.reimbursementDate"
                   type="date"
-                  value-format="yyyy-MM-dd"
+                  value-format="YYYY-MM-DD"
                   placeholder="选择日期时间" clearable>
                 </el-date-picker>
               </el-form-item>
@@ -416,7 +416,7 @@
                             :rules=" [
                         {required: true, message:'当前处理人不能为空', trigger:'blur'}
                         ]" >
-                <UserSelect size="medium" :disabled="formReadOnly" :readonly="true" :limit='1' :value="inputForm.currentDisposePerson" @getValue='(value) => {inputForm.currentDisposePerson = value}'></UserSelect>
+                <UserSelect :disabled="status === 'audit' || status === 'taskFormDetail'||method === 'view'" :readonly="true" :limit='1' :modelValue="inputForm.currentDisposePerson" @update:modelValue='(value) => {inputForm.currentDisposePerson = value}'></UserSelect>
               </el-form-item>
             </el-col>
             <el-col :span="12">
@@ -504,7 +504,11 @@
       formReadOnly: {
         type: Boolean,
         default: false
-      }
+      },
+		status: {
+			type: String,
+			default: ''
+		}
     },
     data () {
       return {
@@ -520,24 +524,24 @@
           programType: '',
           evaluationReportDate: '',
           protocolNum: '',
-          waystEvaluation: '',
-          fixedAssetsEvaluation: '',
-          netAssetsEvaluation: '',
-          rentEvaluation: '',
+          waystEvaluation: 0,
+          fixedAssetsEvaluation: 0,
+          netAssetsEvaluation: 0,
+          rentEvaluation: 0,
           forensics: '',
-          reportCharges: '',
+          reportCharges: 0,
           rentType: '',
           currentDisposePerson: '',
           isInvoice: '',
           invoiceDate: '',
-          actualCharges: '',
+          actualCharges: 0,
           isContractArchive: '',
           isPapersIntact: '',
           isPapersArchive: '',
-          opsAmount: '',
+          opsAmount: 0,
           isOpsReimbursement: '',
-          reimbursementAmount: '',
-          unreimbursedAmount: '',
+          reimbursementAmount: 0,
+          unreimbursedAmount: 0,
           reimbursementNum: '',
           reimbursementDate: '',
           procInsId: '',
@@ -617,6 +621,7 @@
       },
       init (method, id) {
         if (method === 'formReadOnly') {
+			method = 'view'
           this.formReadOnly = true
         }
         this.method = method
@@ -628,24 +633,24 @@
           programType: '',
           evaluationReportDate: '',
           protocolNum: '',
-          waystEvaluation: '',
-          fixedAssetsEvaluation: '',
-          netAssetsEvaluation: '',
-          rentEvaluation: '',
+          waystEvaluation: 0,
+          fixedAssetsEvaluation: 0,
+          netAssetsEvaluation: 0,
+          rentEvaluation: 0,
           forensics: '',
-          reportCharges: '',
+          reportCharges: 0,
           rentType: '',
           currentDisposePerson: '',
           isInvoice: '',
           invoiceDate: '',
-          actualCharges: '',
+          actualCharges: 0,
           isContractArchive: '',
           isPapersIntact: '',
           isPapersArchive: '',
-          opsAmount: '',
+          opsAmount: 0,
           isOpsReimbursement: '',
-          reimbursementAmount: '',
-          unreimbursedAmount: '',
+          reimbursementAmount: 0,
+          unreimbursedAmount: 0,
           reimbursementNum: '',
           reimbursementDate: '',
           procInsId: '',
@@ -672,24 +677,24 @@
             programType: '',
             evaluationReportDate: '',
             protocolNum: '',
-            waystEvaluation: '',
-            fixedAssetsEvaluation: '',
-            netAssetsEvaluation: '',
-            rentEvaluation: '',
+            waystEvaluation: 0,
+            fixedAssetsEvaluation: 0,
+            netAssetsEvaluation: 0,
+            rentEvaluation: 0,
             forensics: '',
-            reportCharges: '',
+            reportCharges: 0,
             rentType: '',
             currentDisposePerson: '',
             isInvoice: '',
             invoiceDate: '',
-            actualCharges: '',
+            actualCharges: 0,
             isContractArchive: '',
             isPapersIntact: '',
             isPapersArchive: '',
-            opsAmount: '',
+            opsAmount: 0,
             isOpsReimbursement: '',
-            reimbursementAmount: '',
-            unreimbursedAmount: '',
+            reimbursementAmount: 0,
+            unreimbursedAmount: 0,
             reimbursementNum: '',
             reimbursementDate: '',
             procInsId: '',
@@ -715,7 +720,7 @@
         this.$nextTick(() => {
           this.$refs.inputForm.resetFields()
           this.loading = true
-          this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then(({data}) => {
+          this.programProjectListInfoService.findByIdArchive(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.year)) {
@@ -730,7 +735,7 @@
             this.$refs.uploadComponentDetail.clearUpload()
             this.$refs.uploadComponentPapers.clearUpload()
             this.$refs.uploadComponentOther.clearUpload()
-            if (this.formReadOnly === true) {
+            if (this.status === 'audit' || this.status === 'taskFormDetail') {
               method = 'view'
             }
             if (this.commonJS.isEmpty(this.inputForm.reportFileList)) {
@@ -759,7 +764,7 @@
       },
       reapplyForm (callback) {
         this.loading = true
-        this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then(({data}) => {
+        this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then((data) => {
           if (data.status !== '4') { // 审核状态不是“驳回”,就弹出提示
             this.loading = false
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -775,7 +780,7 @@
       startForm (callback) {
         this.loading = true
         if (this.commonJS.isNotEmpty(this.inputForm.id)) {
-          this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then(({data}) => {
+          this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then((data) => {
             if (this.commonJS.isNotEmpty(data.status) && data.status !== '0' && data.status !== '1' && data.status !== '3') { // 审核状态不是“未发起”或“暂存”或“撤回”,就弹出提示
               this.loading = false
               this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -793,7 +798,7 @@
       },
       async agreeForm (callback) {
         this.loading = true
-        await this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then(({data}) => {
+        await this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then((data) => {
           if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
             this.loading = false
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -835,7 +840,7 @@
           this.inputForm.detailFileList = this.$refs.uploadComponentDetail.getDataList()
           this.inputForm.papersFileList = this.$refs.uploadComponentPapers.getDataList()
           this.inputForm.otherFileList = this.$refs.uploadComponentOther.getDataList()
-          this.programProjectListInfoService.saveFormArchive(this.inputForm).then(({data}) => {
+          this.programProjectListInfoService.saveFormArchive(this.inputForm).then((data) => {
             callback(data.businessTable, data.businessId, this.inputForm)
             this.loading = false
           }).catch(() => {
@@ -848,7 +853,7 @@
         } else if (status === 'agree') {
           // 审核同意
           this.inputForm.status = '5'
-          this.inputForm.auditUserId = JSON.parse(localStorage.getItem('user')).id
+          this.inputForm.auditUserId = this.$store.state.user.id
           this.inputForm.auditDate = this.moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
         }
         this.$refs['inputForm'].validate((valid) => {
@@ -866,7 +871,7 @@
             this.inputForm.detailFileList = this.$refs.uploadComponentDetail.getDataList()
             this.inputForm.papersFileList = this.$refs.uploadComponentPapers.getDataList()
             this.inputForm.otherFileList = this.$refs.uploadComponentOther.getDataList()
-            this.programProjectListInfoService.saveFormArchive(this.inputForm).then(({data}) => {
+            this.programProjectListInfoService.saveFormArchive(this.inputForm).then((data) => {
               this.inputForm.id = data.businessId
               callback(data.businessTable, data.businessId, this.inputForm)
               this.loading = false
@@ -901,7 +906,7 @@
           throw new Error()
         }
         if (type === 'reject' || type === 'reback') {
-          await this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then(({data}) => {
+          await this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then((data) => {
             if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
               this.loading = false
               this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -925,7 +930,7 @@
             }
           })
         } else if (type === 'hold') {
-          this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then(({data}) => {
+          this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then((data) => {
             if (data.status !== '4') { // status的值不等于“驳回”就弹出提示
               this.loading = false
               this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -1000,24 +1005,24 @@
           programType: '',
           evaluationReportDate: '',
           protocolNum: '',
-          waystEvaluation: '',
-          fixedAssetsEvaluation: '',
-          netAssetsEvaluation: '',
-          rentEvaluation: '',
+          waystEvaluation: 0,
+          fixedAssetsEvaluation: 0,
+          netAssetsEvaluation: 0,
+          rentEvaluation: 0,
           forensics: '',
-          reportCharges: '',
+          reportCharges: 0,
           rentType: '',
           currentDisposePerson: '',
           isInvoice: '',
           invoiceDate: '',
-          actualCharges: '',
+          actualCharges: 0,
           isContractArchive: '',
           isPapersIntact: '',
           isPapersArchive: '',
-          opsAmount: '',
+          opsAmount: 0,
           isOpsReimbursement: '',
-          reimbursementAmount: '',
-          unreimbursedAmount: '',
+          reimbursementAmount: 0,
+          unreimbursedAmount: 0,
           reimbursementNum: '',
           reimbursementDate: '',
           procInsId: '',

+ 28 - 25
src/views/program/registered/ProjectArchiveFormDialog.vue

@@ -7,15 +7,15 @@
       width="1300px"
       @close="close"
       @keyup.enter.native=""
-      :visible.sync="visible">
-      <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="formReadOnly"
+	  v-model="visible">
+      <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="formReadOnly"
                label-width="170px" @submit.native.prevent>
         <el-divider content-position="left"><i class="el-icon-document"></i> 项目归档</el-divider>
           <el-row  :gutter="15">
             <el-col :span="12">
               <el-form-item label="项目名称" prop="programProjectListInfo.name"
               >
-                <el-input size="medium" :disabled="true" v-model="inputForm.programProjectListInfo.name" placeholder="请输入项目名称" clearable></el-input>
+                <el-input size="large" :disabled="true" v-model="inputForm.programProjectListInfo.name" placeholder="请输入项目名称" clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
@@ -25,7 +25,7 @@
                   :disabled="true"
                   v-model="inputForm.programProjectListInfo.assessmentDate"
                   type="date"
-                  value-format="yyyy-MM-dd"
+                  value-format="YYYY-MM-DD"
                   placeholder="选择评估基准日"
                   style="width:100%"
                   placement="bottom-start"
@@ -36,7 +36,7 @@
             <el-col :span="12">
               <el-form-item label="报告号" prop="reportNo"
               >
-                <el-input size="medium" :disabled="true" v-model="inputForm.reportNo" placeholder="请输入报告号" clearable></el-input>
+                <el-input size="large" :disabled="true" v-model="inputForm.reportNo" placeholder="请输入报告号" clearable></el-input>
               </el-form-item>
             </el-col>
 
@@ -45,13 +45,13 @@
               >
                 <SelectUserTree
                   ref="companyTree"
-                  size="medium"
+                  size="large"
                   :props="{
                   value: 'id',             // ID字段名
                   label: 'name',         // 显示名称
                   children: 'children'    // 子级字段名
                 }"
-                  :url="`/sys/user/treeUserDataAllOffice?type=2`"
+                  :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
                   :value="inputForm.programProjectListInfo.projectManager"
                   :disabled="true"
                   :clearable="true"
@@ -62,7 +62,7 @@
             <el-col :span="12">
               <el-form-item label="所属部门" prop="programProjectListInfo.officeId"
               >
-                <el-input size="medium" :disabled="true" v-model="inputForm.programProjectListInfo.officeId" placeholder="请输入所属部门" clearable></el-input>
+                <el-input size="large" :disabled="true" v-model="inputForm.programProjectListInfo.officeId" placeholder="请输入所属部门" clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
@@ -70,7 +70,7 @@
                             :rules="[
 
                  ]">
-                <el-input size="medium" :disabled="true" v-model="inputForm.year" placeholder="请输入年份" clearable></el-input>
+                <el-input size="large" :disabled="true" v-model="inputForm.year" placeholder="请输入年份" clearable></el-input>
 <!--                <el-date-picker-->
 <!--                  v-model="inputForm.year"-->
 <!--                  type="year"-->
@@ -119,7 +119,7 @@
                             :rules=" [
                         {required: true, message:'签字评估师1不能为空', trigger:'blur'},{required: true, message:'签字评估师1不能为空', trigger:'change'}
                         ]" >
-                <UserSelect size="medium" :disabled="formReadOnly" :readonly="true" :limit='1' :value="inputForm.signatureEvaluatorFirst" @getValue='(value) => {inputForm.signatureEvaluatorFirst = value}'></UserSelect>
+                <UserSelect size="large" :disabled="formReadOnly" :readonly="true" :limit='1' :value="inputForm.signatureEvaluatorFirst" @getValue='(value) => {inputForm.signatureEvaluatorFirst = value}'></UserSelect>
               </el-form-item>
             </el-col>
 
@@ -129,7 +129,7 @@
                             :rules=" [
                         {required: true, message:'签字评估师2不能为空', trigger:'blur'},{required: true, message:'签字评估师2不能为空', trigger:'change'}
                         ]" >
-                <UserSelect size="medium" :disabled="formReadOnly" :readonly="true" :limit='1' :value="inputForm.signatureEvaluatorSecond" @getValue='(value) => {inputForm.signatureEvaluatorSecond = value}'></UserSelect>
+                <UserSelect size="large" :disabled="formReadOnly" :readonly="true" :limit='1' :value="inputForm.signatureEvaluatorSecond" @getValue='(value) => {inputForm.signatureEvaluatorSecond = value}'></UserSelect>
               </el-form-item>
             </el-col>
             <el-col :span="12">
@@ -142,7 +142,7 @@
                   v-model="inputForm.evaluationReportDate"
                   type="date"
                   placement="bottom-start"
-                  value-format="yyyy-MM-dd"
+                  value-format="YYYY-MM-DD"
                   placeholder="选择日期" clearable>
                 </el-date-picker>
               </el-form-item>
@@ -268,7 +268,7 @@
                             :rules=" [
                         {required: true, message:'当前处理人不能为空', trigger:'blur'},{required: true, message:'当前处理人不能为空', trigger:'change'}
                         ]" >
-                <UserSelect size="medium" :disabled="formReadOnly" :readonly="true" :limit='1' :value="inputForm.currentDisposePerson" @getValue='(value) => {inputForm.currentDisposePerson = value}'></UserSelect>
+                <UserSelect size="large" :disabled="formReadOnly" :readonly="true" :limit='1' :value="inputForm.currentDisposePerson" @getValue='(value) => {inputForm.currentDisposePerson = value}'></UserSelect>
               </el-form-item>
             </el-col>
 
@@ -291,7 +291,7 @@
                   placement="bottom-start"
                   v-model="inputForm.invoiceDate"
                   type="date"
-                  value-format="yyyy-MM-dd"
+                  value-format="YYYY-MM-DD"
                   placeholder="选择日期时间" clearable>
                 </el-date-picker>
               </el-form-item>
@@ -411,7 +411,7 @@
                   style="width:100%;"
                   v-model="inputForm.reimbursementDate"
                   type="date"
-                  value-format="yyyy-MM-dd"
+                  value-format="YYYY-MM-DD"
                   placeholder="选择日期时间" clearable>
                 </el-date-picker>
               </el-form-item>
@@ -477,10 +477,13 @@
 
 
       </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"  @click="doSubmit('agree')" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
-      </span>
+		<trmplate #footer>
+			<span class="dialog-footer">
+				<el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
+				<el-button type="primary"  @click="doSubmit('agree')" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			  </span>
+		</trmplate>
+
     </el-dialog>
   </div>
 </template>
@@ -700,7 +703,7 @@
         this.$nextTick(() => {
           this.$refs.inputForm.resetFields()
           this.loading = true
-          this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then(({data}) => {
+          this.programProjectListInfoService.findByIdArchive(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.year)) {
@@ -749,7 +752,7 @@
         this.doSubmit('start', callback)
       },
       async agreeForm (callback) {
-        await this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then(({data}) => {
+        await this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then((data) => {
           if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
             throw new Error()
@@ -789,7 +792,7 @@
           this.inputForm.detailFileList = this.$refs.uploadComponentDetail.getDataList()
           this.inputForm.papersFileList = this.$refs.uploadComponentPapers.getDataList()
           this.inputForm.otherFileList = this.$refs.uploadComponentOther.getDataList()
-          this.programProjectListInfoService.saveFormArchive(this.inputForm).then(({data}) => {
+          this.programProjectListInfoService.saveFormArchive(this.inputForm).then((data) => {
             callback(data.businessTable, data.businessId, this.inputForm)
             this.loading = false
           }).catch(() => {
@@ -802,7 +805,7 @@
         } else if (status === 'agree') {
           // 审核同意
           this.inputForm.status = '5'
-          this.inputForm.auditUserId = JSON.parse(localStorage.getItem('user')).id
+          this.inputForm.auditUserId = this.$store.state.user.id
           this.inputForm.auditDate = this.moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
         }
         this.$refs['inputForm'].validate((valid) => {
@@ -813,7 +816,7 @@
             this.inputForm.detailFileList = this.$refs.uploadComponentDetail.getDataList()
             this.inputForm.papersFileList = this.$refs.uploadComponentPapers.getDataList()
             this.inputForm.otherFileList = this.$refs.uploadComponentOther.getDataList()
-            this.programProjectListInfoService.saveFormArchive(this.inputForm).then(({data}) => {
+            this.programProjectListInfoService.saveFormArchive(this.inputForm).then((data) => {
               this.close()
               this.$message.success(data.msg)
               this.$emit('refreshDataList')
@@ -846,7 +849,7 @@
           this.loading = false
           throw new Error()
         }
-        await this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then(({data}) => {
+        await this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then((data) => {
           if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
             throw new Error()

+ 39 - 32
src/views/program/registered/ProjectForm.vue

@@ -7,12 +7,12 @@
       width="1300px"
       @close="close"
       @keyup.enter.native=""
-      :visible.sync="visible">
+	  v-model="visible">
       <el-row>
         <el-col :span="24">
           <el-tabs v-model="activeName" type="border-card" @tab-click="tabHandleClick">
             <el-tab-pane label="项目登记详情" name="programDetail">
-              <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method==='view'"
+              <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method==='view'"
                        label-width="180px" @submit.native.prevent>
                 <el-divider content-position="left"><i class="el-icon-document"></i> 选择合同</el-divider>
                 <el-row  :gutter="15">
@@ -22,7 +22,7 @@
                           {required: true, message:'合同不能为空', trigger:'blur'},
                           {required: true, message:'合同不能为空', trigger:'change'}
                  ]">
-                      <el-input size="medium" :readonly="true" @focus="openContractForm()" v-model="inputForm.contractName" placeholder="请选择合同">
+                      <el-input size="large" :readonly="true" @focus="openContractForm()" v-model="inputForm.contractName" placeholder="请选择合同">
                         <el-button slot="append" icon="el-icon-search" @click="openContractForm()"></el-button>
                       </el-input>
                     </el-form-item>
@@ -161,7 +161,7 @@
                       <el-date-picker
                         v-model="inputForm.assessmentDate"
                         type="date"
-                        value-format="yyyy-MM-dd"
+                        value-format="YYYY-MM-DD"
                         placeholder="选择评估基准日"
                         style="width:100%"
                         placement="bottom-start"
@@ -214,10 +214,10 @@
                       label: 'name',         // 显示名称
                       children: 'children'    // 子级字段名
                     }"
-                        url="/sys/area/treeData"
+                        url="/system-server/sys/area/treeData"
                         :value="inputForm.location"
                         :clearable="true"
-                        size="medium"
+                        size="large"
                         :accordion="true"
                         @getValue="(value) => {inputForm.location=value}"/>
                     </el-form-item>
@@ -243,7 +243,7 @@
                                   :rules="[
                           {required: true, message:'是否首次承做不能为空', trigger:'blur'}
                  ]">
-                      <el-radio v-model="inputForm.isFirst" v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" size="small" style="margin-right: 20px">
+                      <el-radio v-model="inputForm.isFirst" v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" size="large" style="margin-right: 20px">
                         {{item.label}}</el-radio>
                     </el-form-item>
                   </el-col>
@@ -311,7 +311,7 @@
                       <el-date-picker
                         v-model="inputForm.checkYear"
                         type="year"
-                        value-format="yyyy"
+                        value-format="YYYY"
                         placeholder="选择评估费用核算年度"
                         style="width:100%"
                         placement="bottom-start"
@@ -326,13 +326,13 @@
                  ]">
                       <SelectUserTree
                         ref="companyTree"
-                        size="medium"
+                        size="large"
                         :props="{
                   value: 'id',             // ID字段名
                   label: 'name',         // 显示名称
                   children: 'children'    // 子级字段名
                 }"
-                        :url="`/sys/user/treeUserDataAllOffice?type=2`"
+                        :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
                         :value="inputForm.projectManager"
                         :clearable="true"
                         :accordion="true"
@@ -353,7 +353,7 @@
                                   :rules="[
                           {required: true, message:'风险等级不能为空', trigger:'blur'}
                  ]">
-                      <el-radio v-model="inputForm.riskLevel" v-for="item in $dictUtils.getDictList('program_registered_risk_level')" :label="item.value" size="small" style="margin-right: 20px">
+                      <el-radio v-model="inputForm.riskLevel" v-for="item in $dictUtils.getDictList('program_registered_risk_level')" :label="item.value" size="large" style="margin-right: 20px">
                         {{item.label}}</el-radio>
                     </el-form-item>
                   </el-col>
@@ -403,7 +403,7 @@
                       <el-date-picker
                         v-model="inputForm.planEndTime"
                         type="date"
-                        value-format="yyyy-MM-dd"
+                        value-format="YYYY-MM-DD"
                         placeholder="选择计划完成时间"
                         style="width:100%"
                         placement="bottom-start"
@@ -468,7 +468,7 @@
                                   :rules="[
                  ]">
                       <el-date-picker
-                        size="medium"
+                        size="large"
                         v-model="inputForm.workBeginAndEndDate"
                         type="daterange"
                         range-separator="至"
@@ -502,7 +502,7 @@
                       <el-date-picker
                         v-model="inputForm.reportingDate"
                         type="date"
-                        value-format="yyyy-MM-dd"
+                        value-format="YYYY-MM-DD"
                         placeholder="选择预计出报告时间"
                         style="width:100%"
                         placement="bottom-start"
@@ -520,11 +520,12 @@
                 </el-row>
                 <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="openContactForm('0')" plain>
+                  <el-button style="margin-left: 20px" type="primary" :disabled="method==='view'"  @click="openContactForm('0')" plain>
                     新增
                   </el-button>
                 </el-divider>
                 <el-row  :gutter="15" >
+					<el-col :span="24">
                   <vxe-table
                     border
                     show-overflow
@@ -576,20 +577,22 @@
                     </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,'client')">删除</el-button>
+                        <el-button  type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'client')">删除</el-button>
                       </template>
                     </vxe-table-column>
                   </vxe-table>
+					</el-col>
                 </el-row>
 
 
                 <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('member')" plain>
+                  <el-button style="margin-left: 20px" type="primary" :disabled="method==='view'"  @click="insertEvent('member')" plain>
                     新增
                   </el-button>
                 </el-divider>
                 <el-row  :gutter="15">
+					<el-col :span="24">
                   <vxe-table
                     border
                     show-overflow
@@ -647,10 +650,11 @@
                     </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,'member')">删除</el-button>
+                        <el-button  type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'member')">删除</el-button>
                       </template>
                     </vxe-table-column>
                   </vxe-table>
+					</el-col>
                 </el-row>
               </el-form>
               <!--        附件-->
@@ -681,11 +685,13 @@
           </el-tabs>
         </el-col>
       </el-row>
+		<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="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
 
-      <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="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
-    </span>
     </el-dialog>
     <ContractForm  ref="contractForm" @getContract="getContract"></ContractForm>
     <WorkClientForm  ref="workClientForm" @getWorkClient="getWorkClient"></WorkClientForm>
@@ -932,7 +938,7 @@
           this.$refs.inputForm.resetFields()
           if (method === 'edit' || method === 'view') { // 修改或者查看
             this.loading = true
-            this.programProjectListInfoService.queryById(this.inputForm.id).then(({data}) => {
+            this.programProjectListInfoService.queryById(this.inputForm.id).then((data) => {
               this.inputForm = this.recover(this.inputForm, data)
               if (data.generateReportNumber === 'true') {
                 this.inputForm.generateReportNumber = true
@@ -1040,7 +1046,7 @@
               this.inputForm.files = []
             }
             this.inputForm.files = this.$refs.uploadComponent.getDataList()
-            this.programProjectListInfoService.save(this.inputForm).then(({data}) => {
+            this.programProjectListInfoService.save(this.inputForm).then((data) => {
               this.close()
               this.$message.success(data)
               this.$emit('refreshDataList')
@@ -1130,7 +1136,7 @@
         this.visible = false
       },
       getTypeList () {
-        this.programTypeDictService.getList().then(({data}) => {
+        this.programTypeDictService.getList().then((data) => {
           this.typeDictList = data
         })
       },
@@ -1208,37 +1214,38 @@
         return footerData
       },
       tabHandleClick (event) {
-        if (event.name === 'firstAudit') {
+		  let paneName = event.props.name
+        if (paneName === 'firstAudit') {
           if (this.commonJS.isNotEmpty(this.auditIdfirst)) {
             this.$refs.projectThreeAuditForm.init('view', this.auditIdfirst, '一级校审')
           }
         }
-        if (event.name === 'secondAudit') {
+        if (paneName === 'secondAudit') {
           if (this.commonJS.isNotEmpty(this.auditIdsecond)) {
             this.$refs.secondAudit2.init('view', this.auditIdsecond, '二级校审')
           }
         }
-        if (event.name === 'thirdAudit') {
+        if (paneName === 'thirdAudit') {
           if (this.commonJS.isNotEmpty(this.auditIdthird)) {
             this.$refs.thirdAudit3.init('view', this.auditIdthird, '三级校审')
           }
         }
-        if (event.name === 'archive') {
+        if (paneName === 'archive') {
           if (this.commonJS.isNotEmpty(this.archiveIdA)) {
             this.$refs.projectArchiveForm.init('view', this.archiveIdA)
           }
         }
-        if (event.name === 'freadBrowse') {
+        if (paneName === 'freadBrowse') {
           if (this.commonJS.isNotEmpty(this.inputForm.id)) {
             this.$refs.proofreadBrowseFormComponent.init('view', this.inputForm.id)
           }
         }
-        if (event.name === 'fread') {
+        if (paneName === 'fread') {
           if (this.commonJS.isNotEmpty(this.inputForm.id)) {
             this.$refs.proofreadFormComponent.init(this.inputForm.id)
           }
         }
-        if (event.name === 'issued') {
+        if (paneName === 'issued') {
           if (this.commonJS.isNotEmpty(this.inputForm.id)) {
             this.$refs.proofreadIssuedForm.init('view', this.inputForm.id, '报告签发单')
           }

+ 65 - 64
src/views/program/registered/ProjectForm2022.vue

@@ -4,12 +4,12 @@
       :title="title"
       :close-on-click-modal="false"
 	  draggable
-      width="1300px"
+      width="1200px"
       @close="close"
       @keyup.enter.native=""
       v-model="visible">
       <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method==='view'"
-               label-width="220px" @submit.native.prevent>
+               label-width="170px" @submit.native.prevent>
         <el-divider content-position="left"><i class="el-icon-document"></i> 选择合同</el-divider>
         <el-row  :gutter="15">
           <el-col :span="24">
@@ -228,7 +228,7 @@
                           :rules="[
                           {required: true, message:'是否首次承做不能为空', trigger:'blur'}
                  ]">
-              <el-radio v-model="inputForm.isFirst" v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" size="small" style="margin-right: 20px">
+              <el-radio v-model="inputForm.isFirst" v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" style="margin-right: 20px">
                 {{item.label}}</el-radio>
             </el-form-item>
           </el-col>
@@ -339,7 +339,7 @@
                           :rules="[
                           {required: true, message:'风险等级不能为空', trigger:'blur'}
                  ]">
-              <el-radio v-model="inputForm.riskLevel" v-for="item in $dictUtils.getDictList('program_registered_risk_level')" :label="item.value" size="small" style="margin-right: 20px">
+              <el-radio v-model="inputForm.riskLevel" v-for="item in $dictUtils.getDictList('program_registered_risk_level')" :label="item.value" style="margin-right: 20px">
                 {{item.label}}</el-radio>
             </el-form-item>
           </el-col>
@@ -548,7 +548,7 @@
             </vxe-table-column>
             <vxe-table-column title="操作" width="100">
               <template #default="scope">
-                <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'client')">删除</el-button>
+                <el-button type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'client')">删除</el-button>
               </template>
             </vxe-table-column>
           </vxe-table>
@@ -669,7 +669,7 @@
           contractName: '', // 合同名称
           client: '', // 委托方
           clientName: '', // 委托方名称
-          amount: '', // 合同金额
+          amount: 0, // 合同金额
           contractType: '', // 合同类别
           projectMould: '', // 项目类型
           name: '', // 项目名称
@@ -688,11 +688,11 @@
           enterpriseType: '', // 企业类型
           riskLevel: '', // 风险等级
           projectSource: '', // 项目来源
-          estimate: '', // 预估收入(元)
+          estimate: 0, // 预估收入(元)
           planEndTime: '', // 计划完成时间
-          useNum: '', // 计划使用人数
-          appointment: '', // 约定书(份)
-          workHours: '', // 预算工时
+          useNum: 0, // 计划使用人数
+          appointment: 0, // 约定书(份)
+          workHours: 0.0, // 预算工时
           remarks: '', // 备注
           assessmentEnterprise: '', // 被评估企业
           assessmentEnterpriseName: '', // 被评估企业名称
@@ -747,60 +747,61 @@
       init (method, id) {
         this.method = method
         this.inputForm = {
-          id: '', // 主键值(新增不传,修改必传)
-          no: '', // 编号(新增不传,修改必传)
-          contractId: '', // 合同id
-          contractName: '', // 合同名称
-          client: '', // 委托方
-          clientName: '', // 委托方名称
-          amount: '', // 合同金额
-          contractType: '', // 合同类型
-          name: '', // 项目名称
-          projectType: '', // 项目类别
-          projectMould: '', // 项目类型
-          company: '江苏兴光资产评估有限公司', // 执业机构
-          propertyHolder: '', // 产权持有人
-          propertyHolderName: '', // 产权持有人姓名
-          location: '', // 项目所在地
-          isFirst: '', // 是否首次承建
-          yearNum: '', // 承做年数
-          checkYear: '', // 评估费用核算年度
-          projectManager: '', // 项目经理
-          reportType: '', // 报告类型
-          industry: '', // 所属行业
-          enterpriseType: '', // 企业类型
-          riskLevel: '', // 风险等级
-          projectSource: '', // 项目来源
-          estimate: '', // 预估收入(元)
-          planEndTime: '', // 计划完成时间
-          useNum: '', // 计划使用人数
-          appointment: '', // 约定书(份)
-          workHours: '', // 预算工时
-          remarks: '', // 备注
-          assessmentEnterprise: '', // 被评估企业
-          assessmentEnterpriseName: '', // 被评估企业名称
-          linkNum: '', // 联系人及电话
-          relationship: '', // 委托人与被评估单位关系
-          assessmentWay: '', // 评估方式
-          assessmentObjective: '', // 评估目的
-          assessmentDate: '', // 评估基准日
-          num: '', // 评估服务收费总额
-          projectDevelopment: '', // 项目开发人
-          delegateProjectType: '', // 项目类型
-          assessmentObject: '', // 评估对象
-          workBeginAndEndDate: [], // 预计现场工作起止时间
-          workBeginDate: '', // 预计现场工作开始时间
-          workEndDate: '', // 预计现场工作结束时间
-          reportingDate: '', // 预计出报告日期
-          isHave: '', // 本所是否具备承接胜任能力
-          isInfluence: '', // 是否影响本所乘坐人员独立性
-          mode: '', // 项目承接方式
-          status: '', // 状态
-          procInsId: '', // 流程id
-          processDefinitionId: '', // 流程信息
-          links: [], // 联系人列表
-          members: [], // 成员列表
-          files: [], // 附件信息
+			id: '', // 主键值(新增不传,修改必传)
+			no: '', // 编号(新增不传,修改必传)
+			contractId: '', // 合同id
+			contractName: '', // 合同名称
+			client: '', // 委托方
+			clientName: '', // 委托方名称
+			amount: 0, // 合同金额
+			contractType: '', // 合同类别
+			projectMould: '', // 项目类型
+			name: '', // 项目名称
+			projectType: '', // 项目类型
+			approvalNo: '', // 立项号
+			company: '', // 执业机构
+			propertyHolder: '', // 产权持有人id
+			propertyHolderName: '', // 产权持有人姓名
+			location: '', // 项目所在地
+			isFirst: '', // 是否首次承建
+			yearNum: '', // 承做年数
+			checkYear: '', // 评估费用核算年度
+			projectManager: '', // 项目经理
+			reportType: '', // 报告类型
+			industry: '', // 所属行业
+			enterpriseType: '', // 企业类型
+			riskLevel: '', // 风险等级
+			projectSource: '', // 项目来源
+			estimate: 0, // 预估收入(元)
+			planEndTime: '', // 计划完成时间
+			useNum: 0, // 计划使用人数
+			appointment: 0, // 约定书(份)
+			workHours: 0.0, // 预算工时
+			remarks: '', // 备注
+			assessmentEnterprise: '', // 被评估企业
+			assessmentEnterpriseName: '', // 被评估企业名称
+			linkNum: '', // 联系人及电话
+			relationship: '', // 委托人与被评估单位关系
+			assessmentWay: '', // 评估方式
+			assessmentObjective: '', // 评估目的
+			assessmentDate: '', // 评估基准日
+			num: '', // 评估服务收费总额
+			projectDevelopment: '', // 项目开发人
+			delegateProjectType: '', // 项目类型
+			assessmentObject: '', // 评估对象
+			workBeginAndEndDate: [], // 预计现场工作起止时间
+			workBeginDate: '', // 预计现场工作开始时间
+			workEndDate: '', // 预计现场工作结束时间
+			reportingDate: '', // 预计出报告日期
+			isHave: '', // 本所是否具备承接胜任能力
+			isInfluence: '', // 是否影响本所乘坐人员独立性
+			mode: '', // 项目承接方式
+			status: '', // 状态
+			procInsId: '', // 流程id
+			processDefinitionId: '', // 流程信息
+			links: [], // 联系人列表
+			members: [], // 成员列表
+			files: [], // 附件信息
 
           contactList: [], // 被评估企业对接联系人
           equityList: [], // 产权持有人联系人

+ 102 - 95
src/views/program/registered/ProjectForm2022Tab.vue

@@ -7,12 +7,12 @@
       width="1300px"
       @close="close"
       @keyup.enter.native=""
-      :visible.sync="visible">
+	  v-model="visible">
       <el-row>
         <el-col :span="24">
           <el-tabs v-model="activeName" type="border-card" @tab-click="tabHandleClick">
             <el-tab-pane label="项目登记详情" name="programDetail">
-              <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method==='view'"
+              <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method==='view'"
                        label-width="220px" @submit.native.prevent>
                 <el-divider content-position="left"><i class="el-icon-document"></i> 选择合同</el-divider>
                 <el-row  :gutter="15">
@@ -22,8 +22,10 @@
                           {required: true, message:'合同不能为空', trigger:'blur'},
                           {required: true, message:'合同不能为空', trigger:'change'}
                  ]">
-                      <el-input size="medium" :disabled="method!=='add'" :readonly="true" @focus="openContractForm()" v-model="inputForm.contractName" placeholder="请选择合同">
-                        <el-button slot="append" icon="el-icon-search" @click="openContractForm()"></el-button>
+                      <el-input :disabled="method!=='add'" :readonly="true" @focus="openContractForm()" v-model="inputForm.contractName" placeholder="请选择合同">
+						<template #append>
+							<el-button icon="el-icon-search" @click="openContractForm()"></el-button>
+						</template>
                       </el-input>
                     </el-form-item>
                   </el-col>
@@ -161,7 +163,7 @@
                       <el-date-picker
                         v-model="inputForm.assessmentDate"
                         type="date"
-                        value-format="yyyy-MM-dd"
+                        value-format="YYYY-MM-DD"
                         placeholder="选择评估基准日"
                         style="width:100%"
                         placement="bottom-start"
@@ -203,10 +205,10 @@
                       label: 'name',         // 显示名称
                       children: 'children'    // 子级字段名
                     }"
-                        url="/sys/area/treeData"
+                        url="/system-server/sys/area/treeData"
                         :value="inputForm.location"
                         :clearable="true"
-                        size="medium"
+                        size="large"
                         :accordion="true"
                         @getValue="(value) => {inputForm.location=value}"/>
                     </el-form-item>
@@ -232,7 +234,7 @@
                                   :rules="[
                           {required: true, message:'是否首次承做不能为空', trigger:'blur'}
                  ]">
-                      <el-radio v-model="inputForm.isFirst" v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" size="small" style="margin-right: 20px">
+                      <el-radio v-model="inputForm.isFirst" v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" style="margin-right: 20px">
                         {{item.label}}</el-radio>
                     </el-form-item>
                   </el-col>
@@ -301,7 +303,7 @@
                       <el-date-picker
                         v-model="inputForm.checkYear"
                         type="year"
-                        value-format="yyyy"
+                        value-format="YYYY"
                         placeholder="选择评估费用核算年度"
                         style="width:100%"
                         placement="bottom-start"
@@ -316,13 +318,13 @@
                  ]">
                       <SelectUserTree
                         ref="companyTree"
-                        size="medium"
+                        size="large"
                         :props="{
                   value: 'id',             // ID字段名
                   label: 'name',         // 显示名称
                   children: 'children'    // 子级字段名
                 }"
-                        :url="`/sys/user/treeUserDataAllOffice?type=2`"
+                        :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
                         :value="inputForm.projectManager"
                         :clearable="true"
                         :accordion="true"
@@ -343,7 +345,7 @@
                                   :rules="[
                           {required: true, message:'风险等级不能为空', trigger:'blur'}
                  ]">
-                      <el-radio v-model="inputForm.riskLevel" v-for="item in $dictUtils.getDictList('program_registered_risk_level')" :label="item.value" size="small" style="margin-right: 20px">
+                      <el-radio v-model="inputForm.riskLevel" v-for="item in $dictUtils.getDictList('program_registered_risk_level')" :label="item.value" size="large" style="margin-right: 20px">
                         {{item.label}}</el-radio>
                     </el-form-item>
                   </el-col>
@@ -393,7 +395,7 @@
                       <el-date-picker
                         v-model="inputForm.planEndTime"
                         type="date"
-                        value-format="yyyy-MM-dd"
+                        value-format="YYYY-MM-DD"
                         placeholder="选择计划完成时间"
                         style="width:100%"
                         placement="bottom-start"
@@ -458,7 +460,6 @@
                                   :rules="[
                  ]">
                       <el-date-picker
-                        size="medium"
                         v-model="inputForm.workBeginAndEndDate"
                         type="daterange"
                         range-separator="至"
@@ -479,7 +480,7 @@
                       <el-date-picker
                         v-model="inputForm.reportingDate"
                         type="date"
-                        value-format="yyyy-MM-dd"
+                        value-format="YYYY-MM-DD"
                         placeholder="选择预计出报告时间"
                         style="width:100%"
                         placement="bottom-start"
@@ -497,11 +498,12 @@
                 </el-row>
                 <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="openContactForm('0')" plain>
+                  <el-button style="margin-left: 20px" type="primary" :disabled="method==='view'" size="default" @click="openContactForm('0')" plain>
                     新增
                   </el-button>
                 </el-divider>
                 <el-row  :gutter="15" >
+					<el-col :span="24">
                   <vxe-table
                     border
                     show-overflow
@@ -511,17 +513,16 @@
                     style="margin-left: 5em"
                     @cell-click=""
                     @edit-closed=""
-                    highlight-current-row
-                    :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+                    :edit-config="{trigger: 'click', mode: 'row', showStatus: true, autoClear: true}"
                   >
                     <vxe-table-column field="contacts" title="联系人" :edit-render="{}">
-                      <template v-slot:edit="scope">
+                      <template #edit="scope">
                         <el-input :disabled="true" v-model="scope.row.contacts" ></el-input>
                       </template>
                     </vxe-table-column>
                     <vxe-table-column field="clientType" title="人员类型" :edit-render="{name: '$select', options: clientTypes}">
-                      <template v-slot:edit="scope">
-                        <vxe-select v-model="scope.row.clientType"  transfer>
+                      <template #edit="scope">
+                        <vxe-select v-model="scope.row.clientType" :disabled="method === 'view'" transfer>
                           <vxe-option
                             v-for="item in clientTypes"
                             :key="item.value"
@@ -532,101 +533,104 @@
                       </template>
                     </vxe-table-column>
                     <vxe-table-column field="linkMobilePhoneFirst" title="联系方式1" :edit-render="{}">
-                      <template v-slot:edit="scope">
+                      <template #edit="scope">
                         <el-input :disabled="true" v-model="scope.row.linkMobilePhoneFirst" ></el-input>
                       </template>
                     </vxe-table-column>
                     <vxe-table-column field="linkMobilePhoneSecoed" title="联系方式2" :edit-render="{}">
-                      <template v-slot:edit="scope">
+                      <template #edit="scope">
                         <el-input :disabled="true" v-model="scope.row.linkMobilePhoneSecoed" ></el-input>
                       </template>
                     </vxe-table-column>
                     <vxe-table-column field="job" title="职位" :edit-render="{}">
-                      <template v-slot:edit="scope">
+                      <template #edit="scope">
                         <el-input v-model="scope.row.job" ></el-input>
                       </template>
                     </vxe-table-column>
                     <vxe-table-column field="remarks" title="备注" :edit-render="{}">
-                      <template v-slot:edit="scope">
+                      <template #edit="scope">
                         <el-input v-model="scope.row.remarks" ></el-input>
                       </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,'client')">删除</el-button>
+                      <template #default="scope">
+                        <el-button size="default" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'client')">删除</el-button>
                       </template>
                     </vxe-table-column>
                   </vxe-table>
+					</el-col>
                 </el-row>
 
 
                 <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('member')" plain>
+                  <el-button style="margin-left: 20px" type="primary" :disabled="method==='view'" size="default" @click="insertEvent('member')" plain>
                     新增
                   </el-button>
                 </el-divider>
                 <el-row  :gutter="15">
-                  <vxe-table
-                    border
-                    show-overflow
-                    show-footer
-                    :footer-method="footerMethod"
-                    ref="memberTable"
-                    class="vxe-table-element"
-                    :data="inputForm.members"
-                    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="name" title="姓名" :edit-render="{}">
-                      <template v-slot:edit="scope">
-                        <el-input v-model="scope.row.name" ></el-input>
-                      </template>
-                    </vxe-table-column>
-                    <vxe-table-column field="workHours" title="预计工时(时)" :edit-render="{name: '$input'}">
-                      <template v-slot:edit="scope">
-                        <vxe-input
-                          v-model="scope.row.workHours"
-                          type="float"
-                          digits="1"
-                          placeholder="请输入预计工时(时)"
-                          clearable>
-                        </vxe-input>
-                      </template>
-                    </vxe-table-column>
-                    <vxe-table-column field="type" title="人员类型" :edit-render="{name: '$select', options: $dictUtils.getDictList('program_registered_member_type')}">
-                      <template v-slot:edit="scope">
-                        <vxe-select v-model="scope.row.type" placeholder="请选择人员类型" clearable style="width: 100%;" transfer>
-                          <vxe-option
-                            v-for="item in $dictUtils.getDictList('program_registered_member_type')"
-                            :key="item.value"
-                            :label="item.label"
-                            :value="item.value">
-                          </vxe-option>
-                        </vxe-select>
-                      </template>
-                    </vxe-table-column>
-                    <vxe-table-column field="job" title="项目职务" :edit-render="{name: '$select', options: $dictUtils.getDictList('program_registered_member_position')}">
-                      <template v-slot:edit="scope">
-                        <vxe-select v-model="scope.row.job" placeholder="请选择项目职务" clearable style="width: 100%;" transfer>
-                          <vxe-option
-                            v-for="item in $dictUtils.getDictList('program_registered_member_position')"
-                            :key="item.value"
-                            :label="item.label"
-                            :value="item.value">
-                          </vxe-option>
-                        </vxe-select>
-                      </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,'member')">删除</el-button>
-                      </template>
-                    </vxe-table-column>
-                  </vxe-table>
+					<el-col :span="24">
+						<vxe-table
+							border
+							show-overflow
+							show-footer
+							:footer-method="footerMethod"
+							ref="memberTable"
+							class="vxe-table-element"
+							:data="inputForm.members"
+							style="margin-left: 5em"
+							@cell-click=""
+							@edit-closed=""
+							:edit-config="{trigger: 'click', mode: 'row', showStatus: true, autoClear: true}"
+						>
+							<vxe-table-column field="name" title="姓名" :edit-render="{}">
+								<template #edit="scope">
+									<el-input v-model="scope.row.name" ></el-input>
+								</template>
+							</vxe-table-column>
+							<vxe-table-column field="workHours" title="预计工时(时)" :edit-render="{name: '$input'}">
+								<template #edit="scope">
+									<vxe-input
+										:disabled="method === 'view'"
+										v-model="scope.row.workHours"
+										type="float"
+										digits="1"
+										placeholder="请输入预计工时(时)"
+										clearable>
+									</vxe-input>
+								</template>
+							</vxe-table-column>
+							<vxe-table-column field="type" title="人员类型" :edit-render="{name: '$select', options: $dictUtils.getDictList('program_registered_member_type')}">
+								<template #edit="scope">
+									<vxe-select :disabled="method === 'view'" v-model="scope.row.type" placeholder="请选择人员类型" clearable style="width: 100%;" transfer>
+										<vxe-option
+											v-for="item in $dictUtils.getDictList('program_registered_member_type')"
+											:key="item.value"
+											:label="item.label"
+											:value="item.value">
+										</vxe-option>
+									</vxe-select>
+								</template>
+							</vxe-table-column>
+							<vxe-table-column field="job" title="项目职务" :edit-render="{name: '$select', options: $dictUtils.getDictList('program_registered_member_position')}">
+								<template #edit="scope">
+									<vxe-select :disabled="method === 'view'" v-model="scope.row.job" placeholder="请选择项目职务" clearable style="width: 100%;" transfer>
+										<vxe-option
+											v-for="item in $dictUtils.getDictList('program_registered_member_position')"
+											:key="item.value"
+											:label="item.label"
+											:value="item.value">
+										</vxe-option>
+									</vxe-select>
+								</template>
+							</vxe-table-column>
+							<vxe-table-column title="操作" width="100">
+								<template #default="scope">
+									<el-button size="default" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'member')">删除</el-button>
+								</template>
+							</vxe-table-column>
+						</vxe-table>
+					</el-col>
                 </el-row>
               </el-form>
               <!--        附件-->
@@ -638,10 +642,13 @@
           </el-tabs>
         </el-col>
       </el-row>
-      <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="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="method != 'view'" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
+
     </el-dialog>
     <ContractForm  ref="contractForm" @getContract="getContract"></ContractForm>
     <WorkClientForm  ref="workClientForm" @getWorkClient="getWorkClient"></WorkClientForm>
@@ -842,7 +849,7 @@
           this.$refs.inputForm.resetFields()
           if (method === 'edit' || method === 'view') { // 修改或者查看
             this.loading = true
-            this.programProjectListInfoService.queryById(this.inputForm.id).then(({data}) => {
+            this.programProjectListInfoService.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.workBeginDate) && !this.commonJS.isEmpty(this.inputForm.workEndDate)) {
@@ -919,7 +926,7 @@
               this.inputForm.files = []
             }
             this.inputForm.files = this.$refs.uploadComponent.getDataList()
-            this.programProjectListInfoService.save2022(this.inputForm).then(({data}) => {
+            this.programProjectListInfoService.save2022(this.inputForm).then((data) => {
               this.close()
               this.$message.success(data)
               this.$emit('refreshDataList')
@@ -1007,7 +1014,7 @@
         this.visible = false
       },
       getTypeList () {
-        this.programTypeDictService.getList().then(({data}) => {
+        this.programTypeDictService.getList().then((data) => {
           this.typeDictList = data
         })
       },

+ 28 - 25
src/views/program/registered/ProjectFormUpdate.vue

@@ -7,8 +7,8 @@
       width="1300px"
       @close="close"
       @keyup.enter.native=""
-      :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 size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method==='view'"
                label-width="180px" @submit.native.prevent>
         <el-divider content-position="left"><i class="el-icon-document"></i> 选择合同</el-divider>
         <el-row  :gutter="15">
@@ -18,7 +18,7 @@
                           {required: true, message:'合同不能为空', trigger:'blur'},
                           {required: true, message:'合同不能为空', trigger:'change'}
                  ]">
-              <el-input size="medium" :readonly="true" @focus="openContractForm()" v-model="inputForm.contractName" placeholder="请选择合同">
+              <el-input size="large" :readonly="true" @focus="openContractForm()" v-model="inputForm.contractName" placeholder="请选择合同">
                 <el-button slot="append" icon="el-icon-search" @click="openContractForm()"></el-button>
               </el-input>
             </el-form-item>
@@ -157,7 +157,7 @@
               <el-date-picker
                 v-model="inputForm.assessmentDate"
                 type="date"
-                value-format="yyyy-MM-dd"
+                value-format="YYYY-MM-DD"
                 placeholder="选择评估基准日"
                 style="width:100%"
                 placement="bottom-start"
@@ -208,10 +208,10 @@
                       label: 'name',         // 显示名称
                       children: 'children'    // 子级字段名
                     }"
-                url="/sys/area/treeData"
+                url="/system-server/sys/area/treeData"
                 :value="inputForm.location"
                 :clearable="true"
-                size="medium"
+                size="large"
                 :accordion="true"
                 @getValue="(value) => {inputForm.location=value}"/>
             </el-form-item>
@@ -237,7 +237,7 @@
                           :rules="[
                           {required: true, message:'是否首次承做不能为空', trigger:'blur'}
                  ]">
-              <el-radio v-model="inputForm.isFirst" v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" size="small" style="margin-right: 20px">
+              <el-radio v-model="inputForm.isFirst" v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" size="large" style="margin-right: 20px">
                 {{item.label}}</el-radio>
             </el-form-item>
           </el-col>
@@ -305,7 +305,7 @@
               <el-date-picker
                 v-model="inputForm.checkYear"
                 type="year"
-                value-format="yyyy"
+                value-format="YYYY"
                 placeholder="选择评估费用核算年度"
                 style="width:100%"
                 placement="bottom-start"
@@ -320,13 +320,13 @@
                  ]">
               <SelectUserTree
                 ref="companyTree"
-                size="medium"
+                size="large"
                 :props="{
                   value: 'id',             // ID字段名
                   label: 'name',         // 显示名称
                   children: 'children'    // 子级字段名
                 }"
-                :url="`/sys/user/treeUserDataAllOffice?type=2`"
+                :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
                 :value="inputForm.projectManager"
                 :clearable="true"
                 :accordion="true"
@@ -347,7 +347,7 @@
                           :rules="[
                           {required: true, message:'风险等级不能为空', trigger:'blur'}
                  ]">
-              <el-radio v-model="inputForm.riskLevel" v-for="item in $dictUtils.getDictList('program_registered_risk_level')" :label="item.value" size="small" style="margin-right: 20px">
+              <el-radio v-model="inputForm.riskLevel" v-for="item in $dictUtils.getDictList('program_registered_risk_level')" :label="item.value" size="large" style="margin-right: 20px">
                 {{item.label}}</el-radio>
             </el-form-item>
           </el-col>
@@ -397,7 +397,7 @@
               <el-date-picker
                 v-model="inputForm.planEndTime"
                 type="date"
-                value-format="yyyy-MM-dd"
+                value-format="YYYY-MM-DD"
                 placeholder="选择计划完成时间"
                 style="width:100%"
                 placement="bottom-start"
@@ -462,7 +462,7 @@
                           :rules="[
                  ]">
               <el-date-picker
-                size="medium"
+                size="large"
                 v-model="inputForm.workBeginAndEndDate"
                 type="daterange"
                 range-separator="至"
@@ -496,7 +496,7 @@
               <el-date-picker
                 v-model="inputForm.reportingDate"
                 type="date"
-                value-format="yyyy-MM-dd"
+                value-format="YYYY-MM-DD"
                 placeholder="选择预计出报告时间"
                 style="width:100%"
                 placement="bottom-start"
@@ -514,7 +514,7 @@
         </el-row>
         <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="openContactForm('0')" plain>
+          <el-button style="margin-left: 20px" type="primary" :disabled="method==='view'" @click="openContactForm('0')" plain>
             新增
           </el-button>
         </el-divider>
@@ -570,7 +570,7 @@
             </vxe-table-column>
             <vxe-table-column title="操作" width="100" align="center">
               <template v-slot="scope">
-                <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'client')">删除</el-button>
+                <el-button type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'client')">删除</el-button>
               </template>
             </vxe-table-column>
           </vxe-table>
@@ -579,7 +579,7 @@
 
         <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('member')" plain>
+          <el-button style="margin-left: 20px" type="primary" :disabled="method==='view'"  @click="insertEvent('member')" plain>
             新增
           </el-button>
         </el-divider>
@@ -646,7 +646,7 @@
             </vxe-table-column>
             <vxe-table-column title="操作" width="100" align="center">
               <template v-slot="scope">
-                <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'member')">删除</el-button>
+                <el-button type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'member')">删除</el-button>
               </template>
             </vxe-table-column>
           </vxe-table>
@@ -654,10 +654,13 @@
       </el-form>
       <!--        附件-->
       <UpLoadComponent ref="uploadComponent"></UpLoadComponent>
-      <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="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="method != 'view'" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
+
     </el-dialog>
     <ContractForm  ref="contractForm" @getContract="getContract"></ContractForm>
     <WorkClientForm  ref="workClientForm" @getWorkClient="getWorkClient"></WorkClientForm>
@@ -852,7 +855,7 @@
           this.$refs.inputForm.resetFields()
           if (method === 'edit' || method === 'view') { // 修改或者查看
             this.loading = true
-            this.programProjectListInfoService.queryById(this.inputForm.id).then(({data}) => {
+            this.programProjectListInfoService.queryById(this.inputForm.id).then((data) => {
               this.inputForm = this.recover(this.inputForm, data)
               if (data.generateReportNumber === 'true') {
                 this.inputForm.generateReportNumber = true
@@ -955,7 +958,7 @@
               this.inputForm.files = []
             }
             this.inputForm.files = this.$refs.uploadComponent.getDataList()
-            this.programProjectListInfoService.save(this.inputForm).then(({data}) => {
+            this.programProjectListInfoService.save(this.inputForm).then((data) => {
               this.close()
               this.$message.success(data)
               this.$emit('refreshDataList')
@@ -1043,7 +1046,7 @@
         this.visible = false
       },
       getTypeList () {
-        this.programTypeDictService.getList().then(({data}) => {
+        this.programTypeDictService.getList().then((data) => {
           this.typeDictList = data
         })
       },

Plik diff jest za duży
+ 182 - 181
src/views/program/registered/ProjectList.vue


+ 18 - 13
src/views/program/registered/ProjectList2022.vue

@@ -35,8 +35,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="至"
@@ -90,9 +90,9 @@
           :tree-config="{transform: true, rowField: 'id', parentField: 'parentId'}"
           :checkbox-config="{}">
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
-          <vxe-column type="checkbox" width="40" ></vxe-column>
+          <vxe-column type="checkbox" width="50" ></vxe-column>
           <vxe-column min-width="170" align="center" title="项目名称" field="name" >
-            <template slot-scope="scope">
+            <template #default="scope">
               <el-link  type="primary" :underline="false" v-if="hasPermission('program:registered:view')" @click="view(scope.row)">{{scope.row.name}}</el-link>
               <el-link  type="primary" :underline="false" v-else-if="hasPermission('program:registered:view')" @click="view(scope.row)">{{scope.row.name}}</el-link>
               <span v-else>{{scope.row.name}}</span>
@@ -100,7 +100,7 @@
           </vxe-column>
           <vxe-column min-width="100" align="center" title="项目编号" field="no"></vxe-column>
           <vxe-column min-width="180" align="center" title="合同名称" field="contractName">
-            <template slot-scope="scope">
+            <template #default="scope">
               <el-link  type="primary" :underline="false" v-if="hasPermission('program:registered:view')" @click="viewContract(scope.row.contractId)">{{scope.row.contractName}}</el-link>
               <el-link  type="primary" :underline="false" v-else-if="hasPermission('program:registered:view')" @click="viewContract(scope.row.contractId)">{{scope.row.contractName}}</el-link>
               <span v-else>{{scope.row.name}}</span>
@@ -109,13 +109,13 @@
           <vxe-column min-width="100" align="center" title="项目负责人" field="projectManagerName"></vxe-column>
           <vxe-column min-width="180" align="center" title="委托方" field="clientName"></vxe-column>
           <vxe-column min-width="210" align="center" title="报告号" field="reportNo"></vxe-column>
-          <vxe-column min-width="100" align="center" title="登记人" field="createBy"></vxe-column>
-          <vxe-column min-width="120" align="center" title="创建日期" field="createDate"></vxe-column>
+          <vxe-column min-width="100" align="center" title="登记人" field="createById"></vxe-column>
+          <vxe-column min-width="120" align="center" title="创建日期" field="createTime"></vxe-column>
 
           <vxe-column  min-width="110px" align="center" fixed="right" title="状态" field="status" >
-            <template slot-scope="scope">
+            <template #default="scope">
 <!--              <el-button  type="text" @click="registeredDetail(scope.row)" :type="$dictUtils.getDictLabel('program_project_list_info_status_info', scope.row.status, '-')" effect="dark" size="mini">{{$dictUtils.getDictLabel("program_project_list_info_status", scope.row.status, '-')}} </el-button>-->
-              <el-button  type="text" :type="$dictUtils.getDictLabel('program_project_list_info_status_info', scope.row.status, '-')" effect="dark" size="mini">{{$dictUtils.getDictLabel("program_project_list_info_status", scope.row.status, '-')}} </el-button>
+              <el-button size="small" :type="$dictUtils.getDictLabel('program_project_list_info_status_info', scope.row.status, '')" effect="dark" >{{$dictUtils.getDictLabel("program_project_list_info_status", scope.row.status, '-')}} </el-button>
             </template>
           </vxe-column>
 <!--          <vxe-column min-width="120"align="center" title="一级校审" field="status1">-->
@@ -139,13 +139,13 @@
 <!--            </template>-->
 <!--          </vxe-column>-->
           <vxe-column min-width="110" align="center" fixed="right" title="项目归档" field="archiveStatus">
-            <template slot-scope="scope">
+            <template #default="scope">
 <!--              <el-button  type="text" @click="archiveDetail(scope.row)" :type="$dictUtils.getDictLabel('program_project_list_info_status_info', scope.row.archiveStatus, '-')" effect="dark" size="mini">{{$dictUtils.getDictLabel("program_project_list_info_status", scope.row.archiveStatus, '-')}} </el-button>-->
-              <el-button  type="text" :type="$dictUtils.getDictLabel('program_project_list_info_status_info', scope.row.archiveStatus, '-')" effect="dark" size="mini">{{$dictUtils.getDictLabel("program_project_list_info_status", scope.row.archiveStatus, '-')}} </el-button>
+              <el-button size="small" :type="$dictUtils.getDictLabel('program_project_list_info_status_info', scope.row.archiveStatus, '')" effect="dark">{{$dictUtils.getDictLabel("program_project_list_info_status", scope.row.archiveStatus, '-')}} </el-button>
             </template>
           </vxe-column>
           <vxe-column title="操作" min-width="200px" fixed="right" align="center">
-            <template  slot-scope="scope">
+            <template  #default="scope">
               <el-button v-if="hasPermission('program:registered:edit')&&(scope.row.createBy === createName&&scope.row.archiveStatus!=='5') || isAdmin" text type="primary" @click="edit(scope.row.id)">修改</el-button>
               <el-button v-if="hasPermission('program:registered:del')&&(scope.row.createBy === createName&&scope.row.archiveStatus!=='5') || isAdmin" text type="primary" @click="del(scope.row.id)">删除</el-button>
               <el-button v-if="hasPermission('program:registered:edit')&&scope.row.status === '5' && commonJS.isEmpty(scope.row.reportNo) && scope.row.createBy === createName" text type="primary" @click="saveReportNo(scope.row.id)">生成报告号</el-button>
@@ -939,14 +939,19 @@
       },
       // 下载文档
       exportFile () {
+      	let options = {
+			filename: '2022年项目登记列表信息',
+			sheetName: 'sheet1'
+		}
         this.loading = true
         this.programProjectListInfoService.exportFile({
           'itemType': '1',
           'tabType': '2022',
+		  ...options,
           ...this.searchForm
         }).then((res) => {
           // 将二进制流文件写入excel表,以下为重要步骤
-          this.$utils.downloadExcel(res, '2022年项目登记列表信息')
+          this.$utils.downloadExcel(res, options.filename)
           this.loading = false
         }).catch(function (err) {
           this.loading = false

+ 43 - 30
src/views/program/registered/ProjectThreeAuditForm.vue

@@ -7,13 +7,13 @@
         </el-row>
         <el-divider content-position="left"><i class="el-icon-document"></i> 项目校审</el-divider>
       </div>
-      <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="status === 'audit' || status === 'taskFormDetail'"
+      <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="status === 'audit' || status === 'taskFormDetail'"
                label-width="125px" @submit.native.prevent>
           <el-row  :gutter="15">
             <el-col :span="12">
               <el-form-item label="项目名称" prop="programProjectListInfo.name"
               >
-                <el-input size="medium" :disabled="true" v-model="inputForm.programProjectListInfo.name" placeholder="请输入项目名称" clearable></el-input>
+                <el-input size="large" :disabled="true" v-model="inputForm.programProjectListInfo.name" placeholder="请输入项目名称" clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
@@ -23,7 +23,7 @@
                   :disabled="true"
                   v-model="inputForm.programProjectListInfo.assessmentDate"
                   type="date"
-                  value-format="yyyy-MM-dd"
+                  value-format="YYYY-MM-DD"
                   placeholder="选择评估基准日"
                   style="width:100%"
                   placement="bottom-start"
@@ -36,7 +36,7 @@
               <el-form-item label="专业评估人员" prop="auditPeopleList"
                             :rules="[{required: true, message: '专业评估人员不能为空', trigger: 'blur'},{required: true, message: '专业评估人员不能为空', trigger: 'change'}]"
               >
-                <UserSelect size="medium" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='10' :value="inputForm.auditPeopleList" @getValue='(value) => {inputForm.auditPeopleList = value}'></UserSelect>
+                <UserSelect :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit="10" :modelValue="inputForm.auditPeopleList" @update:modelValue='(value) => {inputForm.auditPeopleList = value}'></UserSelect>
               </el-form-item>
             </el-col>
             <el-col :span="12">
@@ -44,13 +44,13 @@
               >
                 <SelectUserTree
                   ref="companyTree"
-                  size="medium"
+                  size="large"
                   :props="{
                   value: 'id',             // ID字段名
                   label: 'name',         // 显示名称
                   children: 'children'    // 子级字段名
                 }"
-                  :url="`/sys/user/treeUserDataAllOffice?type=2`"
+                  :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
                   :value="inputForm.programProjectListInfo.projectManager"
                   :disabled="true"
                   :clearable="true"
@@ -64,7 +64,11 @@
               <el-form-item label="选择项目审核人" prop="auditPeople"
                             :rules="[{required: true, message: '审批人不能为空', trigger: 'blur'},{required: true, message: '审批人不能为空', trigger: 'change'}]"
               >
-                <UserSelect size="medium" :disabled="status === 'audit' || status === 'taskFormDetail'" :readonly="true" :limit='1' :value="inputForm.auditPeople" @getValue='(value) => {inputForm.auditPeople = value}'></UserSelect>
+                <UserSelect :disabled="status === 'audit' || status === 'taskFormDetail'"
+							:readonly="true" :limit="1"
+							:modelValue="inputForm.auditPeople"
+							@update:modelValue='(value) => {inputForm.auditPeople = value}'>
+				</UserSelect>
               </el-form-item>
             </el-col>
           </el-row>
@@ -84,31 +88,35 @@
               <el-form-item label="明细表" prop="detailOpinion"
               >
                 <!--            <el-input type="textarea" style="width:100%" maxlength="1000" v-model="inputForm.detailOpinion" placeholder="请填写明细表"     ></el-input>-->
-                <WangEditor ref="contents1Editor" v-model="inputForm.detailOpinion"/>
+                <WangEditor style="width: 100%"
+							ref="contents1Editor"
+							:modelValue="inputForm.detailOpinion"
+							@update:modelValue="(value) => {inputForm.detailOpinion = value}"/>
               </el-form-item>
             </el-col>
             <el-col :span="24">
               <el-form-item label="评估报告" prop="reportOpinion"
               >
                 <!--            <el-input type="textarea" style="width:100%" maxlength="1000" v-model="inputForm.reportOpinion" placeholder="请填写评估报告"     ></el-input>-->
-                <WangEditor ref="contents2Editor" v-model="inputForm.reportOpinion"/>
+                <WangEditor style="width: 100%" ref="contents2Editor" :modelValue="inputForm.reportOpinion" @update:modelValue="(value) => {inputForm.reportOpinion = value}"/>
               </el-form-item>
             </el-col>
             <el-col :span="24">
               <el-form-item label="技术说明" prop="remarksOpinion"
               >
                 <!--            <el-input type="textarea" style="width:100%" maxlength="1000" v-model="inputForm.remarksOpinion" placeholder="请填写技术说明"     ></el-input>-->
-                <WangEditor ref="contents3Editor" v-model="inputForm.remarksOpinion"/>
+                <WangEditor style="width: 100%" ref="contents3Editor" :modelValue="inputForm.remarksOpinion" @update:modelValue="(value) => {inputForm.remarksOpinion = value}"/>
               </el-form-item>
             </el-col>
             <el-col :span="24">
               <el-form-item label="工作底稿" prop="workOpinion"
               >
                 <!--            <el-input type="textarea" style="width:100%" maxlength="1000" v-model="inputForm.workOpinion" placeholder="请填写工作底稿"     ></el-input>-->
-                <WangEditor ref="contents4Editor" v-model="inputForm.workOpinion"/>
+                <WangEditor style="width: 100%" ref="contents4Editor" :modelValue="inputForm.workOpinion" @update:modelValue="(value) => {inputForm.workOpinion = value}"/>
               </el-form-item>
             </el-col>
-            <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"
+			  <el-col :span="24">
+            <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"
                      label-width="125px" @submit.native.prevent>
               <el-col :span="24">
                 <el-form-item label="执行人员保留意见" prop="retainOpinion"
@@ -125,7 +133,8 @@
                 </el-form-item>
               </el-col>
             </el-form>
-          </el-row>
+			  </el-col>
+		  </el-row>
 
 
       </el-form>
@@ -261,7 +270,11 @@
           processDefinitionId: '',
           status: '',
           programProjectListInfo: {
-            id: ''
+            id: '',
+			  name: '',
+			  assessmentDate: '',
+			  projectManager: '',
+			  projectManagerName: ''
           },
           programAuditAssessPeopleDtoList: [],
           workAttachmentDtoList: [],
@@ -273,7 +286,7 @@
         this.$nextTick(() => {
           this.$refs.inputForm.resetFields()
           this.loading = true
-          this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then(({data}) => {
+          this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then((data) => {
             this.inputForm = this.recover(this.inputForm, data)
             this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
             this.$refs.contents1Editor.clear()
@@ -313,11 +326,11 @@
             if (this.status === 'taskFormDetail') {
               this.$refs.uploadComponent.newUpload('view', this.inputForm.workAttachmentDtoList, 'program_audit')
             } else if (this.status === 'audit') {
-              this.$refs.uploadComponent.newUpload('view', this.inputForm.workAttachmentDtoList, 'program_audit', null, null, true, JSON.parse(localStorage.getItem('user')).name)
+              this.$refs.uploadComponent.newUpload('view', this.inputForm.workAttachmentDtoList, 'program_audit', null, null, true, this.$store.state.user.name)
             } else if (this.method === 'view') {
               this.$refs.uploadComponent.newUpload('view', this.inputForm.workAttachmentDtoList, 'program_audit')
             } else {
-              this.$refs.uploadComponent.newUpload('view', this.inputForm.workAttachmentDtoList, 'program_audit', null, null, true, JSON.parse(localStorage.getItem('user')).name)
+              this.$refs.uploadComponent.newUpload('view', this.inputForm.workAttachmentDtoList, 'program_audit', null, null, true, this.$store.state.user.name)
             }
             this.loading = false
           })
@@ -325,7 +338,7 @@
       },
       reapplyForm (callback) {
         this.loading = true
-        this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then(({data}) => {
+        this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then((data) => {
           if (data.status !== '4') { // 审核状态不是“驳回”,就弹出提示
             this.loading = false
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -341,7 +354,7 @@
       startForm (callback) {
         this.loading = true
         if (this.commonJS.isNotEmpty(this.inputForm.id)) {
-          this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then(({data}) => {
+          this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then((data) => {
             if (this.commonJS.isNotEmpty(data.status) && data.status !== '0' && data.status !== '1' && data.status !== '3') { // 审核状态不是“未发起”或“暂存”或“撤回”,就弹出提示
               this.loading = false
               this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -359,7 +372,7 @@
       },
       async agreeForm (callback) {
         this.loading = true
-        await this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then(({data}) => {
+        await this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then((data) => {
           if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
             this.loading = false
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -390,7 +403,7 @@
           } else {
             this.inputForm.programAuditAssessPeopleDtoList = []
           }
-          this.programProjectListInfoService.saveFormThree(this.inputForm).then(({data}) => {
+          this.programProjectListInfoService.saveFormThree(this.inputForm).then((data) => {
             this.inputForm.assignee = this.inputForm.auditPeople
             callback(data.businessTable, data.businessId, this.inputForm)
             this.loading = false
@@ -419,7 +432,7 @@
               this.inputForm.programAuditAssessPeopleDtoList = []
             }
             this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
-            this.programProjectListInfoService.saveFormThree(this.inputForm).then(({data}) => {
+            this.programProjectListInfoService.saveFormThree(this.inputForm).then((data) => {
               this.inputForm.assignee = this.inputForm.auditPeople
               this.inputForm.id = data.businessId
               callback(data.businessTable, data.businessId, this.inputForm)
@@ -439,7 +452,7 @@
           throw new Error()
         } else {
           if (type === 'reject' || type === 'reback') {
-            this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then(({data}) => {
+            this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then((data) => {
               if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
                 this.loading = false
                 this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -463,7 +476,7 @@
                   } else {
                     this.inputForm.programAuditAssessPeopleDtoList = []
                   }
-                  this.programProjectListInfoService.saveFormThree(this.inputForm).then(({data}) => {
+                  this.programProjectListInfoService.saveFormThree(this.inputForm).then((data) => {
                     this.loading = false
                   }).catch(() => {
                     this.loading = false
@@ -485,7 +498,7 @@
               }
             })
           } else if (type === 'hold') {
-            this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then(({data}) => {
+            this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then((data) => {
               if (data.status !== '4') { // status的值不等于“驳回”就弹出提示
                 this.loading = false
                 this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -507,7 +520,7 @@
       //     this.loading = false
       //     throw new Error()
       //   }
-      //   await this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then(({data}) => {
+      //   await this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then((data) => {
       //     if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
       //       this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
       //       throw new Error()
@@ -530,7 +543,7 @@
       //         } else {
       //           this.inputForm.programAuditAssessPeopleDtoList = []
       //         }
-      //         this.programProjectListInfoService.saveFormThree(this.inputForm).then(({data}) => {
+      //         this.programProjectListInfoService.saveFormThree(this.inputForm).then((data) => {
       //           this.loading = false
       //         }).catch(() => {
       //           this.loading = false
@@ -580,7 +593,7 @@
         if (this.tabName === '一级校审') {
           this.programProjectListInfoService.downloadFirstAuditTpl(this.inputForm.programProjectListInfo.id, this.inputForm.id).then((res) => {
             // 将二进制流文件写入excel表,以下为重要步骤
-            this.$utils.downloadWord(res.data, this.tabName)
+            this.$utils.downloadWord(res, this.tabName)
             this.loading = false
           }).catch(function (err) {
             this.loading = false
@@ -592,7 +605,7 @@
         if (this.tabName === '二级校审') {
           this.programProjectListInfoService.downloadSecondAuditTpl(this.inputForm.programProjectListInfo.id, this.inputForm.id).then((res) => {
             // 将二进制流文件写入excel表,以下为重要步骤
-            this.$utils.downloadWord(res.data, this.tabName)
+            this.$utils.downloadWord(res, this.tabName)
             this.loading = false
           }).catch(function (err) {
             this.loading = false
@@ -604,7 +617,7 @@
         if (this.tabName === '三级校审') {
           this.programProjectListInfoService.downloadThirdlyAuditTpl(this.inputForm.programProjectListInfo.id, this.inputForm.id).then((res) => {
             // 将二进制流文件写入excel表,以下为重要步骤
-            this.$utils.downloadWord(res.data, this.tabName)
+            this.$utils.downloadWord(res, this.tabName)
             this.loading = false
           }).catch(function (err) {
             this.loading = false

+ 16 - 13
src/views/program/registered/ProjectThreeAuditFormDialog.vue

@@ -8,14 +8,14 @@
       @close="close"
       @keyup.enter.native=""
       append-to-body
-      :visible.sync="visible">
-      <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="true"
+	  v-model="visible">
+      <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="true"
                label-width="125px" @submit.native.prevent>
           <el-row  :gutter="15">
             <el-col :span="12">
               <el-form-item label="项目名称" prop="programProjectListInfo.name"
               >
-                <el-input size="medium" :disabled="true" v-model="inputForm.programProjectListInfo.name" placeholder="请输入项目名称" clearable></el-input>
+                <el-input size="large" :disabled="true" v-model="inputForm.programProjectListInfo.name" placeholder="请输入项目名称" clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
@@ -25,7 +25,7 @@
                   :disabled="true"
                   v-model="inputForm.programProjectListInfo.assessmentDate"
                   type="date"
-                  value-format="yyyy-MM-dd"
+                  value-format="YYYY-MM-DD"
                   placeholder="选择评估基准日"
                   style="width:100%"
                   placement="bottom-start"
@@ -38,7 +38,7 @@
               <el-form-item label="专业评估人员" prop="auditPeopleList"
                             :rules="[{required: true, message: '专业评估人员不能为空', trigger: 'blur'},{required: true, message: '专业评估人员不能为空', trigger: 'change'}]"
               >
-                <UserSelect size="medium" :disabled="true" :readonly="true" :limit='10' :value="inputForm.auditPeopleList" @getValue='(value) => {inputForm.auditPeopleList = value}'></UserSelect>
+                <UserSelect size="large" :disabled="true" :readonly="true" :limit='10' :value="inputForm.auditPeopleList" @getValue='(value) => {inputForm.auditPeopleList = value}'></UserSelect>
               </el-form-item>
             </el-col>
             <el-col :span="12">
@@ -46,13 +46,13 @@
               >
                 <SelectUserTree
                   ref="companyTree"
-                  size="medium"
+                  size="large"
                   :props="{
                   value: 'id',             // ID字段名
                   label: 'name',         // 显示名称
                   children: 'children'    // 子级字段名
                 }"
-                  :url="`/sys/user/treeUserDataAllOffice?type=2`"
+                  :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
                   :value="inputForm.programProjectListInfo.projectManager"
                   :disabled="true"
                   :clearable="true"
@@ -66,7 +66,7 @@
               <el-form-item label="选择项目审核人" prop="auditPeople"
                             :rules="[{required: true, message: '审批人不能为空', trigger: 'blur'},{required: true, message: '审批人不能为空', trigger: 'change'}]"
               >
-                <UserSelect size="medium" :disabled="true" :readonly="true" :limit='1' :value="inputForm.auditPeople" @getValue='(value) => {inputForm.auditPeople = value}'></UserSelect>
+                <UserSelect size="large" :disabled="true" :readonly="true" :limit='1' :value="inputForm.auditPeople" @getValue='(value) => {inputForm.auditPeople = value}'></UserSelect>
               </el-form-item>
             </el-col>
           </el-row>
@@ -100,7 +100,7 @@
                 <WangEditor ref="contents4Editor" v-model="inputForm.workOpinion"/>
               </el-form-item>
             </el-col>
-            <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"
+            <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"
                      label-width="125px" @submit.native.prevent>
               <el-col :span="24">
                 <el-form-item label="执行人员保留意见" prop="retainOpinion"
@@ -123,9 +123,12 @@
       </el-form>
       <!--        附件-->
       <UpLoadComponent ref="uploadComponent"></UpLoadComponent>
-      <span slot="footer" class="dialog-footer">
-        <el-button size="small" @click="close()" icon="el-icon-circle-close">关闭</el-button>
-      </span>
+		<template #footer>
+			<span class="dialog-footer">
+			<el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
+		  </span>
+		</template>
+
     </el-dialog>
   </div>
 </template>
@@ -231,7 +234,7 @@
         this.$nextTick(() => {
           this.$refs.inputForm.resetFields()
           this.loading = true
-          this.programProjectListInfoService.findByProIdAndLevel(programId, auditLevel).then(({data}) => {
+          this.programProjectListInfoService.findByProIdAndLevel(programId, auditLevel).then((data) => {
             this.$refs.uploadComponent.clearUpload()
             this.inputForm = this.recover(this.inputForm, data)
             this.inputForm = JSON.parse(JSON.stringify(this.inputForm))

+ 211 - 191
src/views/program/registered/ProofreadBrowseForm.vue

@@ -7,8 +7,8 @@
       width="1300px"
       @close="close"
       @keyup.enter.native=""
-      :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 size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="method==='view'"
                label-width="220px" @submit.native.prevent>
 
         <el-row :gutter="15">
@@ -48,194 +48,208 @@
 
         <el-divider content-position="left"><i class="el-icon-document"></i>报告、说明、明细表一致性</el-divider>
         <el-row :gutter="15" >
-          <vxe-table
-            border
-            show-overflow
-            ref="detailFor40"
-            class="vxe-table-element"
-            :data="inputForm.detailFor40"
-            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="typeName" title="审核要点" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input :disabled="true" v-model="scope.row.typeName" ></el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column width="150px" field="reviewComments" title="审核情况(√/×)" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <vxe-select v-model="scope.row.reviewComments" transfer>
-                  <vxe-option
-                    v-for="item in yesOrNo"
-                    :key="item.value"
-                    :value="item.label"
-                    :label="item.label">
-                  </vxe-option>
-                </vxe-select>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column width="150px" field="replyComments" title="改正情况(√/×)" :edit-render="{name: '$select', options: yesOrNo}">
-              <template v-slot:edit="scope">
-                <vxe-select v-model="scope.row.replyComments" transfer>
-                  <vxe-option
-                    v-for="item in yesOrNo"
-                    :key="item.value"
-                    :value="item.label"
-                    :label="item.label">
-                  </vxe-option>
-                </vxe-select>
-              </template>
-            </vxe-table-column>
-          </vxe-table>
+			<el-col :span="24">
+				<vxe-table
+					border
+					show-overflow
+					ref="detailFor40"
+					class="vxe-table-element"
+					:data="inputForm.detailFor40"
+					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="typeName" title="审核要点" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<el-input :disabled="true" v-model="scope.row.typeName" ></el-input>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column width="150px" field="reviewComments" title="审核情况(√/×)" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<vxe-select v-model="scope.row.reviewComments" transfer>
+								<vxe-option
+									v-for="item in yesOrNo"
+									:key="item.value"
+									:value="item.label"
+									:label="item.label">
+								</vxe-option>
+							</vxe-select>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column width="150px" field="replyComments" title="改正情况(√/×)" :edit-render="{name: '$select', options: yesOrNo}">
+						<template v-slot:edit="scope">
+							<vxe-select v-model="scope.row.replyComments" transfer>
+								<vxe-option
+									v-for="item in yesOrNo"
+									:key="item.value"
+									:value="item.label"
+									:label="item.label">
+								</vxe-option>
+							</vxe-select>
+						</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" >
-          <vxe-table
-            border
-            show-overflow
-            ref="detailFor50"
-            class="vxe-table-element"
-            :data="inputForm.detailFor50"
-            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="typeName" title="审核要点" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input :disabled="true" v-model="scope.row.typeName" ></el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column width="150px" field="reviewComments" title="审核情况(√/×)" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <vxe-select v-model="scope.row.reviewComments" transfer>
-                  <vxe-option
-                    v-for="item in yesOrNo"
-                    :key="item.value"
-                    :value="item.label"
-                    :label="item.label">
-                  </vxe-option>
-                </vxe-select>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column width="150px" field="replyComments" title="改正情况(√/×)" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <vxe-select v-model="scope.row.replyComments" transfer>
-                  <vxe-option
-                    v-for="item in yesOrNo"
-                    :key="item.value"
-                    :value="item.label"
-                    :label="item.label">
-                  </vxe-option>
-                </vxe-select>
-              </template>
-            </vxe-table-column>
-          </vxe-table>
+			<el-col :span="24">
+				<vxe-table
+					border
+					show-overflow
+					ref="detailFor50"
+					class="vxe-table-element"
+					:data="inputForm.detailFor50"
+					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="typeName" title="审核要点" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<el-input :disabled="true" v-model="scope.row.typeName" ></el-input>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column width="150px" field="reviewComments" title="审核情况(√/×)" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<vxe-select v-model="scope.row.reviewComments" transfer>
+								<vxe-option
+									v-for="item in yesOrNo"
+									:key="item.value"
+									:value="item.label"
+									:label="item.label">
+								</vxe-option>
+							</vxe-select>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column width="150px" field="replyComments" title="改正情况(√/×)" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<vxe-select v-model="scope.row.replyComments" transfer>
+								<vxe-option
+									v-for="item in yesOrNo"
+									:key="item.value"
+									:value="item.label"
+									:label="item.label">
+								</vxe-option>
+							</vxe-select>
+						</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" >
-          <vxe-table
-            border
-            show-overflow
-            ref="detailFor60"
-            class="vxe-table-element"
-            :data="inputForm.detailFor60"
-            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="typeName" title="审核要点" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input :disabled="true" v-model="scope.row.typeName" ></el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column width="150px" field="reviewComments" title="审核情况(√/×)" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <vxe-select v-model="scope.row.reviewComments" transfer>
-                  <vxe-option
-                    v-for="item in yesOrNo"
-                    :key="item.value"
-                    :value="item.label"
-                    :label="item.label">
-                  </vxe-option>
-                </vxe-select>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column width="150px" field="replyComments" title="改正情况(√/×)" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <vxe-select v-model="scope.row.replyComments" transfer>
-                  <vxe-option
-                    v-for="item in yesOrNo"
-                    :key="item.value"
-                    :value="item.label"
-                    :label="item.label">
-                  </vxe-option>
-                </vxe-select>
-              </template>
-            </vxe-table-column>
-          </vxe-table>
+			<el-col :span="24">
+				<vxe-table
+					border
+					show-overflow
+					ref="detailFor60"
+					class="vxe-table-element"
+					:data="inputForm.detailFor60"
+					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="typeName" title="审核要点" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<el-input :disabled="true" v-model="scope.row.typeName" ></el-input>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column width="150px" field="reviewComments" title="审核情况(√/×)" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<vxe-select v-model="scope.row.reviewComments" transfer>
+								<vxe-option
+									v-for="item in yesOrNo"
+									:key="item.value"
+									:value="item.label"
+									:label="item.label">
+								</vxe-option>
+							</vxe-select>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column width="150px" field="replyComments" title="改正情况(√/×)" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<vxe-select v-model="scope.row.replyComments" transfer>
+								<vxe-option
+									v-for="item in yesOrNo"
+									:key="item.value"
+									:value="item.label"
+									:label="item.label">
+								</vxe-option>
+							</vxe-select>
+						</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" >
-          <vxe-table
-            border
-            show-overflow
-            ref="detailFor70"
-            class="vxe-table-element"
-            :data="inputForm.detailFor70"
-            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="typeName" title="审核要点" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input :disabled="true" v-model="scope.row.typeName" ></el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column width="150px" field="reviewComments" title="审核情况(√/×)" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <vxe-select v-model="scope.row.reviewComments" transfer>
-                  <vxe-option
-                    v-for="item in yesOrNo"
-                    :key="item.value"
-                    :value="item.label"
-                    :label="item.label">
-                  </vxe-option>
-                </vxe-select>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column width="150px" field="replyComments" title="改正情况(√/×)" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <vxe-select v-model="scope.row.replyComments" transfer>
-                  <vxe-option
-                    v-for="item in yesOrNo"
-                    :key="item.value"
-                    :value="item.label"
-                    :label="item.label">
-                  </vxe-option>
-                </vxe-select>
-              </template>
-            </vxe-table-column>
-          </vxe-table>
+			<el-col :span="24">
+				<vxe-table
+					border
+					show-overflow
+					ref="detailFor70"
+					class="vxe-table-element"
+					:data="inputForm.detailFor70"
+					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="typeName" title="审核要点" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<el-input :disabled="true" v-model="scope.row.typeName" ></el-input>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column width="150px" field="reviewComments" title="审核情况(√/×)" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<vxe-select v-model="scope.row.reviewComments" transfer>
+								<vxe-option
+									v-for="item in yesOrNo"
+									:key="item.value"
+									:value="item.label"
+									:label="item.label">
+								</vxe-option>
+							</vxe-select>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column width="150px" field="replyComments" title="改正情况(√/×)" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<vxe-select v-model="scope.row.replyComments" transfer>
+								<vxe-option
+									v-for="item in yesOrNo"
+									:key="item.value"
+									:value="item.label"
+									:label="item.label">
+								</vxe-option>
+							</vxe-select>
+						</template>
+					</vxe-table-column>
+				</vxe-table>
+			</el-col>
+
         </el-row>
 
       </el-form>
+		<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="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			  </span>
+		</template>
 
-      <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="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
-      </span>
 
     </el-dialog>
   </div>
@@ -289,10 +303,10 @@
     },
     computed: {
       name () {
-        return JSON.parse(localStorage.getItem('user')).name
+        return this.$store.state.user.name
       },
       userId () {
-        return JSON.parse(localStorage.getItem('user')).id
+        return this.$store.state.user.id
       }
     },
     methods: {
@@ -317,29 +331,35 @@
         this.loading = false
         this.$nextTick(() => {
           this.loading = true
-          this.proofreadInfoService.findById(id, '2').then(({data}) => {
+          this.proofreadInfoService.findById(id, '2').then(async (data) => {
             if (!this.commonJS.isEmpty(data.projectId)) {
               this.$refs.inputForm.resetFields()
               this.inputForm = this.recover(this.inputForm, data)
               this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
               this.inputForm.processDate = data.processDate
               this.detailDivide(data.details)
+				this.loading = false
             } else {
               // 初始化
-              this.programProjectListInfoService.queryById(id).then(({data}) => {
-                this.inputForm.projectId = data.id
-                this.inputForm.projectName = data.name
-                this.inputForm.assessmentDate = data.assessmentDate
-                userService.queryById(data.projectManager).then(({data}) => {
-                  this.inputForm.projectManagerName = data.name
-                })
-              })
-              this.inputForm.processUserId = this.userId
-              this.inputForm.processUserName = this.name
-              this.inputForm.processDate = new Date()
-              this.proofreadInfoService.list('2').then(({data}) => { this.detailDivide(data) })
+                let programInfo = await this.programProjectListInfoService.queryById(id)
+				if (programInfo) {
+					this.inputForm.projectId = programInfo.id
+					this.inputForm.projectName = programInfo.name
+					this.inputForm.assessmentDate = programInfo.assessmentDate
+					let userInfo = await userService.queryById(programInfo.projectManager)
+					if (userInfo) {
+						this.inputForm.projectManagerName = userInfo.name
+					}
+				}
+                this.inputForm.processUserId = this.userId
+                this.inputForm.processUserName = this.name
+                this.inputForm.processDate = new Date()
+                let detail = await this.proofreadInfoService.list('2')
+				if (detail) {
+					this.detailDivide(detail)
+				}
+				this.loading = false
             }
-            this.loading = false
           })
         })
       },
@@ -355,7 +375,7 @@
             this.inputForm.detailFor60.forEach(item => { this.inputForm.details.push(item) })
             this.inputForm.detailFor70.forEach(item => { this.inputForm.details.push(item) })
             this.inputForm.type = '2'
-            this.proofreadInfoService.save(this.inputForm).then(({data}) => {
+            this.proofreadInfoService.save(this.inputForm).then((data) => {
               this.close()
               this.$message.success(data)
               this.loading = false

+ 17 - 9
src/views/program/registered/ProofreadBrowseFormComponent.vue

@@ -6,7 +6,7 @@
       </el-row>
       <el-divider content-position="left"><i class="el-icon-document"></i> 浏览审核</el-divider>
     </div>
-      <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="method==='view'"
+      <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="method==='view'"
                label-width="120px" @submit.native.prevent>
 
         <el-row :gutter="15">
@@ -46,6 +46,7 @@
 
         <el-divider content-position="left"><i class="el-icon-document"></i>报告、说明、明细表一致性</el-divider>
         <el-row :gutter="15" >
+			<el-col :span="24">
           <vxe-table
             border
             show-overflow
@@ -88,10 +89,12 @@
               </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" >
+			<el-col :span="24">
           <vxe-table
             border
             show-overflow
@@ -134,10 +137,12 @@
               </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" >
+			<el-col :span="24">
           <vxe-table
             border
             show-overflow
@@ -180,10 +185,12 @@
               </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" >
+			<el-col :span="24">
           <vxe-table
             border
             show-overflow
@@ -226,6 +233,7 @@
               </template>
             </vxe-table-column>
           </vxe-table>
+			</el-col>
         </el-row>
 
       </el-form>
@@ -287,10 +295,10 @@
     },
     computed: {
       name () {
-        return JSON.parse(localStorage.getItem('user')).name
+        return this.$store.state.user.name
       },
       userId () {
-        return JSON.parse(localStorage.getItem('user')).id
+        return this.$store.state.user.id
       }
     },
     methods: {
@@ -317,7 +325,7 @@
         this.loading = false
         this.$nextTick(() => {
           this.loading = true
-          this.proofreadInfoService.findById(id, '2').then(({data}) => {
+          this.proofreadInfoService.findById(id, '2').then((data) => {
             if (this.commonJS.isNotEmpty(data)) {
               this.showDownload = true
             }
@@ -329,18 +337,18 @@
               this.detailDivide(data.details)
             } else {
               // 初始化
-              this.programProjectListInfoService.queryById(id).then(({data}) => {
+              this.programProjectListInfoService.queryById(id).then((data) => {
                 this.inputForm.projectId = data.id
                 this.inputForm.projectName = data.name
                 this.inputForm.assessmentDate = data.assessmentDate
-                userService.queryById(data.projectManager).then(({data}) => {
+                userService.queryById(data.projectManager).then((data) => {
                   this.inputForm.projectManagerName = data.name
                 })
               })
               this.inputForm.processUserId = this.userId
               this.inputForm.processUserName = this.name
               this.inputForm.processDate = new Date()
-              this.proofreadInfoService.list('2').then(({data}) => { this.detailDivide(data) })
+              this.proofreadInfoService.list('2').then((data) => { this.detailDivide(data) })
             }
             this.loading = false
           })
@@ -358,7 +366,7 @@
             this.inputForm.detailFor60.forEach(item => { this.inputForm.details.push(item) })
             this.inputForm.detailFor70.forEach(item => { this.inputForm.details.push(item) })
             this.inputForm.type = '2'
-            this.proofreadInfoService.save(this.inputForm).then(({data}) => {
+            this.proofreadInfoService.save(this.inputForm).then((data) => {
               this.close()
               this.$message.success(data)
               this.loading = false
@@ -398,7 +406,7 @@
         this.loading = true
         this.programProjectListInfoService.downloadAuditRecordFormAfterBindingTpl(this.inputForm.projectId).then((res) => {
           // 将二进制流文件写入excel表,以下为重要步骤
-          this.$utils.downloadExcel(res.data, '评估报告装订后浏览审核记录表.xls')
+          this.$utils.downloadExcel(res, '评估报告装订后浏览审核记录表.xls')
           this.loading = false
         }).catch(function (err) {
           this.loading = false

+ 121 - 95
src/views/program/registered/ProofreadForm.vue

@@ -7,8 +7,8 @@
       width="1500px"
       @close="close"
       @keyup.enter.native=""
-      :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 size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="method==='view'"
                label-width="220px" @submit.native.prevent>
 
         <el-row :gutter="15">
@@ -48,70 +48,73 @@
 
         <el-divider content-position="left"><i class="el-icon-document"></i>明细表</el-divider>
         <el-row :gutter="15" >
-          <vxe-table
-            border
-            show-overflow
-            ref="detailFor1010"
-            class="vxe-table-element"
-            :data="inputForm.detailFor1010"
-            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="typeName" title="审核要点" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input :disabled="true" v-model="scope.row.typeName" ></el-input>
-              </template>
-            </vxe-table-column>
-<!--            <vxe-table-column width="150px" field="reviewComments" title="审核意见" :edit-render="{}">-->
-<!--              <template v-slot:edit="scope">-->
-<!--                <el-input v-model="scope.row.reviewComments" ></el-input>-->
-<!--              </template>-->
-<!--            </vxe-table-column>-->
-<!--            <vxe-table-column width="150px" field="replyComments" title="回复意见" :edit-render="{}">-->
-<!--              <template v-slot:edit="scope">-->
-<!--                <el-input v-model="scope.row.replyComments" ></el-input>-->
-<!--              </template>-->
-<!--            </vxe-table-column>-->
-            <vxe-table-column width="150px" field="reviewComments" title="审核意见(√/×)" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <vxe-select v-model="scope.row.reviewComments" transfer>
-                  <vxe-option
-                    v-for="item in $dictUtils.getDictList('yes_no_flag')"
-                    :key="item.value"
-                    :value="item.label"
-                    :label="item.label">
-                  </vxe-option>
-                </vxe-select>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column width="150px" field="isApply" title="是否适用(√/×)" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <vxe-select v-model="scope.row.isApply" transfer>
-                  <vxe-option
-                    v-for="item in $dictUtils.getDictList('yes_no_flag')"
-                    :key="item.value"
-                    :value="item.label"
-                    :label="item.label">
-                  </vxe-option>
-                </vxe-select>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column width="350px" field="replyComments" title="回复意见" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input v-model="scope.row.replyComments" ></el-input>
-              </template>
-            </vxe-table-column>
-          </vxe-table>
+			<el-col :span="24">
+				<vxe-table
+					border
+					show-overflow
+					ref="detailFor1010"
+					class="vxe-table-element"
+					:data="inputForm.detailFor1010"
+					style="margin-left: 5em"
+					@cell-click=""
+					@edit-closed=""
+					highlight-current-row
+					:edit-config="{trigger: 'click', mode: 'row', showStatus: false, autoClear: true, icon: '#'}"
+				>
+					<vxe-table-column field="typeName" title="审核要点" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<el-input :disabled="true" v-model="scope.row.typeName" ></el-input>
+						</template>
+					</vxe-table-column>
+					<!--            <vxe-table-column width="150px" field="reviewComments" title="审核意见" :edit-render="{}">-->
+					<!--              <template v-slot:edit="scope">-->
+					<!--                <el-input v-model="scope.row.reviewComments" ></el-input>-->
+					<!--              </template>-->
+					<!--            </vxe-table-column>-->
+					<!--            <vxe-table-column width="150px" field="replyComments" title="回复意见" :edit-render="{}">-->
+					<!--              <template v-slot:edit="scope">-->
+					<!--                <el-input v-model="scope.row.replyComments" ></el-input>-->
+					<!--              </template>-->
+					<!--            </vxe-table-column>-->
+					<vxe-table-column width="150px" field="reviewComments" title="审核意见(√/×)" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<vxe-select v-model="scope.row.reviewComments" transfer>
+								<vxe-option
+									v-for="item in $dictUtils.getDictList('yes_no_flag')"
+									:key="item.value"
+									:value="item.label"
+									:label="item.label">
+								</vxe-option>
+							</vxe-select>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column width="150px" field="isApply" title="是否适用(√/×)" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<vxe-select v-model="scope.row.isApply" transfer>
+								<vxe-option
+									v-for="item in $dictUtils.getDictList('yes_no_flag')"
+									:key="item.value"
+									:value="item.label"
+									:label="item.label">
+								</vxe-option>
+							</vxe-select>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column width="350px" field="replyComments" title="回复意见" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<el-input v-model="scope.row.replyComments" ></el-input>
+						</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></el-row>
         <el-divider content-position="left">封面至评估范围</el-divider>
         <el-row :gutter="15">
-          <vxe-table
+			<el-col :span="24">
+          		<vxe-table
             border
             show-overflow
             ref="details"
@@ -121,7 +124,7 @@
             @cell-click=""
             @edit-closed=""
             highlight-current-row
-            :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+            :edit-config="{trigger: 'click', mode: 'row', showStatus: false, autoClear: true, icon: '#'}"
           >
             <vxe-table-column field="typeName" title="审核要点" :edit-render="{}">
               <template v-slot:edit="scope">
@@ -168,11 +171,13 @@
               </template>
             </vxe-table-column>
           </vxe-table>
+			</el-col>
         </el-row>
 
         <el-divider content-position="left">资产核实情况总体说明</el-divider>
         <el-row :gutter="15">
-          <vxe-table
+			<el-col :span="24">
+          		<vxe-table
             border
             show-overflow
             ref="details"
@@ -182,7 +187,7 @@
             @cell-click=""
             @edit-closed=""
             highlight-current-row
-            :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+            :edit-config="{trigger: 'click', mode: 'row', showStatus: false, autoClear: true, icon: '#'}"
           >
             <vxe-table-column field="typeName" title="审核要点" :edit-render="{}">
               <template v-slot:edit="scope">
@@ -229,11 +234,13 @@
               </template>
             </vxe-table-column>
           </vxe-table>
+			</el-col>
         </el-row>
 
         <el-divider content-position="left">资产基础法/成本法评估技术说明</el-divider>
         <el-row :gutter="15">
-          <vxe-table
+			<el-col :span="24">
+          		<vxe-table
             border
             show-overflow
             ref="details"
@@ -243,7 +250,7 @@
             @cell-click=""
             @edit-closed=""
             highlight-current-row
-            :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+            :edit-config="{trigger: 'click', mode: 'row', showStatus: false, autoClear: true, icon: '#'}"
           >
             <vxe-table-column field="typeName" title="审核要点" :edit-render="{}">
               <template v-slot:edit="scope">
@@ -290,11 +297,13 @@
               </template>
             </vxe-table-column>
           </vxe-table>
+			</el-col>
         </el-row>
 
         <el-divider content-position="left">评估结论及分析</el-divider>
         <el-row :gutter="15">
-          <vxe-table
+			<el-col :span="24">
+          		<vxe-table
             border
             show-overflow
             ref="details"
@@ -304,7 +313,7 @@
             @cell-click=""
             @edit-closed=""
             highlight-current-row
-            :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+            :edit-config="{trigger: 'click', mode: 'row', showStatus: false, autoClear: true, icon: '#'}"
           >
             <vxe-table-column field="typeName" title="审核要点" :edit-render="{}">
               <template v-slot:edit="scope">
@@ -351,11 +360,13 @@
               </template>
             </vxe-table-column>
           </vxe-table>
+			</el-col>
         </el-row>
 
         <el-divider content-position="left">关于评估有关事项的说明</el-divider>
         <el-row :gutter="15">
-          <vxe-table
+			<el-col :span="24">
+          		<vxe-table
             border
             show-overflow
             ref="details"
@@ -365,7 +376,7 @@
             @cell-click=""
             @edit-closed=""
             highlight-current-row
-            :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+            :edit-config="{trigger: 'click', mode: 'row', showStatus: false, autoClear: true, icon: '#'}"
           >
             <vxe-table-column field="typeName" title="审核要点" :edit-render="{}">
               <template v-slot:edit="scope">
@@ -412,11 +423,13 @@
               </template>
             </vxe-table-column>
           </vxe-table>
+			</el-col>
         </el-row>
 
         <el-divider content-position="left">其他问题</el-divider>
         <el-row :gutter="15">
-          <vxe-table
+			<el-col :span="24">
+          		<vxe-table
             border
             show-overflow
             ref="details"
@@ -426,7 +439,7 @@
             @cell-click=""
             @edit-closed=""
             highlight-current-row
-            :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+            :edit-config="{trigger: 'click', mode: 'row', showStatus: false, autoClear: true, icon: '#'}"
           >
             <vxe-table-column field="typeName" title="审核要点" :edit-render="{}">
               <template v-slot:edit="scope">
@@ -473,11 +486,13 @@
               </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">
-          <vxe-table
+			<el-col :span="24">
+          		<vxe-table
             border
             show-overflow
             ref="details"
@@ -487,7 +502,7 @@
             @cell-click=""
             @edit-closed=""
             highlight-current-row
-            :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
+            :edit-config="{trigger: 'click', mode: 'row', showStatus: false, autoClear: true, icon: '#'}"
           >
             <vxe-table-column field="typeName" title="审核要点" :edit-render="{}">
               <template v-slot:edit="scope">
@@ -534,6 +549,7 @@
               </template>
             </vxe-table-column>
           </vxe-table>
+			</el-col>
         </el-row>
 
         <el-divider content-position="left"><i class="el-icon-document"></i>保留意见</el-divider>
@@ -555,11 +571,13 @@
         </el-input>
 
       </el-form>
+		<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="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			  </span>
+		</template>
 
-      <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="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
-      </span>
 
     </el-dialog>
   </div>
@@ -613,10 +631,10 @@
     },
     computed: {
       name () {
-        return JSON.parse(localStorage.getItem('user')).name
+        return this.$store.state.user.name
       },
       userId () {
-        return JSON.parse(localStorage.getItem('user')).id
+        return this.$store.state.user.id
       }
     },
     methods: {
@@ -645,30 +663,38 @@
         this.loading = false
         this.$nextTick(() => {
           this.loading = true
-          this.proofreadInfoService.findById(id, '1').then(({data}) => {
+          this.proofreadInfoService.findById(id, '1').then(async (data) => {
             if (!this.commonJS.isEmpty(data.projectId)) {
               this.$refs.inputForm.resetFields()
               this.inputForm = this.recover(this.inputForm, data)
               this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
               this.inputForm.processDate = data.processDate
               this.detailDivide(data.details)
+			  this.loading = false
             } else {
               // 初始化
-              this.programProjectListInfoService.queryById(id).then(({data}) => {
-                this.inputForm.projectId = data.id
-                this.inputForm.projectName = data.name
-                this.inputForm.assessmentDate = data.assessmentDate
-                userService.queryById(data.projectManager).then(({data}) => {
-                  this.inputForm.projectManagerName = data.name
-                })
-              })
-              this.inputForm.processUserId = this.userId
-              this.inputForm.processUserName = this.name
-              this.inputForm.processDate = new Date()
-              this.proofreadInfoService.list('1').then(({data}) => { this.detailDivide(data) })
+			    let detailData = await this.proofreadInfoService.list('1')
+			    if(detailData) {
+				  this.detailDivide(detailData)
+			    }
+			    let programInfo = await this.programProjectListInfoService.queryById(id)
+				if (programInfo) {
+					this.inputForm.projectId = programInfo.id
+					this.inputForm.projectName = programInfo.name
+					this.inputForm.assessmentDate = programInfo.assessmentDate
+					let projectManager = await userService.queryById(programInfo.projectManager)
+					if (projectManager) {
+						this.inputForm.projectManagerName = projectManager.name
+					}
+				}
+			    this.inputForm.processUserId = this.userId
+			    this.inputForm.processUserName = this.name
+			    this.inputForm.processDate = new Date()
+			    this.loading = false
             }
-            this.loading = false
-          })
+          }).catch(() => {
+			  this.loading = false
+		  })
         })
       },
       // 表单提交
@@ -687,7 +713,7 @@
             this.inputForm.detailFor2060.forEach(item => { this.inputForm.details.push(item) })
             this.inputForm.detailFor30.forEach(item => { this.inputForm.details.push(item) })
             this.inputForm.type = '1'
-            this.proofreadInfoService.save(this.inputForm).then(({data}) => {
+            this.proofreadInfoService.save(this.inputForm).then((data) => {
               this.close()
               this.$message.success(data)
               this.loading = false

+ 28 - 12
src/views/program/registered/ProofreadFormComponent.vue

@@ -6,7 +6,7 @@
       </el-row>
       <el-divider content-position="left"><i class="el-icon-document"></i> 校对</el-divider>
     </div>
-      <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="true"
+      <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="true"
                label-width="120px" @submit.native.prevent>
 
         <el-row :gutter="15">
@@ -46,6 +46,7 @@
 
         <el-divider content-position="left"><i class="el-icon-document"></i>明细表</el-divider>
         <el-row :gutter="15" >
+			<el-col :span="24">
           <vxe-table
             border
             show-overflow
@@ -103,12 +104,14 @@
               </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></el-row>
         <el-divider content-position="left">封面至评估范围</el-divider>
         <el-row :gutter="15">
+			<el-col :span="24">
           <vxe-table
             border
             show-overflow
@@ -166,10 +169,12 @@
               </template>
             </vxe-table-column>
           </vxe-table>
+			</el-col>
         </el-row>
 
         <el-divider content-position="left">资产核实情况总体说明</el-divider>
         <el-row :gutter="15">
+			<el-col :span="24">
           <vxe-table
             border
             show-overflow
@@ -227,10 +232,12 @@
               </template>
             </vxe-table-column>
           </vxe-table>
+			</el-col>
         </el-row>
 
         <el-divider content-position="left">资产基础法/成本法评估技术说明</el-divider>
         <el-row :gutter="15">
+			<el-col :span="24">
           <vxe-table
             border
             show-overflow
@@ -288,10 +295,12 @@
               </template>
             </vxe-table-column>
           </vxe-table>
+			</el-col>
         </el-row>
 
         <el-divider content-position="left">评估结论及分析</el-divider>
         <el-row :gutter="15">
+			<el-col :span="24">
           <vxe-table
             border
             show-overflow
@@ -349,10 +358,12 @@
               </template>
             </vxe-table-column>
           </vxe-table>
+			</el-col>
         </el-row>
 
         <el-divider content-position="left">关于评估有关事项的说明</el-divider>
         <el-row :gutter="15">
+			<el-col :span="24">
           <vxe-table
             border
             show-overflow
@@ -410,10 +421,12 @@
               </template>
             </vxe-table-column>
           </vxe-table>
+			</el-col>
         </el-row>
 
         <el-divider content-position="left">其他问题</el-divider>
         <el-row :gutter="15">
+			<el-col :span="24">
           <vxe-table
             border
             show-overflow
@@ -471,10 +484,12 @@
               </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">
+			<el-col :span="24">
           <vxe-table
             border
             show-overflow
@@ -532,6 +547,7 @@
               </template>
             </vxe-table-column>
           </vxe-table>
+			</el-col>
         </el-row>
 
         <el-divider content-position="left"><i class="el-icon-document"></i>保留意见</el-divider>
@@ -566,7 +582,7 @@
   import ProofreadInfoService from '@/api/sys/ProofreadInfoService'
   import ProofreadTypeService from '@/api/sys/ProofreadTypeService'
   import ProgramProjectListInfoService from '@/api/program/ProgramProjectListInfoService'
-  import UserService from '@/api/sys/UserService'
+  import userService from '@/api/sys/userService'
   export default {
     data () {
       return {
@@ -600,21 +616,21 @@
     proofreadInfoService: null,
     proofreadTypeService: null,
     programProjectListInfoService: null,
-    UserService: null,
+    // UserService: null,
     created () {
       this.proofreadInfoService = new ProofreadInfoService()
       this.programProjectListInfoService = new ProgramProjectListInfoService()
-      this.userService = new UserService()
+      // this.userService = new UserService()
       this.proofreadTypeService = new ProofreadTypeService()
     },
     components: {
     },
     computed: {
       name () {
-        return JSON.parse(localStorage.getItem('user')).name
+        return this.$store.state.user.name
       },
       userId () {
-        return JSON.parse(localStorage.getItem('user')).id
+        return this.$store.state.user.id
       }
     },
     methods: {
@@ -644,7 +660,7 @@
         this.loading = false
         this.$nextTick(() => {
           this.loading = true
-          this.proofreadInfoService.findById(id, '1').then(({data}) => {
+          this.proofreadInfoService.findById(id, '1').then((data) => {
             if (this.commonJS.isNotEmpty(data)) {
               this.showDownload = true
             }
@@ -656,18 +672,18 @@
               this.detailDivide(data.details)
             } else {
               // 初始化
-              this.programProjectListInfoService.queryById(id).then(({data}) => {
+              this.programProjectListInfoService.queryById(id).then((data) => {
                 this.inputForm.projectId = data.id
                 this.inputForm.projectName = data.name
                 this.inputForm.assessmentDate = data.assessmentDate
-                this.userService.queryById(data.projectManager).then(({data}) => {
+                userService.queryById(data.projectManager).then((data) => {
                   this.inputForm.projectManagerName = data.name
                 })
               })
               this.inputForm.processUserId = this.userId
               this.inputForm.processUserName = this.name
               this.inputForm.processDate = new Date()
-              this.proofreadInfoService.list('1').then(({data}) => { this.detailDivide(data) })
+              this.proofreadInfoService.list('1').then((data) => { this.detailDivide(data) })
             }
             this.loading = false
           })
@@ -689,7 +705,7 @@
             this.inputForm.detailFor2060.forEach(item => { this.inputForm.details.push(item) })
             this.inputForm.detailFor30.forEach(item => { this.inputForm.details.push(item) })
             this.inputForm.type = '1'
-            this.proofreadInfoService.save(this.inputForm).then(({data}) => {
+            this.proofreadInfoService.save(this.inputForm).then((data) => {
               this.close()
               this.$message.success(data)
               this.loading = false
@@ -745,7 +761,7 @@
         this.loading = true
         this.programProjectListInfoService.downloadProofreadAuditTpl(this.inputForm.projectId).then((res) => {
           // 将二进制流文件写入excel表,以下为重要步骤
-          this.$utils.downloadExcel(res.data, '资产评估项目(校对)审核记录表.xls')
+          this.$utils.downloadExcel(res, '资产评估项目(校对)审核记录表.xls')
           this.loading = false
         }).catch(function (err) {
           this.loading = false

+ 36 - 42
src/views/program/registered/ProofreadIssuedForm.vue

@@ -6,23 +6,23 @@
       </el-row>
       <el-divider content-position="left"><i class="el-icon-document"></i> 报告签发单</el-divider>
     </div>
-    <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="status === 'audit' || status === 'taskFormDetail'|| isDisabled === 'view'"
+    <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="status === 'audit' || status === 'taskFormDetail'|| isDisabled === 'view'"
              label-width="150px" @submit.native.prevent>
       <el-row  :gutter="15">
         <el-col :span="24">
           <el-form-item label="项目名称" prop="projectName">
-            <el-input size="medium" :disabled="true" v-model="inputForm.projectName" clearable></el-input>
+            <el-input size="large" :disabled="true" v-model="inputForm.projectName" clearable></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="评估基准日" prop="assessmentDate">
-            <el-input size="medium" :disabled="true" v-model="inputForm.assessmentDate" clearable></el-input>
+            <el-input size="large" :disabled="true" v-model="inputForm.assessmentDate" clearable></el-input>
           </el-form-item>
         </el-col>
 
         <el-col :span="12">
           <el-form-item label="报告文号" prop="reportNo">
-            <el-input size="medium" :disabled="true" v-model="inputForm.reportNo" clearable></el-input>
+            <el-input size="large" :disabled="true" v-model="inputForm.reportNo" clearable></el-input>
           </el-form-item>
         </el-col>
 
@@ -30,13 +30,13 @@
           <el-form-item label="项目负责人" prop="projectManager">
             <SelectUserTree
               ref="companyTree"
-              size="medium"
+              size="large"
               :props="{
                   value: 'id',             // ID字段名
                   label: 'name',         // 显示名称
                   children: 'children'    // 子级字段名
                 }"
-              :url="`/sys/user/treeUserDataAllOffice?type=2`"
+              :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
               :value="inputForm.projectManager"
               :disabled="true"
               :clearable="true"
@@ -47,7 +47,7 @@
 
         <el-col :span="12">
           <el-form-item label="所属部门" prop="department">
-            <el-input size="medium" :disabled="true" v-model="inputForm.department" clearable></el-input>
+            <el-input size="large" :disabled="true" v-model="inputForm.department" clearable></el-input>
           </el-form-item>
         </el-col>
 
@@ -55,7 +55,8 @@
 
       <el-divider content-position="left"><span style="font-size: 17px;margin-left: 0px"><b>业务类型</b></span></el-divider>
       <el-row v-for="(item, index) in typeList">
-      <el-divider content-position="left"><span style="font-size: 17px;margin-left: 10px">{{item.name}}</span></el-divider>
+		  <el-col :span="24">
+      	<el-divider content-position="left"><span style="font-size: 17px;margin-left: 10px">{{item.name}}</span></el-divider>
         <vxe-table
           border="inner"
           show-overflow
@@ -73,6 +74,7 @@
           <vxe-column type="radio" align="left"></vxe-column>
 <!--          <vxe-column align="left" field="name"></vxe-column>-->
         </vxe-table>
+		  </el-col>
       </el-row>
 
       <el-row :gutter="15" style="margin-top: 40px">
@@ -109,46 +111,38 @@
           </el-form-item>
         </el-col>
 <!--        评估报告-->
-        <div v-if="inputForm.reportType === '1'">
-          <el-col :span="12">
+          <el-col :span="12" v-if="inputForm.reportType === '1'">
             <el-form-item label="评估报告(份)" prop="assessmentReport" :rules="[{required: true, message:'请输入评估报告(份)', trigger:'blur'}]">
-              <el-input size="medium" v-model="inputForm.assessmentReport" clearable></el-input>
+              <el-input size="large" v-model="inputForm.assessmentReport" clearable></el-input>
             </el-form-item>
           </el-col>
 
-          <el-col :span="12">
+          <el-col :span="12" v-if="inputForm.reportType === '1'">
             <el-form-item label="评估说明(份)" prop="assessmentExplain" :rules="[{required: true, message:'请输入评估说明(份)', trigger:'blur'}]">
-              <el-input size="medium" v-model="inputForm.assessmentExplain" clearable></el-input>
+              <el-input size="large" v-model="inputForm.assessmentExplain" clearable></el-input>
             </el-form-item>
           </el-col>
 
-          <el-col :span="12">
+          <el-col :span="12" v-if="inputForm.reportType === '1'">
             <el-form-item label="评估明细表(份)" prop="assessmentDetail" :rules="[{required: true, message:'请输入评估明细表(份)', trigger:'blur'}]">
-              <el-input size="medium" v-model="inputForm.assessmentDetail" clearable></el-input>
+              <el-input size="large" v-model="inputForm.assessmentDetail" clearable></el-input>
             </el-form-item>
           </el-col>
-        </div>
 <!--        咨询报告-->
-        <div v-if="inputForm.reportType === '2'">
-
-          <el-col :span="12">
+          <el-col :span="12" v-if="inputForm.reportType === '2'">
             <el-form-item label="咨询报告(份)" prop="consultingReport" :rules="[{required: true, message:'请输入咨询报告(份)', trigger:'blur'}]">
-              <el-input size="medium" v-model="inputForm.consultingReport" clearable></el-input>
+              <el-input size="large" v-model="inputForm.consultingReport" clearable></el-input>
             </el-form-item>
           </el-col>
 
-          <el-col :span="12">
+          <el-col :span="12" v-if="inputForm.reportType === '2'">
             <el-form-item label="评估说明(份)" prop="assessmentExplain" :rules="[]">
-              <el-input size="medium" v-model="inputForm.assessmentExplain" clearable></el-input>
+              <el-input size="large" v-model="inputForm.assessmentExplain" clearable></el-input>
             </el-form-item>
           </el-col>
-
-        </div>
-
-
         <el-col :span="12">
           <el-form-item label="用印类型" prop="sealType" :rules="[{required: true, message:'请输入用印类型', trigger:'blur'}]">
-            <el-input size="medium" v-model="inputForm.sealType" clearable></el-input>
+            <el-input size="large" v-model="inputForm.sealType" clearable></el-input>
           </el-form-item>
         </el-col>
 
@@ -225,7 +219,7 @@
       this.programServiceTypeService = new ProgramServiceTypeService()
       this.proofreadIssuedService = new ProofreadIssuedService()
       this.programProjectListInfoService = new ProgramProjectListInfoService()
-      this.proofreadIssuedService.findProjectInfoById(this.businessId).then(({data}) => {
+      this.proofreadIssuedService.findProjectInfoById(this.businessId).then((data) => {
         this.inputForm = this.recover(this.inputForm, data)
         this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
       })
@@ -303,9 +297,9 @@
         // this.getTypeList()  // 获取业务类型数据
         this.$nextTick(() => {
           this.loading = true
-          this.programServiceTypeService.getList().then(({data}) => {
+          this.programServiceTypeService.getList().then((data) => {
             this.typeList = data
-            this.proofreadIssuedService.findById(this.inputForm.projectId).then(({data}) => {
+            this.proofreadIssuedService.findById(this.inputForm.projectId).then((data) => {
               if (!this.commonJS.isEmpty(data.id)) {
                 this.$refs.inputForm.resetFields()
                 this.inputForm = this.recover(this.inputForm, data)
@@ -313,7 +307,7 @@
                 this.chooseRow() // 选中行
                 this.loading = false
               } else {
-                this.proofreadIssuedService.findProjectInfoById(this.inputForm.projectId).then(({data}) => {
+                this.proofreadIssuedService.findProjectInfoById(this.inputForm.projectId).then((data) => {
                   this.inputForm = this.recover(this.inputForm, data)
                   this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
                   this.chooseRow() // 选中行
@@ -326,13 +320,13 @@
       },
       // 获取业务类型数据
       getTypeList () {
-        this.programServiceTypeService.getList().then(({data}) => {
+        this.programServiceTypeService.getList().then((data) => {
           this.typeList = data
         })
       },
       reapplyForm (callback) {
         this.loading = true
-        this.proofreadIssuedService.findById(this.inputForm.id).then(({data}) => {
+        this.proofreadIssuedService.findById(this.inputForm.id).then((data) => {
           if (data.status !== '4') { // 审核状态不是“驳回”,就弹出提示
             this.loading = false
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -345,7 +339,7 @@
       startForm (callback) {
         this.loading = true
         if (this.commonJS.isNotEmpty(this.inputForm.id)) {
-          this.proofreadIssuedService.findById(this.inputForm.id).then(({data}) => {
+          this.proofreadIssuedService.findById(this.inputForm.id).then((data) => {
             if (this.commonJS.isNotEmpty(data.status) && data.status !== '0' && data.status !== '1' && data.status !== '3') { // 审核状态不是“未发起”或“暂存”或“撤回”,就弹出提示
               this.loading = false
               this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -361,7 +355,7 @@
       saveForm (callback) {
         this.loading = true
         this.inputForm.status = '1'
-        this.proofreadIssuedService.save(this.inputForm).then(({data}) => {
+        this.proofreadIssuedService.save(this.inputForm).then((data) => {
           callback(data.businessTable, data.businessId, this.inputForm)
           this.loading = false
         }).catch(() => {
@@ -373,7 +367,7 @@
           if (valid) {
             this.loading = true
             this.inputForm.status = '2'
-            this.proofreadIssuedService.save(this.inputForm).then(({data}) => {
+            this.proofreadIssuedService.save(this.inputForm).then((data) => {
               this.inputForm.id = data.businessId
               callback(data.businessTable, data.businessId, this.inputForm)
               this.loading = false
@@ -387,7 +381,7 @@
       },
       async agreeForm (callback) {
         this.loading = true
-        await this.proofreadIssuedService.findById(this.inputForm.id).then(({data}) => {
+        await this.proofreadIssuedService.findById(this.inputForm.id).then((data) => {
           if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
             this.loading = false
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -398,9 +392,9 @@
                 this.loading = true
                 this.inputForm.status = '5'
                 this.inputForm.agreeTime = this.moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
-                let userId = JSON.parse(localStorage.getItem('user')).id
+                let userId = this.$store.state.user.id
                 this.inputForm.agreeUserId = userId
-                this.proofreadIssuedService.save(this.inputForm).then(({data}) => {
+                this.proofreadIssuedService.save(this.inputForm).then((data) => {
                   callback(data.businessTable, data.businessId, this.inputForm)
                   this.loading = false
                 }).catch(() => {
@@ -416,7 +410,7 @@
       async updateStatusById (type, callback) {
         this.loading = true
         if (type === 'reject' || type === 'reback') {
-          this.proofreadIssuedService.findById(this.inputForm.id).then(({data}) => {
+          this.proofreadIssuedService.findById(this.inputForm.id).then((data) => {
             if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
               this.loading = false
               this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -446,7 +440,7 @@
             }
           })
         } else if (type === 'hold') {
-          this.proofreadIssuedService.findById(this.inputForm.id).then(({data}) => {
+          this.proofreadIssuedService.findById(this.inputForm.id).then((data) => {
             if (data.status !== '4') { // status的值不等于“驳回”就弹出提示
               this.loading = false
               this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -516,7 +510,7 @@
         this.loading = true
         this.programProjectListInfoService.downloadReportAusstellungTpl(this.inputForm.projectId).then((res) => {
           // 将二进制流文件写入excel表,以下为重要步骤
-          this.$utils.downloadWord(res.data, '报告签发单')
+          this.$utils.downloadWord(res, '报告签发单')
           this.loading = false
         }).catch(function (err) {
           this.loading = false

+ 170 - 166
src/views/program/registered/RegisItemForm.vue

@@ -1,7 +1,7 @@
 <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'"
-               label-width="220px" @submit.native.prevent>
+      <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="status === 'audit' || status === 'taskFormDetail'"
+               label-width="170px" @submit.native.prevent>
         <el-divider content-position="left"><i class="el-icon-document"></i> 选择合同</el-divider>
         <el-row  :gutter="15">
           <el-col :span="24">
@@ -10,7 +10,7 @@
                           {required: true, message:'合同不能为空', trigger:'blur'},
                           {required: true, message:'合同不能为空', trigger:'change'}
                  ]">
-              <el-input size="medium" :readonly="true" @focus="openContractForm()" v-model="inputForm.contractName" placeholder="请选择合同">
+              <el-input size="large" :readonly="true" @focus="openContractForm()" v-model="inputForm.contractName" placeholder="请选择合同">
                 <el-button slot="append" icon="el-icon-search" @click="openContractForm()"></el-button>
               </el-input>
             </el-form-item>
@@ -85,8 +85,8 @@
 <!--                          :rules="[-->
 <!--                          {required: true, message:'项目类别不能为空', trigger:'blur'}-->
 <!--                 ]">-->
-<!--              <el-radio v-model="inputForm.projectType" label="1" size="small" style="margin-right: 20px">资评报字</el-radio>-->
-<!--              <el-radio v-model="inputForm.projectType" label="2" size="small" style="margin-right: 20px">资评咨字</el-radio>-->
+<!--              <el-radio v-model="inputForm.projectType" label="1" size="large" style="margin-right: 20px">资评报字</el-radio>-->
+<!--              <el-radio v-model="inputForm.projectType" label="2" size="large" style="margin-right: 20px">资评咨字</el-radio>-->
 <!--            </el-form-item>-->
 <!--          </el-col>-->
           <el-col :span="12">
@@ -149,7 +149,7 @@
               <el-date-picker
                 v-model="inputForm.assessmentDate"
                 type="date"
-                value-format="yyyy-MM-dd"
+                value-format="YYYY-MM-DD"
                 placeholder="选择评估基准日"
                 style="width:100%"
                 placement="bottom-start"
@@ -200,10 +200,10 @@
                       label: 'name',         // 显示名称
                       children: 'children'    // 子级字段名
                     }"
-                url="/sys/area/treeData"
+                url="/system-server/sys/area/treeData"
                 :value="inputForm.location"
                 :clearable="true"
-                size="medium"
+                size="large"
                 :accordion="true"
                 @getValue="(value) => {inputForm.location=value}"/>
             </el-form-item>
@@ -229,7 +229,7 @@
                           :rules="[
                           {required: true, message:'是否首次承做不能为空', trigger:'blur'}
                  ]">
-              <el-radio v-model="inputForm.isFirst" v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" size="small" style="margin-right: 20px">
+              <el-radio v-model="inputForm.isFirst" v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" size="large" style="margin-right: 20px">
                 {{item.label}}</el-radio>
             </el-form-item>
           </el-col>
@@ -297,7 +297,7 @@
               <el-date-picker
                 v-model="inputForm.checkYear"
                 type="year"
-                value-format="yyyy"
+                value-format="YYYY"
                 placeholder="选择评估费用核算年度"
                 style="width:100%"
                 placement="bottom-start"
@@ -312,13 +312,13 @@
                  ]">
               <SelectUserTree
                 ref="companyTree"
-                size="medium"
+                size="large"
                 :props="{
                   value: 'id',             // ID字段名
                   label: 'name',         // 显示名称
                   children: 'children'    // 子级字段名
                 }"
-                :url="`/sys/user/treeUserDataAllOffice?type=2`"
+                :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
                 :value="inputForm.projectManager"
                 :clearable="true"
                 :accordion="true"
@@ -339,7 +339,7 @@
                           :rules="[
                           {required: true, message:'风险等级不能为空', trigger:'blur'}
                  ]">
-              <el-radio v-model="inputForm.riskLevel" v-for="item in $dictUtils.getDictList('program_registered_risk_level')" :label="item.value" size="small" style="margin-right: 20px">
+              <el-radio v-model="inputForm.riskLevel" v-for="item in $dictUtils.getDictList('program_registered_risk_level')" :label="item.value" size="large" style="margin-right: 20px">
                 {{item.label}}</el-radio>
             </el-form-item>
           </el-col>
@@ -389,7 +389,7 @@
               <el-date-picker
                 v-model="inputForm.planEndTime"
                 type="date"
-                value-format="yyyy-MM-dd"
+                value-format="YYYY-MM-DD"
                 placeholder="选择计划完成时间"
                 style="width:100%"
                 placement="bottom-start"
@@ -454,7 +454,7 @@
                           :rules="[
                  ]">
               <el-date-picker
-                size="medium"
+                size="large"
                 v-model="inputForm.workBeginAndEndDate"
                 type="daterange"
                 range-separator="至"
@@ -490,7 +490,7 @@
               <el-date-picker
                 v-model="inputForm.reportingDate"
                 type="date"
-                value-format="yyyy-MM-dd"
+                value-format="YYYY-MM-DD"
                 placeholder="选择预计出报告时间"
                 style="width:100%"
                 placement="bottom-start"
@@ -548,144 +548,148 @@
 <!--        </el-row>-->
         <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="openContactForm('0')" plain>
+          <el-button style="margin-left: 20px" type="primary" :disabled="status === 'audit' || status === 'taskFormDetail'" size="default" @click="openContactForm('0')" plain>
             新增
           </el-button>
         </el-divider>
         <el-row  :gutter="15" >
-          <vxe-table
-            border
-            show-overflow
-            ref="clientTable"
-            class="vxe-table-element"
-            :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: '#'}"
-          >
-            <vxe-table-column field="contacts" title="联系人" :edit-render="{}"  align="center">
-              <template v-slot:edit="scope">
-                <el-input :disabled="true" v-model="scope.row.contacts" ></el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column  align="center" field="clientType" title="人员类型" :edit-render="{name: '$select', options: clientTypes}">
-              <template v-slot:edit="scope">
-                <vxe-select :disabled="status === 'audit' || status === 'taskFormDetail'" v-model="scope.row.clientType"  transfer>
-                  <vxe-option
-                    v-for="item in clientTypes"
-                    :key="item.value"
-                    :value="item.value"
-                    :label="item.label">
-                  </vxe-option>
-                </vxe-select>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column  align="center" field="linkMobilePhoneFirst" title="联系方式1" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input :disabled="true" v-model="scope.row.linkMobilePhoneFirst" ></el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column  align="center" field="linkMobilePhoneSecoed" title="联系方式2" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input :disabled="true" v-model="scope.row.linkMobilePhoneSecoed" ></el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column  align="center" field="job" title="职位" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input v-model="scope.row.job" ></el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column  align="center" field="remarks" title="备注" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input v-model="scope.row.remarks" ></el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column  align="center" title="操作" width="100">
-              <template v-slot="scope">
-                <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'client')">删除</el-button>
-              </template>
-            </vxe-table-column>
-          </vxe-table>
+			<el-col :span="24">
+				<vxe-table
+					border
+					show-overflow
+					ref="clientTable"
+					class="vxe-table-element"
+					: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: '#'}"
+				>
+					<vxe-table-column field="contacts" title="联系人" :edit-render="{}"  align="center">
+						<template v-slot:edit="scope">
+							<el-input :disabled="true" v-model="scope.row.contacts" ></el-input>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column  align="center" field="clientType" title="人员类型" :edit-render="{name: '$select', options: clientTypes}">
+						<template v-slot:edit="scope">
+							<vxe-select :disabled="status === 'audit' || status === 'taskFormDetail'" v-model="scope.row.clientType"  transfer>
+								<vxe-option
+									v-for="item in clientTypes"
+									:key="item.value"
+									:value="item.value"
+									:label="item.label">
+								</vxe-option>
+							</vxe-select>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column  align="center" field="linkMobilePhoneFirst" title="联系方式1" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<el-input :disabled="true" v-model="scope.row.linkMobilePhoneFirst" ></el-input>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column  align="center" field="linkMobilePhoneSecoed" title="联系方式2" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<el-input :disabled="true" v-model="scope.row.linkMobilePhoneSecoed" ></el-input>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column  align="center" field="job" title="职位" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<el-input v-model="scope.row.job" ></el-input>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column  align="center" field="remarks" title="备注" :edit-render="{}">
+						<template v-slot:edit="scope">
+							<el-input v-model="scope.row.remarks" ></el-input>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column  align="center" title="操作" width="100">
+						<template v-slot="scope">
+							<el-button size="large" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'client')">删除</el-button>
+						</template>
+					</vxe-table-column>
+				</vxe-table>
+			</el-col>
         </el-row>
 
         <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('member')" plain>
+          <el-button style="margin-left: 20px" type="primary" :disabled="status === 'audit' || status === 'taskFormDetail'" size="default" @click="insertEvent('member')" plain>
             新增
           </el-button>
         </el-divider>
         <el-row  :gutter="15">
-          <vxe-table
-            border
-            show-footer
-            show-overflow
-            :footer-method="footerMethod"
-            ref="memberTable"
-            class="vxe-table-element"
-            :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: '#'}"
-          >
-            <vxe-table-column field="name" title="姓名" :edit-render="{name: '$input'}" align="center">
-              <template v-slot:edit="scope">
-                <vxe-input v-model="scope.row.name" :disabled="commonJS.isNotEmpty(scope.row.userId) || status === 'audit' || status === 'taskFormDetail'"  style="width: 100%">
-                  <template #suffix>
-                    <vxe-button :disabled="status === 'audit' || status === 'taskFormDetail'" @click="openUserSearch(scope.$rowIndex)" type="text" content="" icon="el-icon-search" ></vxe-button>
-                  </template>
-                </vxe-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="workHours" title="预计工时(时)" :edit-render="{name: '$input'}"  align="center">
-              <template v-slot:edit="scope">
-                <vxe-input
-                  :disabled="status === 'audit' || status === 'taskFormDetail'"
-                  v-model="scope.row.workHours"
-                  type="float"
-                  digits="1"
-                  placeholder="请输入预计工时(时)"
-                  clearable>
-                </vxe-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column  align="center" field="type" title="人员类型" :edit-render="{name: '$select', options: $dictUtils.getDictList('program_registered_member_type')}">
-              <template v-slot:edit="scope">
-                <vxe-select :disabled="status === 'audit' || status === 'taskFormDetail'" v-model="scope.row.type" placeholder="请选择人员类型" clearable style="width: 100%;" transfer>
-                  <vxe-option
-                    v-for="item in $dictUtils.getDictList('program_registered_member_type')"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value">
-                  </vxe-option>
-                </vxe-select>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column align="center" field="job" title="项目职务" :edit-render="{name: '$select', options: $dictUtils.getDictList('program_registered_member_position')}">
-              <template v-slot:edit="scope">
-                <vxe-select :disabled="status === 'audit' || status === 'taskFormDetail'" v-model="scope.row.job" placeholder="请选择项目职务" clearable style="width: 100%;" transfer>
-                  <vxe-option
-                    v-for="item in $dictUtils.getDictList('program_registered_member_position')"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value">
-                  </vxe-option>
-                </vxe-select>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column align="center" title="操作" width="100">
-              <template v-slot="scope">
-                <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'member')">删除</el-button>
-              </template>
-            </vxe-table-column>
-          </vxe-table>
+			<el-col :span="24">
+				<vxe-table
+					border
+					show-footer
+					show-overflow
+					:footer-method="footerMethod"
+					ref="memberTable"
+					class="vxe-table-element"
+					: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: '#'}"
+				>
+					<vxe-table-column field="name" title="姓名" :edit-render="{name: '$input'}" align="center">
+						<template v-slot:edit="scope">
+							<vxe-input v-model="scope.row.name" :disabled="commonJS.isNotEmpty(scope.row.userId) || status === 'audit' || status === 'taskFormDetail'"  style="width: 100%">
+								<template #suffix>
+									<vxe-button :disabled="status === 'audit' || status === 'taskFormDetail'" @click="openUserSearch(scope.$rowIndex)" type="text" content="" icon="el-icon-search" ></vxe-button>
+								</template>
+							</vxe-input>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column field="workHours" title="预计工时(时)" :edit-render="{name: '$input'}"  align="center">
+						<template v-slot:edit="scope">
+							<vxe-input
+								:disabled="status === 'audit' || status === 'taskFormDetail'"
+								v-model="scope.row.workHours"
+								type="float"
+								digits="1"
+								placeholder="请输入预计工时(时)"
+								clearable>
+							</vxe-input>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column  align="center" field="type" title="人员类型" :edit-render="{name: '$select', options: $dictUtils.getDictList('program_registered_member_type')}">
+						<template v-slot:edit="scope">
+							<vxe-select :disabled="status === 'audit' || status === 'taskFormDetail'" v-model="scope.row.type" placeholder="请选择人员类型" clearable style="width: 100%;" transfer>
+								<vxe-option
+									v-for="item in $dictUtils.getDictList('program_registered_member_type')"
+									:key="item.value"
+									:label="item.label"
+									:value="item.value">
+								</vxe-option>
+							</vxe-select>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column align="center" field="job" title="项目职务" :edit-render="{name: '$select', options: $dictUtils.getDictList('program_registered_member_position')}">
+						<template v-slot:edit="scope">
+							<vxe-select :disabled="status === 'audit' || status === 'taskFormDetail'" v-model="scope.row.job" placeholder="请选择项目职务" clearable style="width: 100%;" transfer>
+								<vxe-option
+									v-for="item in $dictUtils.getDictList('program_registered_member_position')"
+									:key="item.value"
+									:label="item.label"
+									:value="item.value">
+								</vxe-option>
+							</vxe-select>
+						</template>
+					</vxe-table-column>
+					<vxe-table-column align="center" title="操作" width="100">
+						<template v-slot="scope">
+							<el-button size="default" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'member')">删除</el-button>
+						</template>
+					</vxe-table-column>
+				</vxe-table>
+			</el-col>
         </el-row>
       </el-form>
       <!--        附件-->
@@ -738,7 +742,7 @@
           contractName: '', // 合同名称
           client: '', // 委托方
           clientName: '', // 委托方名称
-          amount: '', // 合同金额
+          amount: 0, // 合同金额
           contractType: '', // 合同类别
           projectMould: '', // 项目类型
           name: '', // 项目名称
@@ -759,11 +763,11 @@
           riskLevel: '', // 风险等级
           generateReportNumber: false, // 是否生成报告号
           projectSource: '', // 项目来源
-          estimate: '', // 预估收入(元)
+          estimate: 0, // 预估收入(元)
           planEndTime: '', // 计划完成时间
-          useNum: '', // 计划使用人数
-          appointment: '', // 约定书(份)
-          workHours: '', // 预算工时
+          useNum: 0, // 计划使用人数
+          appointment: 0, // 约定书(份)
+          workHours: 0, // 预算工时
           remarks: '', // 备注
           assessmentEnterprise: '', // 被评估企业
           assessmentEnterpriseName: '', // 被评估企业名称
@@ -881,7 +885,7 @@
           contractName: '', // 合同名称
           client: '', // 委托方
           clientName: '', // 委托方名称
-          amount: '', // 合同金额
+          amount: 0, // 合同金额
           contractType: '', // 合同类型
           name: '', // 项目名称
           projectType: '', // 项目类别
@@ -901,11 +905,11 @@
           riskLevel: '', // 风险等级
           generateReportNumber: '', // 是否生成报告号
           projectSource: '', // 项目来源
-          estimate: '', // 预估收入(元)
+          estimate: 0, // 预估收入(元)
           planEndTime: '', // 计划完成时间
-          useNum: '', // 计划使用人数
-          appointment: '', // 约定书(份)
-          workHours: '', // 预算工时
+          useNum: 0, // 计划使用人数
+          appointment: 0, // 约定书(份)
+          workHours: 0, // 预算工时
           remarks: '', // 备注
           assessmentEnterprise: '', // 被评估企业
           assessmentEnterpriseName: '', // 被评估企业名称
@@ -945,7 +949,7 @@
         this.$nextTick(() => {
           this.$refs.inputForm.resetFields()
           this.loading = true
-          this.programProjectListInfoService.queryById(this.inputForm.id).then(({data}) => {
+          this.programProjectListInfoService.queryById(this.inputForm.id).then((data) => {
             this.$refs.uploadComponent.clearUpload()
             this.inputForm = this.recover(this.inputForm, data)
             if (data.generateReportNumber === 'true') {
@@ -998,7 +1002,7 @@
       },
       reapplyForm (callback) {
         this.loading = true
-        this.programProjectListInfoService.queryById(this.inputForm.id).then(({data}) => {
+        this.programProjectListInfoService.queryById(this.inputForm.id).then((data) => {
           if (data.status !== '4') { // 审核状态不是“驳回”,就弹出提示
             this.loading = false
             this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -1014,7 +1018,7 @@
       startForm (callback) {
         this.loading = true
         if (this.commonJS.isNotEmpty(this.inputForm.id)) {
-          this.programProjectListInfoService.queryById(this.inputForm.id).then(({data}) => {
+          this.programProjectListInfoService.queryById(this.inputForm.id).then((data) => {
             if (this.commonJS.isNotEmpty(data.status) && data.status !== '0' && data.status !== '1' && data.status !== '3') { // 审核状态不是“未发起”或“暂存”或“撤回”,就弹出提示
               this.loading = false
               this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -1114,7 +1118,7 @@
           }
           console.log('this.inputForm.generateReportNumber', this.inputForm.generateReportNumber)
           this.inputForm.files = this.$refs.uploadComponent.getDataList()
-          this.programProjectListInfoService.saveForm(this.inputForm).then(({data}) => {
+          this.programProjectListInfoService.saveForm(this.inputForm).then((data) => {
             callback(data.businessTable, data.businessId, this.inputForm)
             this.loading = false
           }).catch(() => {
@@ -1128,7 +1132,7 @@
           // 审核同意
           this.inputForm.status = '5'
           this.inputForm.agreeTime = this.moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
-          let userId = JSON.parse(localStorage.getItem('user')).id
+          let userId = this.$store.state.user.id
           this.inputForm.agreeUserId = userId
           this.inputForm.createContractNo = '1'
         }
@@ -1216,7 +1220,7 @@
             }
             console.log('this.inputForm.generateReportNumber', this.inputForm.generateReportNumber)
             this.inputForm.files = this.$refs.uploadComponent.getDataList()
-            this.programProjectListInfoService.saveForm(this.inputForm).then(({data}) => {
+            this.programProjectListInfoService.saveForm(this.inputForm).then((data) => {
               this.inputForm.id = data.businessId
               callback(data.businessTable, data.businessId, this.inputForm)
               this.loading = false
@@ -1235,7 +1239,7 @@
           throw new Error()
         } else {
           if (type === 'reject' || type === 'reback') {
-            this.programProjectListInfoService.queryById(this.inputForm.id).then(({data}) => {
+            this.programProjectListInfoService.queryById(this.inputForm.id).then((data) => {
               if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
                 this.loading = false
                 this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -1263,7 +1267,7 @@
               }
             })
           } else if (type === 'hold') {
-            this.programProjectListInfoService.queryById(this.inputForm.id).then(({data}) => {
+            this.programProjectListInfoService.queryById(this.inputForm.id).then((data) => {
               if (data.status !== '4') { // status的值不等于“驳回”就弹出提示
                 this.loading = false
                 this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -1383,7 +1387,7 @@
           contractName: '', // 合同名称
           client: '', // 委托方
           clientName: '', // 委托方名称
-          amount: '', // 合同金额
+          amount: 0, // 合同金额
           contractType: '', // 合同类型
           name: '', // 项目名称
           projectType: '', // 项目类别
@@ -1403,11 +1407,11 @@
           riskLevel: '', // 风险等级
           generateReportNumber: '', // 是否生成报告号
           projectSource: '', // 项目来源
-          estimate: '', // 预估收入(元)
+          estimate: 0, // 预估收入(元)
           planEndTime: '', // 计划完成时间
-          useNum: '', // 计划使用人数
-          appointment: '', // 约定书(份)
-          workHours: '', // 预算工时
+          useNum: 0, // 计划使用人数
+          appointment: 0, // 约定书(份)
+          workHours: 0, // 预算工时
           remarks: '', // 备注
           assessmentEnterprise: '', // 被评估企业
           assessmentEnterpriseName: '', // 被评估企业名称
@@ -1445,7 +1449,7 @@
         this.$refs.inputForm.resetFields()
       },
       getTypeList () {
-        this.programTypeDictService.getList().then(({data}) => {
+        this.programTypeDictService.getList().then((data) => {
           this.typeDictList = data
         })
       },

+ 27 - 23
src/views/program/registered/WorkClientForm.vue

@@ -8,12 +8,12 @@
       height="500px"
       @close="close"
       @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">
@@ -50,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">
@@ -61,16 +61,17 @@
                   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>
-            <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>
 
@@ -90,26 +91,27 @@
           @sort-change=""
           :sort-config="{remote:true}"
           :data="dataList"
-          :checkbox-config="{}">
+		  :row-config="{isCurrent: true}"
+		  :radio-config="{trigger: 'row'}">
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
-          <vxe-column type="radio" width="40px"></vxe-column>
+          <vxe-column type="radio" width="50px"></vxe-column>
 
-          <vxe-column width="300px"  title="客户名称" field="name">
+          <vxe-column min-width="300px"  title="客户名称" field="name">
           </vxe-column>
-<!--          <vxe-column width="200px"  title="代表方" field="deputy" ></vxe-column>-->
-          <vxe-column width="100px"  title="客户性质" field="companyType" >
-            <template slot-scope="scope">
+<!--          <vxe-column min-width="200px"  title="代表方" field="deputy" ></vxe-column>-->
+          <vxe-column min-width="100px"  title="客户性质" field="companyType" >
+            <template #default="scope">
               {{ $dictUtils.getDictLabel("customer_nature", scope.row.companyType, '-') }}
             </template>
           </vxe-column>
-          <vxe-column width="100px"  title="客户行业" field="companyIndustry" >
-            <template slot-scope="scope">
+          <vxe-column min-width="100px"  title="客户行业" field="companyIndustry" >
+            <template #default="scope">
               {{ $dictUtils.getDictLabel("industry", scope.row.companyIndustry, '-') }}
             </template>
           </vxe-column>
-          <vxe-column width="200px" title="统一社会信用代码" field="uscCode" > </vxe-column>
-          <vxe-column width="100px" title="创建人" field="createBy" > </vxe-column>
-          <vxe-column width="150px" title="创建时间" field="createDate" > </vxe-column>
+          <vxe-column min-width="200px" title="统一社会信用代码" field="uscCode" > </vxe-column>
+          <vxe-column min-width="100px" title="创建人" field="createBy" > </vxe-column>
+          <vxe-column min-width="150px" title="创建时间" field="createDate" > </vxe-column>
         </vxe-table>
 
         <vxe-pager
@@ -123,10 +125,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 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>
@@ -198,7 +202,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

+ 11 - 8
src/views/program/serviceType/ProgramServiceTypeForm.vue

@@ -7,8 +7,8 @@
       width="500px"
       @close="close"
       @keyup.enter.native="doSubmit"
-      :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 size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method==='view'"
                label-width="120px" @submit.native.prevent>
         <el-row  :gutter="15">
           <el-col :span="21">
@@ -36,10 +36,13 @@
           </el-col>
         </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'" @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="method != 'view'" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+			</span>
+		</template>
+
     </el-dialog>
   </div>
 </template>
@@ -93,7 +96,7 @@
           this.$refs.inputForm.resetFields()
           if (method === 'edit' || method === 'view') { // 修改或者查看
             this.loading = true
-            this.programServiceTypeService.queryById(this.inputForm.id).then(({data}) => {
+            this.programServiceTypeService.queryById(this.inputForm.id).then((data) => {
               this.inputForm = this.recover(this.inputForm, data)
               this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
               this.loading = false
@@ -113,7 +116,7 @@
               this.$message.error('排序请输入数字')
               return
             }
-            this.programServiceTypeService.save(this.inputForm).then(({data}) => {
+            this.programServiceTypeService.save(this.inputForm).then((data) => {
               this.close()
               this.$message.success(data)
               this.$emit('refreshDataList')

+ 15 - 15
src/views/program/serviceType/ProgramServiceTypeList.vue

@@ -1,23 +1,23 @@
 <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" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
       <!-- 搜索框-->
       <el-form-item 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>
-        <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="bg-white top" style="">
+    <div class="jp-table" style="">
       <vxe-toolbar :refresh="{query: refreshList}" custom>
         <template #buttons>
-          <el-button v-if="hasPermission('program_service_type:add')" type="primary" size="small" icon="el-icon-plus" @click="add()">新建</el-button>
-          <el-button v-if="hasPermission('program_service_type:del')" type="danger"   size="small" icon="el-icon-delete" @click="del()" :disabled="$refs.serviceTypeTable && $refs.serviceTypeTable.getCheckboxRecords().length === 0" plain>删除</el-button>
+          <el-button v-if="hasPermission('program_service_type:add')" type="primary" icon="el-icon-plus" @click="add()">新建</el-button>
+          <el-button v-if="hasPermission('program_service_type:del')" type="danger" icon="el-icon-delete" @click="del()" :disabled="$refs.serviceTypeTable && $refs.serviceTypeTable.getCheckboxRecords().length === 0" plain>删除</el-button>
         </template>
       </vxe-toolbar>
-      <div style="height: calc(100% - 50px)">
+      <div class="jp-table-body">
         <vxe-table
           border="inner"
           auto-resize
@@ -36,16 +36,16 @@
           :tree-config="{transform: true, rowField: 'id', parentField: 'parentId'}"
           :checkbox-config="{}">
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
-          <vxe-column type="checkbox" width="40" ></vxe-column>
+          <vxe-column type="checkbox" width="50" ></vxe-column>
           <vxe-column min-width="350" title="业务类型" field="name" align="left" tree-node></vxe-column>
           <vxe-column min-width="50" align="center" title="序号" field="sort"></vxe-column>
           <vxe-column min-width="50" align="center" title="级别" field="level"></vxe-column>
           <vxe-column min-width="50" align="center" title="备注" field="remarks"></vxe-column>
           <vxe-column title="操作" width="230px" fixed="right" align="center">
-            <template  slot-scope="scope">
-              <el-button v-if="hasPermission('program_service_type:edit')&&scope.row.level === 1" type="text"  size="small" @click="addChild(scope.row.id)">新建子类型</el-button>
-              <el-button v-if="hasPermission('program_service_type:edit')" type="text"  size="small" @click="edit(scope.row.id)">修改</el-button>
-              <el-button v-if="hasPermission('program_service_type:del')" type="text"   size="small" @click="del(scope.row.id)">删除</el-button>
+            <template  #default="scope">
+              <el-button v-if="hasPermission('program_service_type:edit')&&scope.row.level === 1" text type="primary" @click="addChild(scope.row.id)">新建子类型</el-button>
+              <el-button v-if="hasPermission('program_service_type:edit')" text type="primary" @click="edit(scope.row.id)">修改</el-button>
+              <el-button v-if="hasPermission('program_service_type:del')" text type="primary" @click="del(scope.row.id)">删除</el-button>
             </template>
           </vxe-column>
         </vxe-table>
@@ -112,7 +112,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
@@ -143,7 +143,7 @@
           type: 'warning'
         }).then(() => {
           this.loading = true
-          this.programServiceTypeService.delete(ids).then(({data}) => {
+          this.programServiceTypeService.delete(ids).then((data) => {
             this.$message.success(data)
             this.refreshList()
             this.loading = false

+ 4 - 4
src/views/project/AssessForm.vue

@@ -64,7 +64,7 @@
                 style="width:100%;"
                 v-model="inputForm.evaluationBaseDateUi"
                 type="datetime"
-                value-format="YYYY-MM-DD h:m:s"
+                value-format="YYYY-MM-DD HH:mm:ss"
                 placeholder="选择日期时间">
               </el-date-picker>
             </el-form-item>
@@ -80,7 +80,7 @@
                 style="width:100%;"
                 v-model="inputForm.evaluationReportDateUi"
                 type="datetime"
-                value-format="YYYY-MM-DD h:m:s"
+                value-format="YYYY-MM-DD HH:mm:ss"
                 placeholder="选择日期时间">
               </el-date-picker>
             </el-form-item>
@@ -201,7 +201,7 @@
                 style="width:100%;"
                 v-model="inputForm.invoiceDateUi"
                 type="datetime"
-                value-format="YYYY-MM-DD h:m:s"
+                value-format="YYYY-MM-DD HH:mm:ss"
                 placeholder="选择日期时间">
               </el-date-picker>
             </el-form-item>
@@ -300,7 +300,7 @@
                 style="width:100%;"
                 v-model="inputForm.reimbursementDateUi"
                 type="datetime"
-                value-format="YYYY-MM-DD h:m:s"
+                value-format="YYYY-MM-DD HH:mm:ss"
                 placeholder="选择日期时间">
               </el-date-picker>
             </el-form-item>

+ 1 - 1
src/views/project/AssessList.vue

@@ -111,7 +111,7 @@
 			remote: true}"
 				  :checkbox-config="{}">
 				  <vxe-column type="seq" width="60" title="序号"></vxe-column>
-				  <vxe-column type="checkbox"  width="40px"></vxe-column>
+				  <vxe-column type="checkbox"  width="50px"></vxe-column>
 				  <vxe-column width="400px"  title="项目名称" field="projectName">
 					  <template #default="scope">
 						  <el-link  type="primary" :underline="false" v-if="hasPermission('sys:project:edit')" @click="view(scope.row.id)">{{scope.row.projectName}}</el-link>

+ 4 - 4
src/views/project/ConsultationForm.vue

@@ -64,7 +64,7 @@
                 style="width:100%;"
                 v-model="inputForm.evaluationBaseDateUi"
                 type="datetime"
-                value-format="YYYY-MM-DD h:m:s"
+                value-format="YYYY-MM-DD HH:mm:ss"
                 placeholder="选择日期时间">
               </el-date-picker>
             </el-form-item>
@@ -80,7 +80,7 @@
                 style="width:100%;"
                 v-model="inputForm.evaluationReportDateUi"
                 type="datetime"
-                value-format="YYYY-MM-DD h:m:s"
+                value-format="YYYY-MM-DD HH:mm:ss"
                 placeholder="选择日期时间">
               </el-date-picker>
             </el-form-item>
@@ -202,7 +202,7 @@
                 style="width:100%;"
                 v-model="inputForm.invoiceDateUi"
                 type="datetime"
-				value-format="YYYY-MM-DD h:m:s"
+				value-format="YYYY-MM-DD HH:mm:ss"
                 placeholder="选择日期时间">
               </el-date-picker>
             </el-form-item>
@@ -301,7 +301,7 @@
                 style="width:100%;"
                 v-model="inputForm.reimbursementDateUi"
                 type="datetime"
-				value-format="YYYY-MM-DD h:m:s"
+				value-format="YYYY-MM-DD HH:mm:ss"
                 placeholder="选择日期时间">
               </el-date-picker>
             </el-form-item>

+ 1 - 1
src/views/project/ConsultationList.vue

@@ -108,7 +108,7 @@
                     remote: true}"
                 :checkbox-config="{}">
                 <vxe-column type="seq" width="60" title="序号"></vxe-column>
-                <vxe-column type="checkbox"  width="40px"></vxe-column>
+                <vxe-column type="checkbox"  width="50px"></vxe-column>
               <vxe-column width="400px"  title="项目名称" field="projectName">
                 <template #default="scope">
                   <el-link  type="primary" :underline="false" v-if="hasPermission('sys:project:edit')" @click="view(scope.row.id)">{{scope.row.projectName}}</el-link>

Plik diff jest za duży
+ 0 - 1078
src/views/reimbursement/ReimbursementFormCcpm.vue


Plik diff jest za duży
+ 460 - 437
src/views/reimbursement/info/InfoForm.vue


+ 69 - 64
src/views/reimbursement/info/InfoList.vue

@@ -1,9 +1,9 @@
 <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" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
       <!-- 搜索框-->
       <el-form-item label="报销项目" prop="project">
-        <el-input size="small" v-model="searchForm.project" placeholder="请输入报销项目" clearable>
+        <el-input v-model="searchForm.project" placeholder="请输入报销项目" clearable>
           <el-button icon="el-icon-search" slot="append" @click="openProgramPageForm"></el-button>
         </el-input>
       </el-form-item>
@@ -11,8 +11,8 @@
         <el-date-picker
           style=""
           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.dates"
           type="datetimerange"
           range-separator="至"
@@ -21,10 +21,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%;">
@@ -44,10 +44,11 @@
                 label: 'name',         // 显示名称
                 children: 'children'    // 子级字段名
               }"
-          :url="`/sys/office/treeData?type=2`"
+          :url="`/system-server/sys/office/treeData?type=2`"
           :value="searchForm.department"
           :clearable="true"
           :accordion="true"
+		  size="default"
           @getValue="(value,label) => {searchForm.department=label}"/>
       </el-form-item>
       <el-form-item v-if="showHideItem" label="报销类别" prop="remiType">
@@ -58,34 +59,39 @@
                   label: 'name',         // 显示名称
                   children: 'children'    // 子级字段名
                 }"
-          url="/reimbursementApproval/type/treeData1?type=last"
+          url="/assess-server/reimbursement/type/treeData1?type=last"
           :value="searchForm.remiType"
           :clearable="true"
           :accordion="true"
+		  size="default"
           @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 size="small" v-model="searchForm.reportNumber" placeholder="请输入报告号" clearable></el-input>
+        <el-input v-model="searchForm.reportNumber" placeholder="请输入报告号" clearable></el-input>
       </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-form>
 
-    <div class="bg-white top" style="">
+    <div class="jp-table" style="">
       <vxe-toolbar :refresh="{query: refreshList}" export custom>
         <template #buttons>
-          <el-button v-if="hasPermission('reimbursement:info:add')" type="primary" size="small" icon="el-icon-plus" @click="add()">新建</el-button>
-          <el-button v-if="hasPermission('reimbursement:info:del')" type="danger" size="small" icon="el-icon-delete" @click="del()" :disabled="$refs.infoTable && $refs.infoTable.getCheckboxRecords().length === 0" plain>删除</el-button>
+          <el-button v-if="hasPermission('reimbursement:info:add')" type="primary" icon="el-icon-plus" @click="add()">新建</el-button>
+          <el-button v-if="hasPermission('reimbursement:info:del')" type="danger" icon="el-icon-delete" @click="del()" :disabled="$refs.infoTable && $refs.infoTable.getCheckboxRecords().length === 0" plain>删除</el-button>
         </template>
       </vxe-toolbar>
-      <div style="height: calc(100% - 80px)">
+      <div class="jp-table-body">
         <vxe-table
           border="inner"
           auto-resize
@@ -110,29 +116,29 @@
           :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="50" ></vxe-column>
           <vxe-column min-width="200" title="报销编号" field="no" align="center">
-            <template slot-scope="scope">
+            <template #default="scope">
               <el-link  type="primary" :underline="false" v-if="hasPermission('reimbursement:info:view')" @click="view(scope.row.id)">{{scope.row.no}}</el-link>
               <el-link  type="primary" :underline="false" v-else-if="hasPermission('reimbursement:info:view')" @click="view(scope.row.id)">{{scope.row.no}}</el-link>
               <span v-else>{{scope.row.no}}</span>
             </template>
           </vxe-column>
           <vxe-column width="130" title="报销类型" field="sourceType" align="center">
-            <template slot-scope="scope">
+            <template #default="scope">
               {{$dictUtils.getDictLabel('pg_reimbursement_source_type', scope.row.sourceType, '')}}
             </template>
           </vxe-column>
           <vxe-column min-width="200" title="报销类别" field="typeName" align="center"></vxe-column>
           <vxe-column min-width="200" title="报销项目" field="projectName" align="center">
-            <template slot-scope="scope">
+            <template #default="scope">
               <el-link  type="primary" :underline="false" v-if="hasPermission('reimbursement:info:view') && scope.row.projectId != undefined" @click="viewProject(scope.row.projectId)">{{scope.row.sourceType === '2' ? '' : scope.row.projectName}}</el-link>
               <el-link  type="primary" :underline="false" v-else-if="hasPermission('reimbursement:info:view') && scope.row.projectId != undefined" @click="viewProject(scope.row.projectId)">{{scope.row.sourceType === '2' ? '' : scope.row.projectName}}</el-link>
               <span v-else>{{scope.row.sourceType === '2' ? '' : scope.row.projectName}}</span>
             </template>
           </vxe-column>
           <vxe-column width="180" title="报销合同" field="projectName" align="center">
-            <template slot-scope="scope">
+            <template #default="scope">
               <el-link  type="primary" :underline="false" v-if="hasPermission('reimbursement:info:view') && scope.row.projectId != undefined" @click="viewContract(scope.row.projectId)">{{scope.row.sourceType === '2' ? scope.row.projectName : ''}}</el-link>
               <span v-else>{{scope.row.sourceType === '2' ? scope.row.projectName : ''}}</span>
             </template>
@@ -144,18 +150,18 @@
           <vxe-column min-width="100" title="报销日期" field="reimDate" align="center"></vxe-column>
           <vxe-column min-width="150" title="报销金额(元)" field="number" align="center"></vxe-column>
           <vxe-column min-width="100" title="状态" fixed="right" align="center" field="type">
-            <template slot-scope="scope">
-              <el-button type="text" @click="detail(scope.row)" :type="$dictUtils.getDictLabel('status_info', scope.row.type, '-')" effect="dark" size="mini">{{$dictUtils.getDictLabel("status", scope.row.type, '未开始')}} </el-button>
+            <template #default="scope">
+              <el-button @click="detail(scope.row)" :type="$dictUtils.getDictLabel('status_info', scope.row.type, '')" effect="dark">{{$dictUtils.getDictLabel("status", scope.row.type, '未开始')}} </el-button>
             </template>
           </vxe-column>
 
           <vxe-column title="操作" min-width="130px" fixed="right" align="center">
-            <template  slot-scope="scope">
-              <el-button v-if="hasPermission('reimbursement:info:edit')&& scope.row.createId === $store.state.user.id && (scope.row.type === '1' || scope.row.type === '3')" type="text"  size="small" @click="edit(scope.row)">修改</el-button>
-              <el-button v-if="hasPermission('reimbursement:info:edit')&& scope.row.createId === $store.state.user.id && (scope.row.type === '2')" type="text"  size="small" @click="reback(scope.row)">撤回</el-button>
-              <el-button v-if="scope.row.type==='2' && checkIsAudit(scope.row)" type="text"  size="small" @click="examine(scope.row)">审核</el-button>
-              <el-button v-if="hasPermission('reimbursement:info:edit')&& scope.row.createId === $store.state.user.id && scope.row.type === '4'" type="text"  size="small" @click="adjust(scope.row)">驳回调整</el-button>
-              <el-button v-if="hasPermission('reimbursement:info:del')&& scope.row.createId === $store.state.user.id && (scope.row.type === '1')" type="text"  size="small" @click="del(scope.row.id)">删除</el-button>
+            <template  #default="scope">
+              <el-button v-if="hasPermission('reimbursement:info:edit')&& scope.row.createId === $store.state.user.id && (scope.row.type === '1' || scope.row.type === '3')" text type="primary"  @click="edit(scope.row)">修改</el-button>
+              <el-button v-if="hasPermission('reimbursement:info:edit')&& scope.row.createId === $store.state.user.id && (scope.row.type === '2')" text type="primary" @click="reback(scope.row)">撤回</el-button>
+              <el-button v-if="scope.row.type==='2' && checkIsAudit(scope.row)" text type="primary" @click="examine(scope.row)">审核</el-button>
+              <el-button v-if="hasPermission('reimbursement:info:edit')&& scope.row.createId === $store.state.user.id && scope.row.type === '4'" text type="primary" @click="adjust(scope.row)">驳回调整</el-button>
+              <el-button v-if="hasPermission('reimbursement:info:del')&& scope.row.createId === $store.state.user.id && (scope.row.type === '1')" text type="primary" @click="del(scope.row.id)">删除</el-button>
             </template>
           </vxe-column>
         </vxe-table>
@@ -189,8 +195,8 @@
   import SelectTree from '@/components/treeSelect/treeSelect.vue'
   import ProgramPageForm from '@/views/finance/invoice/ProgramPageForm'
   import InfoForm from './InfoForm'
-  import TaskService from '@/api/flowable/TaskService'
-  import ProcessService from '@/api/flowable/ProcessService'
+  import taskService from '@/api/flowable/taskService'
+  import processService from '@/api/flowable/processService'
   import pick from 'lodash.pick'
   import ProjectForm from '@/views/program/registered/ProjectForm'
   import ContractNameForm from '@/views/workContract/WorkContractForm2'
@@ -226,12 +232,12 @@
       }
     },
     reimbursementService: null,
-    taskService: null,
-    processService: null,
+    // taskService: null,
+    // processService: null,
     created () {
       this.reimbursementService = new ReimbursementService()
-      this.taskService = new TaskService()
-      this.processService = new ProcessService()
+      // this.taskService = new TaskService()
+      // this.processService = new ProcessService()
     },
     components: {
       InputNumber,
@@ -252,12 +258,11 @@
     },
     computed: {
       userName () {
-        return JSON.parse(localStorage.getItem('user')).name
+        return this.$store.state.user.name
       },
       user () {
-        this.create = JSON.parse(localStorage.getItem('user')).id
-        console.log('createId', this.create)
-        return JSON.parse(localStorage.getItem('user'))
+        this.create = this.$store.state.user.id
+        return this.$store.state.user
       }
     },
     methods: {
@@ -277,18 +282,18 @@
         // 读取流程表单
         let tabTitle = `发起流程【报销审批】`
         let processTitle = `${this.userName} 在 ${this.moment(new Date()).format('YYYY-MM-DD HH:mm')} 发起了 [报销审批]`
-        this.taskService.getTaskDef({ procDefId: this.processDefinitionId,
+        taskService.getTaskDef({ procDefId: this.processDefinitionId,
           status: 'startAndHold'}).then((data) => {
             this.$router.push({
               path: '/flowable/task/TaskForm',
               query: {
-                ...pick(data.data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title'),
+                ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title'),
                 procDefId: this.processDefinitionId,
                 procDefKey: this.procDefKey,
                 status: 'startAndHold',
                 title: tabTitle,
-                formType: data.data.formType,
-                formUrl: data.data.formUrl,
+                formType: data.formType,
+                formUrl: data.formUrl,
                 formTitle: processTitle,
                 businessId: 'false',
                 isShow: false,
@@ -317,7 +322,7 @@
         } else if (row.type === '4') {
           status = 'reapplyFlag'
         }
-        this.taskService.getTaskDef({ procDefId: this.processDefinitionId,
+        taskService.getTaskDef({ procDefId: this.processDefinitionId,
           businessId: row.id,
           businessTable: 'reimbursement_info',
           status: status
@@ -325,13 +330,13 @@
           this.$router.push({
             path: '/flowable/task/TaskForm',
             query: {
-              ...pick(data.data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title'),
+              ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title'),
               procDefId: this.processDefinitionId,
               procDefKey: this.procDefKey,
               status: status,
               title: tabTitle,
-              formType: data.data.formType,
-              formUrl: data.data.formUrl,
+              formType: data.formType,
+              formUrl: data.formUrl,
               formTitle: processTitle,
               businessTable: 'reimbursement_info',
               businessId: row.id,
@@ -349,12 +354,12 @@
           taskId: row.procInsId,
           type: 'warning'
         }).then(async () => {
-          await this.reimbursementService.findById(row.id).then(({data}) => {
+          await this.reimbursementService.findById(row.id).then((data) => {
             if (data.type !== '2') { // status的值不等于“审核中”,就弹出提示
               this.$message.error('数据已发生改变或不存在,请刷新数据')
               this.refreshList()
             } else {
-              this.processService.revokeProcIns(row.procInsId).then(({data}) => {
+              processService.revokeProcIns(row.procInsId).then((data) => {
                 let form = {type: '3', id: row.id}
                 this.reimbursementService.updateStatusById(form)
                 this.$message.success(data)
@@ -362,16 +367,16 @@
               })
             }
           })
-          // this.taskService.backNodes(row.taskId).then(({data}) => {
+          // taskService.backNodes(row.taskId).then((data) => {
           //   let backNodes = data
           //   if (backNodes.length > 0) {
           //     let backTaskDefKey = backNodes[0].taskDefKey
-          //     this.taskService.back({
+          //     taskService.back({
           //       taskId: row.taskId,
           //       backTaskDefKey: backTaskDefKey,
           //       isShow: false,
           //       ...this.auditForm
-          //     }).then(({data}) => {
+          //     }).then((data) => {
           //       row.type = '3'
           //       console.log('type', row)
           //       this.reimbursementService.updateStatusById(row)
@@ -401,12 +406,12 @@
           '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
         })
-        this.processService.getByName('评估-报销审批').then(({data}) => {
+        processService.getByName('评估-报销审批').then((data) => {
           if (!this.commonJS.isEmpty(data.id)) {
             this.processDefinitionId = data.id
             this.procDefKey = data.key
@@ -424,7 +429,7 @@
           type: 'warning'
         }).then(() => {
           this.loading = true
-          this.reimbursementService.remove(ids).then(({data}) => {
+          this.reimbursementService.remove(ids).then((data) => {
             this.$message.success(data)
             this.refreshList()
             this.loading = false
@@ -438,10 +443,10 @@
       // 流程详情
       detail (row) {
         if (!this.commonJS.isEmpty(row.type) && row.type !== '1') {
-          this.taskService.getTaskDef({
+          taskService.getTaskDef({
             procInsId: row.procInsId,
             procDefId: row.processDefinitionId
-          }).then(({data}) => {
+          }).then((data) => {
             this.$router.push({
               path: '/flowable/task/TaskFormDetail',
               query: {
@@ -478,7 +483,7 @@
           ...this.searchForm
         }).then((res) => {
           // 将二进制流文件写入excel表,以下为重要步骤
-          this.$utils.downloadExcel(res.data, '评估-报销审批列表信息')
+          this.$utils.downloadExcel(res, '评估-报销审批列表信息')
           this.loading = false
         }).catch(function (err) {
           this.loading = false
@@ -511,7 +516,7 @@
         }
         return this.reimbursementService.exportFile(params).then((res) => {
           // 将二进制流文件写入excel表,以下为重要步骤
-          this.$utils.downloadExcel(res.data, options.filename)
+          this.$utils.downloadExcel(res, options.filename)
         }).catch(function (err) {
           if (err.response) {
             console.log(err.response)
@@ -520,7 +525,7 @@
       },
       // 驳回后调整
       adjust (row) {
-        this.reimbursementService.findById(row.id).then(({data}) => {
+        this.reimbursementService.findById(row.id).then((data) => {
           if (data.type !== '4') { // status的值不等于“驳回”,就弹出提示
             this.$message.error('数据已发生改变或不存在,请刷新数据')
             this.refreshList()
@@ -531,7 +536,7 @@
       },
       // 审核
       examine (row) {
-        this.reimbursementService.findById(row.id).then(({data}) => {
+        this.reimbursementService.findById(row.id).then((data) => {
           if (data.type !== '2') { // status的值不等于“审核中”,就弹出提示
             this.$message.error('数据已发生改变或不存在,请刷新数据')
             this.refreshList()
@@ -543,9 +548,9 @@
       // 审核或重新调整跳转
       todo (row) {
         let cUser = false
-        this.taskService.getTaskDefInfo({
+        taskService.getTaskDefInfo({
           taskId: row.taskId
-        }).then(({data}) => {
+        }).then((data) => {
           this.$router.push({
             path: '/flowable/task/TaskForm',
             query: {

+ 9 - 6
src/views/reimbursement/info/ProgramForm.vue

@@ -8,7 +8,7 @@
       @close="close"
       append-to-body
       @keyup.enter.native=""
-      :visible.sync="visible">
+	  v-model="visible">
       <vxe-table
         border="inner"
         show-overflow
@@ -20,16 +20,19 @@
       >
         <vxe-table-column type="seq" width="50" title="序号" align="center"></vxe-table-column>
         <vxe-table-column min-width="300px" field="name" align="left" title="项目名称">
-          <template slot-scope="scope">
+          <template #default="scope">
             <el-link type="primary" :underline="false" @click="openProjectForm(scope.row.id)" >{{scope.row.name}}</el-link>
           </template>
         </vxe-table-column>
         <vxe-table-column width="150px" field="no" align="center" title="项目编号"></vxe-table-column>
         <vxe-table-column width="250px" field="reportNo" align="center" title="报告号"></vxe-table-column>
       </vxe-table>
-      <span slot="footer" class="dialog-footer">
-        <el-button size="small" @click="close()" icon="el-icon-circle-close">关闭</el-button>
-      </span>
+		<template #footer>
+			<span class="dialog-footer">
+			<el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
+		  </span>
+		</template>
+
     </el-dialog>
     <ProjectForm ref="projectForm"></ProjectForm>
   </div>
@@ -69,7 +72,7 @@
         this.loading = true
         let resp = await this.reimbursementApprovalService.queryByProIds(ids)
         if (resp) {
-          this.dataList = resp.data
+          this.dataList = resp
         }
         this.loading = false
       },

Plik diff jest za duży
+ 1717 - 1694
src/views/reimbursement/info/ReimbursementForm.vue


+ 1 - 1
src/views/reimbursement/type/TypeForm.vue

@@ -7,7 +7,7 @@
       width="500px"
       @close="close"
       @keyup.enter.native="doSubmit"
-      :visible.sync="visible">
+	  v-model="visible">
       <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method==='view'"
                label-width="100px" @submit.native.prevent>
         <el-row  :gutter="15">

+ 1 - 1
src/views/reimbursement/type/TypeList.vue

@@ -40,7 +40,7 @@
           :tree-config="{transform: true, rowField: 'id', parentField: 'parentId'}"
           :checkbox-config="{}">
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
-          <vxe-column type="checkbox" width="40" ></vxe-column>
+          <vxe-column type="checkbox" width="50" ></vxe-column>
           <vxe-column title="报销内容名称" field="name" align="left" tree-node></vxe-column>
           <vxe-column width="100" title="序号" field="sort"></vxe-column>
 

+ 1 - 1
src/views/sys/post/PostList.vue

@@ -123,7 +123,7 @@
 							</el-avatar>
 						</template>
 					</vxe-table-column>
-					<vxe-column type="checkbox" width="40px"></vxe-column>
+					<vxe-column type="checkbox" width="50px"></vxe-column>
 					<vxe-column title="岗位名称" field="name" sortable>
 						<template #default="{ row }">
 							<el-link

+ 1 - 1
src/views/sys/role/RoleUserList.vue

@@ -62,7 +62,7 @@
 					</template>
 				</vxe-table-column>
 				<vxe-column type="seq" width="40"></vxe-column>
-				<vxe-column type="checkbox" width="40px"></vxe-column>
+				<vxe-column type="checkbox" width="50px"></vxe-column>
 				<vxe-column title="头像" field="photo">
 					<template #default="{ row }">
 						<img

+ 1 - 1
src/views/workClient/WorkClientList.vue

@@ -119,7 +119,7 @@
                 :data="dataList"
                 :checkbox-config="{}">
                 <vxe-column type="seq" width="60" title="序号"></vxe-column>
-                <vxe-column type="checkbox"  width="40px"></vxe-column>
+                <vxe-column type="checkbox"  width="50px"></vxe-column>
                 <vxe-column min-width="200" title="客户名称" field="name" align="center">
                     <template #default="scope">
                         <el-link  type="primary" :underline="false" v-if="hasPermission('sys:project:edit')" @click="view(scope.row.id)">{{scope.row.name}}</el-link>

+ 13 - 7
src/views/workContract/WorkContractList.vue

@@ -44,11 +44,16 @@
         </el-form-item>
 
         <el-form-item v-if="showHideItem" label="合同金额" prop="contractAmounts">
-          <InputNumber :disabled="false" :precision="num" v-model="searchForm.contractAmounts"></InputNumber>
+          <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" label="创建人" prop="createBy">
-          <UserSelect :limit='1' :readonly="true" size="default" :userName="applyUserName" @getValue='(value, label) => {searchForm.createBy = value,applyUserName  = label}'></UserSelect>
+        <el-form-item v-if="showHideItem" label="创建人" prop="createById">
+          <UserSelect :limit='1' :readonly="true" :modelValue="searchForm.createById" @update:modelValue='(value, label) => {searchForm.createById = value}'></UserSelect>
         </el-form-item>
 
         <el-form-item>
@@ -84,7 +89,7 @@
                 :data="dataList"
                 :checkbox-config="{}">
                 <vxe-column type="seq" width="60" title="序号"></vxe-column>
-                <vxe-column type="checkbox" width="40px"></vxe-column>
+                <vxe-column type="checkbox" width="50px"></vxe-column>
 
                 <vxe-column min-width="200px" title="合同编号" field="no" align="center"></vxe-column>
                 <vxe-column min-width="200px" title="合同名称" field="name" align="center">
@@ -113,12 +118,12 @@
                 <vxe-column min-width="150px" title="签订日期" field="contractDate" align="center"></vxe-column>
                 <vxe-column  min-width="120px" title="登记状态" field="status" fixed="right" align="center">
                   <template #default="scope">
-                    <el-button @click="detail(scope.row)" :type="$dictUtils.getDictLabel('approval_type_status', scope.row.status, '')" effect="dark" size="small">{{$dictUtils.getDictLabel("approval_type", scope.row.status, '-')}} </el-button>
+                    <el-button @click="detail(scope.row)" :type="$dictUtils.getDictLabel('approval_type_status', scope.row.status, '')" effect="dark">{{$dictUtils.getDictLabel("approval_type", scope.row.status, '-')}} </el-button>
                   </template>
                 </vxe-column>
                 <vxe-column min-width="100px"  title="归档状态" field="filedType" fixed="right" align="center">
                   <template #default="scope">
-                    <el-button  @click="detailFiled(scope.row)" :type="$dictUtils.getDictLabel('filed_type_status', scope.row.filedType, '')" effect="dark" size="small">{{$dictUtils.getDictLabel("filed_type", scope.row.filedType, '未归档')}} </el-button>
+                    <el-button  @click="detailFiled(scope.row)" :type="$dictUtils.getDictLabel('filed_type_status', scope.row.filedType, '')" effect="dark">{{$dictUtils.getDictLabel("filed_type", scope.row.filedType, '未归档')}} </el-button>
                   </template>
                 </vxe-column>
 <!--                <vxe-column width="100px"  title="借用状态" field="borrowType" >-->
@@ -208,7 +213,7 @@
           type: '',
           filedType: '',
           contractAmounts: [],
-          createBy: '',
+			createById: '',
           procInsId: '',
           processDefinitionId: ''
         },
@@ -372,6 +377,7 @@
       },
       resetSearch () {
         this.applyUserName = ''
+		  this.searchForm.createById = ''
         this.$refs.searchForm.resetFields()
         this.refreshList()
       },