|
@@ -1,4 +1,4 @@
|
|
|
-import { getForecastList, approveForecast, updateForecast } from '@/api/forecast'
|
|
|
+import { getForecastList, updateForecast } from '@/api/forecast'
|
|
|
import { mapGetters } from 'vuex'
|
|
|
import {
|
|
|
APPROVAL_STATUS,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
import { dateFormat } from '@/util/date'
|
|
|
|
|
|
/**
|
|
|
- * @typedef {import('@/api/forecast/types').ForecastRecord} ForecastRecord
|
|
|
+ * @typedef {import('./types').ForecastRecord} ForecastRecord
|
|
|
* @typedef {import('./types').PageConfig} PageConfig
|
|
|
* @typedef {import('./types').ApprovalFormData} ApprovalFormData
|
|
|
* @typedef {import('./types').PermissionConfig} PermissionConfig
|
|
@@ -54,8 +54,7 @@ export default {
|
|
|
/** @type {ApprovalFormData} 审批表单数据 */
|
|
|
approvalForm: {
|
|
|
id: null,
|
|
|
- isApprove: true,
|
|
|
- comment: ''
|
|
|
+ isApprove: true
|
|
|
},
|
|
|
option: {
|
|
|
height: 'auto',
|
|
@@ -210,29 +209,12 @@ export default {
|
|
|
overHidden: true
|
|
|
}
|
|
|
]
|
|
|
- },
|
|
|
- /** @type {Record<string, Array<ValidationRule>>} 审批表单验证规则 */
|
|
|
- approvalFormRules: {
|
|
|
- approvalComment: [
|
|
|
- {
|
|
|
- validator: (rule, value, callback) => {
|
|
|
- if (!this.approvalForm.isApprove && (!value || value.trim() === '')) {
|
|
|
- callback(new Error('拒绝审批时必须填写拒绝原因'))
|
|
|
- } else if (value && value.length > 500) {
|
|
|
- callback(new Error('审批意见不能超过500个字符'))
|
|
|
- } else {
|
|
|
- callback()
|
|
|
- }
|
|
|
- },
|
|
|
- trigger: 'blur'
|
|
|
- }
|
|
|
- ]
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
|
|
|
computed: {
|
|
|
- ...mapGetters(['permission']),
|
|
|
+ ...mapGetters(['permission', 'userInfo']),
|
|
|
|
|
|
/**
|
|
|
* 权限列表
|
|
@@ -269,7 +251,7 @@ export default {
|
|
|
methods: {
|
|
|
/**
|
|
|
* 获取审批状态标签
|
|
|
- * @param {import('@/constants/forecast').ApprovalStatus} status - 审批状态值
|
|
|
+ * @param {import('@/constants').ApprovalStatus} status - 审批状态值
|
|
|
* @returns {string} 状态标签文本
|
|
|
*/
|
|
|
getApprovalStatusLabel(status) {
|
|
@@ -278,7 +260,7 @@ export default {
|
|
|
|
|
|
/**
|
|
|
* 获取审批状态类型
|
|
|
- * @param {import('@/constants/forecast').ApprovalStatus} status - 审批状态值
|
|
|
+ * @param {import('@/constants').ApprovalStatus} status - 审批状态值
|
|
|
* @returns {string} 状态类型
|
|
|
*/
|
|
|
getApprovalStatusType(status) {
|
|
@@ -292,7 +274,7 @@ export default {
|
|
|
* @returns {boolean} 是否可以审批通过
|
|
|
*/
|
|
|
canApprove(row) {
|
|
|
- return canApprove(row.approvalStatus || 0)
|
|
|
+ return canApprove(row.approvalStatus || APPROVAL_STATUS.PENDING)
|
|
|
},
|
|
|
|
|
|
/**
|
|
@@ -302,7 +284,7 @@ export default {
|
|
|
* @returns {boolean} 是否可以审批拒绝
|
|
|
*/
|
|
|
canReject(row) {
|
|
|
- return canReject(row.approvalStatus || 0)
|
|
|
+ return canReject(row.approvalStatus || APPROVAL_STATUS.PENDING)
|
|
|
},
|
|
|
|
|
|
/**
|
|
@@ -410,9 +392,8 @@ export default {
|
|
|
*/
|
|
|
performApproval(record, isApprove) {
|
|
|
this.approvalForm = {
|
|
|
- id: Number(record.id),
|
|
|
- isApprove: isApprove,
|
|
|
- comment: ''
|
|
|
+ id: record.id,
|
|
|
+ isApprove: isApprove
|
|
|
}
|
|
|
this.approvalDialogVisible = true
|
|
|
},
|
|
@@ -423,25 +404,22 @@ export default {
|
|
|
* @returns {void}
|
|
|
*/
|
|
|
submitApproval() {
|
|
|
- /** @type {any} */ (this.$refs.approvalFormRef).validate(/** @param {boolean} valid */ (valid) => {
|
|
|
- if (valid) {
|
|
|
- this.submitting = true
|
|
|
- const approvalData = {
|
|
|
- id: Number(this.approvalForm.id),
|
|
|
- approvalStatus: this.approvalForm.isApprove ? APPROVAL_STATUS.APPROVED : APPROVAL_STATUS.REJECTED,
|
|
|
- approvalComment: this.approvalForm.comment
|
|
|
- }
|
|
|
+ this.submitting = true
|
|
|
+ const approvalData = {
|
|
|
+ id: this.approvalForm.id,
|
|
|
+ approvalStatus: this.approvalForm.isApprove ? APPROVAL_STATUS.APPROVED : APPROVAL_STATUS.REJECTED,
|
|
|
+ approved_by: this.userInfo.user_id || 0,
|
|
|
+ approved_name: this.userInfo.user_name || '',
|
|
|
+ }
|
|
|
|
|
|
- approveForecast(approvalData).then(() => {
|
|
|
- this.$message.success('审批操作成功')
|
|
|
- this.approvalDialogVisible = false
|
|
|
- this.onLoad(this.page)
|
|
|
- }).catch(() => {
|
|
|
- this.$message.error('审批操作失败')
|
|
|
- }).finally(() => {
|
|
|
- this.submitting = false
|
|
|
- })
|
|
|
- }
|
|
|
+ updateForecast(approvalData).then(() => {
|
|
|
+ this.$message.success('审批操作成功')
|
|
|
+ this.approvalDialogVisible = false
|
|
|
+ this.onLoad(this.page)
|
|
|
+ }).catch(() => {
|
|
|
+ this.$message.error('审批操作失败')
|
|
|
+ }).finally(() => {
|
|
|
+ this.submitting = false
|
|
|
})
|
|
|
},
|
|
|
|
|
@@ -455,7 +433,6 @@ export default {
|
|
|
this.approvalForm = {
|
|
|
id: null,
|
|
|
isApprove: true,
|
|
|
- comment: ''
|
|
|
}
|
|
|
},
|
|
|
|