diff --git a/src/main/resources/templates/admin/business/process-completed.ftl b/src/main/resources/templates/admin/business/process-completed.ftl
index 8cdd13f..3c5541a 100644
--- a/src/main/resources/templates/admin/business/process-completed.ftl
+++ b/src/main/resources/templates/admin/business/process-completed.ftl
@@ -96,7 +96,7 @@
                 </el-popover>
               </template>
             </el-table-column>
-            <el-table-column prop="contractNo" label="合同编号" width="80">
+            <el-table-column prop="contractNo" label="合同编号" width="120">
               <template slot-scope="scope">
                 <el-popover placement="top-end" title="合同编号" width="200" trigger="hover">
                   <span slot="reference">{{scope.row.contractNo|ellipsis}}</span>
@@ -104,23 +104,23 @@
                 </el-popover>
               </template>
             </el-table-column>
-            <el-table-column prop="processType" label="流程类型" width="100">
+            <el-table-column prop="processType" label="流程类型" width="110">
               <template slot-scope="scope">
                 <span>{{scope.row.processType | processType}}</span>
               </template>
             </el-table-column>
-            <el-table-column prop="applyPersonName" label="申请人" width="120"></el-table-column>
+            <el-table-column prop="applyPersonName" label="申请人" width="130"></el-table-column>
             <el-table-column prop="status" label="审核状态" width="100">
               <template slot-scope="scope">
                 <span>{{scope.row.status | processStatus}}</span>
               </template>
             </el-table-column>
-            <el-table-column prop="currentAudit" label="当前审核人" width="100">
+            <el-table-column prop="currentAudit" label="当前审核人">
               <template slot-scope="scope">
                 <span v-if="scope.row.status!=='audit_passed' && scope.row.status!=='audit_not_passed'">{{scope.row.currentAudit}}</span>
               </template>
             </el-table-column>
-            <el-table-column prop="lastUpdateAt" label="最后更新时间" width="170"></el-table-column>
+            <el-table-column prop="lastUpdateAt" label="最后更新时间" width="180"></el-table-column>
 
             <el-table-column label="操作" fixed="right" width="230">
               <template slot-scope="scope">
diff --git a/src/main/resources/templates/admin/business/process-edit.ftl b/src/main/resources/templates/admin/business/process-edit.ftl
index 191d81e..0d2b13d 100644
--- a/src/main/resources/templates/admin/business/process-edit.ftl
+++ b/src/main/resources/templates/admin/business/process-edit.ftl
@@ -120,13 +120,13 @@
                 <span>{{processForm.applyPersonName}}</span>
               </el-form-item>
 
-              <el-form-item label="申请部门领导">
+              <el-form-item label="申请人部门领导">
                 <span>{{processForm.applyDeptLeaderName}}</span>
               </el-form-item>
 
               <el-form-item v-if="isSalesContractMode" label="申请人电话" prop="applyPersonPhone"
                             :rules="[{ required: true, message: '申请人电话不能为空'}]">
-                <el-input placeholder="请输入内容" v-model="processForm.applyPersonPhone" maxlength="11"></el-input>
+                <el-input placeholder="请输入内容" v-model="processForm.applyPersonPhone" maxlength="13"></el-input>
               </el-form-item>
 
             </div>
@@ -1023,19 +1023,28 @@
       },
 
       beforeRemove(file, fileList) {
-        if (this.checkUploadFileSize(file)) {
+        if (this.isExtensionFailed(file) || this.isUploadFileSizeExceed(file)) {
           // beforeUpload 阻断上传后 会调用该方法 上传文件大小不能超过 50MB
           return true;
         }
         return this.$confirm("确定移除 " + file.name + "?");
       },
 
-      checkUploadFileSize(file) {
+      isUploadFileSizeExceed(file) {
         return file.size > 50 * 1024 * 1024
       },
 
+      isExtensionFailed(file) {
+        const { name } = file
+        return isEmpty(fileUploadSuffix.filter(suffix => name.endsWith(suffix)))
+      },
+
       beforeUpload(file) {
-        if (this.checkUploadFileSize(file)) {
+        if (this.isExtensionFailed(file)) {
+          this.$message.warning("只能上传PDF、Excel、Word、图片、压缩包");
+          return false;
+        }
+        if (this.isUploadFileSizeExceed(file)) {
           this.$message.warning("上传文件大小不能超过 50MB");
           return false;
         }
@@ -1070,7 +1079,7 @@
       },
 
       beforeSupplierMaterialRemove(scope, file, fileList) {
-        if (this.checkUploadFileSize(file)) {
+        if (this.isExtensionFailed(file) || this.isUploadFileSizeExceed(file)) {
           // beforeUpload 阻断上传后 会调用该方法 上传文件大小不能超过 50MB
           return true;
         }
diff --git a/src/main/resources/templates/admin/business/process-new.ftl b/src/main/resources/templates/admin/business/process-new.ftl
index e69593f..b9703bb 100644
--- a/src/main/resources/templates/admin/business/process-new.ftl
+++ b/src/main/resources/templates/admin/business/process-new.ftl
@@ -121,12 +121,12 @@
             <el-table-column prop="amount" label="数量"></el-table-column>
             <el-table-column prop="unit" label="单位"></el-table-column>
             <el-table-column prop="price" label="预算单价" width="100"></el-table-column>
-            <el-table-column prop="taxRate" label="税率(%)"></el-table-column>
-            <el-table-column prop="totalTaxInclude_" label="含税总金额(元)" width="120"></el-table-column>
-            <el-table-column prop="totalTaxExclude" label="不含税金额(元)" width="120"></el-table-column>
+            <el-table-column prop="taxRate" label="税率(%)" width="100"></el-table-column>
+            <el-table-column prop="totalTaxInclude_" label="含税总金额(元)" width="140"></el-table-column>
+            <el-table-column prop="totalTaxExclude" label="不含税金额(元)" width="140"></el-table-column>
             <el-table-column prop="totalTax" label="税金(元)" width="110"></el-table-column>
             <el-table-column prop="isUnderwritten" label="是否垫资"></el-table-column>
-            <el-table-column prop="payTime" label="支出时间" width="160"></el-table-column>
+            <el-table-column prop="payTime" label="支出时间" width="180"></el-table-column>
             <el-table-column prop="payAmount" label="支出金额(元)" width="120"></el-table-column>
             <el-table-column prop="amountAlready" label="已采购数量" width="100"></el-table-column>
             <el-table-column prop="amountCurrent" label="本次采购数量" width="180">
@@ -225,7 +225,7 @@
                 <span v-else>未选择项目</span>
               </el-form-item>
 
-              <el-form-item label="申请部门领导">
+              <el-form-item label="申请人部门领导">
                 <span v-if="processForm.applyDeptLeaderName">{{processForm.applyDeptLeaderName}}</span>
                 <span v-else>未选择部门</span>
               </el-form-item>
@@ -233,7 +233,7 @@
               <el-form-item v-if="isSalesContractMode" label="申请人电话" prop="applyPersonPhone"
                             :rules="[{ required: true, message: '申请人电话不能为空'},
                                      { pattern:/^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/, message: '请输入合法手机号', trigger: 'blur' }]">
-                <el-input placeholder="请输入内容" v-model="processForm.applyPersonPhone" maxlength="11"></el-input>
+                <el-input placeholder="请输入内容" v-model="processForm.applyPersonPhone" maxlength="13"></el-input>
               </el-form-item>
 
             </div>
@@ -614,6 +614,14 @@
       "procurementAmount"
     ]
 
+    const fileUploadSuffix = [
+      ".pdf",
+      ".doc", ".docx",
+      ".xls", ".xlsx",
+      ".rar", ".zip", ".7z",
+      ".png", ".jpg", ".jpeg", ".gif", ".bmp", ".webp"
+    ]
+
     const isEmpty = (obj) => {
       if (!obj) {
         return true
@@ -1202,12 +1210,17 @@
         this.fileList = fileList
       },
 
-      checkUploadFileSize(file) {
+      isUploadFileSizeExceed(file) {
         return file.size > 50 * 1024 * 1024
       },
 
+      isExtensionFailed(file) {
+        const { name } = file
+        return isEmpty(fileUploadSuffix.filter(suffix => name.endsWith(suffix)))
+      },
+
       beforeRemove(file, fileList) {
-        if (this.checkUploadFileSize(file)) {
+        if (this.isExtensionFailed(file) || this.isUploadFileSizeExceed(file)) {
           // beforeUpload 阻断上传后 会调用该方法 上传文件大小不能超过 50MB
           return true;
         }
@@ -1215,7 +1228,11 @@
       },
 
       beforeUpload(file) {
-        if (this.checkUploadFileSize(file)) {
+        if (this.isExtensionFailed(file)) {
+          this.$message.warning("只能上传PDF、Excel、Word、图片、压缩包");
+          return false;
+        }
+        if (this.isUploadFileSizeExceed(file)) {
           this.$message.warning("上传文件大小不能超过 50MB");
           return false;
         }
@@ -1250,7 +1267,7 @@
       },
 
       beforeSupplierMaterialRemove(scope, file, fileList) {
-        if (this.checkUploadFileSize(file)) {
+        if (this.isExtensionFailed(file) || this.isUploadFileSizeExceed(file)) {
           // beforeUpload 阻断上传后 会调用该方法 上传文件大小不能超过 50MB
           return true;
         }
diff --git a/src/main/resources/templates/admin/business/process-review.ftl b/src/main/resources/templates/admin/business/process-review.ftl
index c3341d8..e215fae 100644
--- a/src/main/resources/templates/admin/business/process-review.ftl
+++ b/src/main/resources/templates/admin/business/process-review.ftl
@@ -87,7 +87,7 @@
               </template>
             </el-table-column>
 
-            <el-table-column prop="contractNo" label="合同编号" width="80">
+            <el-table-column prop="contractNo" label="合同编号" width="120">
               <template slot-scope="scope">
                 <el-popover placement="top-end" title="合同编号" width="200" trigger="hover">
                   <span slot="reference">{{scope.row.contractNo|ellipsis}}</span>
@@ -96,19 +96,19 @@
               </template>
             </el-table-column>
 
-            <el-table-column prop="processType" label="流程类型" width="100">
+            <el-table-column prop="processType" label="流程类型" width="110">
               <template slot-scope="scope">
                 <span>{{scope.row.processType | processType}}</span>
               </template>
             </el-table-column>
-            <el-table-column prop="applyPersonName" label="申请人" width="120"></el-table-column>
+            <el-table-column prop="applyPersonName" label="申请人" width="130"></el-table-column>
             <el-table-column prop="status" label="审核状态" width="100">
               <template slot-scope="scope">
                 <span>{{scope.row.status | processStatus}}</span>
               </template>
             </el-table-column>
-            <el-table-column prop="currentAudit" label="当前审核人" width="100"></el-table-column>
-            <el-table-column prop="lastUpdateAt" label="最后更新时间" width="170"></el-table-column>
+            <el-table-column prop="currentAudit" label="当前审核人"></el-table-column>
+            <el-table-column prop="lastUpdateAt" label="最后更新时间" width="180"></el-table-column>
 
             <el-table-column label="操作" fixed="right" width="140">
               <template slot-scope="scope">