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">