diff --git a/admin/src/api/pmcanteendemand.js b/admin/src/api/pmcanteendemand.js
index 113497a..eb7b46c 100644
--- a/admin/src/api/pmcanteendemand.js
+++ b/admin/src/api/pmcanteendemand.js
@@ -96,17 +96,17 @@ export function pmcanteendemandBatchSaveApi(list) {
})
}
-/**
- * pmcanteendemand批量编辑
- * @param list
- */
-export function pmcanteendemandBatchUpdateApi(list) {
- return request({
- url: `autogencode/pmcanteendemand/batchUpdate`,
- method: 'POST',
- data: list
- })
-}
+// /**
+// * pmcanteendemand批量编辑
+// * @param list
+// */
+// export function pmcanteendemandBatchUpdateApi(list) {
+// return request({
+// url: `autogencode/pmcanteendemand/batchUpdate`,
+// method: 'POST',
+// data: list
+// })
+// }
/**
diff --git a/admin/src/api/pmdailymenu.js b/admin/src/api/pmdailymenu.js
index 840f482..459d9ef 100644
--- a/admin/src/api/pmdailymenu.js
+++ b/admin/src/api/pmdailymenu.js
@@ -48,6 +48,18 @@ export function pmdailymenuDeleteApi(ids) {
})
}
+/**
+ * pmdailymenu批量创建
+ * @param menus
+ */
+export function pmdailymenuBatchCreateApi(menus) {
+ return request({
+ url: `autogencode/pmdailymenu/batchSave`,
+ method: 'POST',
+ data: menus
+ })
+}
+
/**
* pmdailymenu列表
diff --git a/admin/src/views/pm/complaint/suggestion/index.vue b/admin/src/views/pm/complaint/suggestion/index.vue
index 563987a..2f9869b 100644
--- a/admin/src/views/pm/complaint/suggestion/index.vue
+++ b/admin/src/views/pm/complaint/suggestion/index.vue
@@ -63,7 +63,7 @@
prop="ownerName"
header-align="center"
align="center"
- label="业主/租户">
+ label="名称">
-
-
- {{ getOwnerName(scope.row.houseOwnerId) }}
-
-
+
+
+
+
+
+
+
+
+
+ label="所属部门">
{{ '修改' }}
+ {{ '处理' }}
删除
@@ -364,6 +365,25 @@
})
})
},
+ // 处理投诉/建议,将状态修改为已处理(3)
+ handleComplaint (id) {
+ this.$confirm('确定要将该投诉/建议标记为已处理吗?', '提示', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning'
+ }).then(() => {
+ // 调用更新状态API
+ api.pmcomplaintsuggestionUpdateApi({
+ id: id,
+ status: '3'
+ }).then(res => {
+ this.$message.success('处理成功')
+ this.getDataList()
+ }).catch(() => {
+ this.$message.error('处理失败')
+ })
+ }).catch(() => {})
+ },
}
}
diff --git a/admin/src/views/pm/complaint/suggestion/pmcomplaintsuggestion-add-and-update.vue b/admin/src/views/pm/complaint/suggestion/pmcomplaintsuggestion-add-and-update.vue
index e2d2ee3..d1a0c47 100644
--- a/admin/src/views/pm/complaint/suggestion/pmcomplaintsuggestion-add-and-update.vue
+++ b/admin/src/views/pm/complaint/suggestion/pmcomplaintsuggestion-add-and-update.vue
@@ -7,7 +7,7 @@
width="80%">
-
+
@@ -23,7 +23,7 @@
-
+
-
+
@@ -87,8 +87,8 @@
-
-
+
+
@@ -175,13 +175,26 @@
-
+
-
+
+
+
+
+
+
+
+
+
@@ -218,12 +231,16 @@
tenantList: [],
houseList: [],
adminList: [], // 管理员列表
- ownerHouseList: [], // 所选业主/租户的房屋列表
- complaintFiles: [], // 附件文件列表
+ ownerHouseList: [], // 所选名称的房屋列表
+ beforeProcessFiles: [], // 问题凭证文件列表
+ afterProcessFiles: [], // 处理凭证文件列表
+ canUploadBeforeProcess: true, // 是否可以上传问题凭证
+ canUploadAfterProcess: false, // 是否可以上传处理凭证
+ showAfterProcess: false, // 是否显示处理凭证上传组件
dataForm: {
id: 0,
csType: '' ,
- status: '0' ,
+ status: '1' ,
csContent: '' ,
submitChannel: '' ,
submitTime: '' ,
@@ -238,7 +255,8 @@
complainedHouseId: '',
ownerCompany: '',
ownerCompanyName: '',
- files: []
+ beforeProcessFiles: [], // 问题凭证
+ afterProcessFiles: [] // 处理凭证
},
dataRule: {
csType: [
@@ -300,7 +318,7 @@
// 处理业主类型变化
handleOwnerTypeChange(ownerType) {
- // 清空业主/租户ID和房屋ID
+ // 清空名称ID和房屋ID
this.dataForm.ownerId = ''
this.dataForm.houseId = ''
this.dataForm.houseOwnerId = ''
@@ -322,7 +340,7 @@
// 清空房屋选择,让用户手动选择
this.dataForm.houseId = ''
this.dataForm.houseOwnerId = ''
- // 设置业主所属部门
+ // 设置所属部门
const owner = this.ownerList.find(item => item.id === ownerId)
if (owner && owner.deptId) {
this.dataForm.ownerCompany = owner.deptId
@@ -416,13 +434,59 @@
this.dataForm.houseOwnerId = ''
}
},
- // 更新附件文件列表
- updateComplaintFiles(files) {
- this.complaintFiles = files
- // 将文件保存到dataForm.files中
+ // 更新问题凭证文件列表
+ updateBeforeProcessFiles(files) {
+ this.beforeProcessFiles = files
+ // 将文件保存到dataForm.beforeProcessFiles中
+ if (files && files.length > 0) {
+ // 将FileUploadVO返回的文件格式转换为后端SystemAttachment需要的格式
+ this.dataForm.beforeProcessFiles = files.map(file => {
+ // 处理文件路径,确保符合后端要求的格式
+ let attDir = file.attDir || file.attachFileUrl || ''
+ // 如果路径以/file/public/开头,去掉这个前缀,因为后端存储格式不需要
+ if (attDir.startsWith('/file/public/')) {
+ attDir = attDir.replace('/file/public/', '')
+ } else if (attDir.startsWith('/file/')) {
+ attDir = attDir.replace('/file/', '')
+ }
+
+ return {
+ // 严格按照SystemAttachment的字段要求设置
+ attId: file.id || file.attId || '', // 确保转换为字符串
+ name: file.name || file.oldName || '', // 附件名称
+ attDir: attDir, // 附件路径
+ attSize: file.attSize || '', // 附件大小
+ attType: 'before_process', // 问题凭证类型
+ // 保留原有字段以保持兼容性
+ fileName: file.name || file.oldName || '',
+ filePath: attDir,
+ url: attDir,
+ createTime: null,
+ createdBy: null,
+ createTimeStr: null,
+ delFlag: '0',
+ updateBy: null,
+ updateTime: null,
+ i18nCode: '',
+ i18nLanguage: '',
+ originalFileName: file.name || file.oldName || '',
+ position: 0,
+ remark: file.remark || '',
+ sort: 0,
+ status: ''
+ }
+ })
+ } else {
+ this.dataForm.beforeProcessFiles = []
+ }
+ },
+ // 更新处理凭证文件列表
+ updateAfterProcessFiles(files) {
+ this.afterProcessFiles = files
+ // 将文件保存到dataForm.afterProcessFiles中
if (files && files.length > 0) {
// 将FileUploadVO返回的文件格式转换为后端SystemAttachment需要的格式
- this.dataForm.files = files.map(file => {
+ this.dataForm.afterProcessFiles = files.map(file => {
// 处理文件路径,确保符合后端要求的格式
let attDir = file.attDir || file.attachFileUrl || ''
// 如果路径以/file/public/开头,去掉这个前缀,因为后端存储格式不需要
@@ -438,7 +502,7 @@
name: file.name || file.oldName || '', // 附件名称
attDir: attDir, // 附件路径
attSize: file.attSize || '', // 附件大小
- attType: file.attType || '', // 附件类型
+ attType: 'after_process', // 处理凭证类型
// 保留原有字段以保持兼容性
fileName: file.name || file.oldName || '',
filePath: attDir,
@@ -459,13 +523,14 @@
}
})
} else {
- this.dataForm.files = []
+ this.dataForm.afterProcessFiles = []
}
},
init (id) { // 初始化表单验证规则
this.dataForm.id = id || 0
this.visible = true
- this.complaintFiles = [] // 清空文件列表
+ this.beforeProcessFiles = [] // 清空问题凭证文件列表
+ this.afterProcessFiles = [] // 清空处理凭证文件列表
this.$nextTick(function() {
this.$refs['dataForm'].resetFields()
if (this.dataForm.id) {
@@ -479,9 +544,11 @@
data.handlerDate = new Date(data.handlerDate)
}
this.dataForm = data;
- // 设置文件列表
- if (data.files && data.files.length > 0) {
- this.complaintFiles = data.files.map(file => {
+ // 设置文件上传权限
+ this.setFileUploadPermissions(data.status);
+ // 设置问题凭证文件列表
+ if (data.beforeProcessFiles && data.beforeProcessFiles.length > 0) {
+ this.beforeProcessFiles = data.beforeProcessFiles.map(file => {
return {
id: file.attId,
attId: file.attId,
@@ -494,7 +561,24 @@
}
})
} else {
- this.complaintFiles = []
+ this.beforeProcessFiles = []
+ }
+ // 设置处理凭证文件列表
+ if (data.afterProcessFiles && data.afterProcessFiles.length > 0) {
+ this.afterProcessFiles = data.afterProcessFiles.map(file => {
+ return {
+ id: file.attId,
+ attId: file.attId,
+ name: file.name || file.fileName || file.originalFileName,
+ oldName: file.name || file.fileName || file.originalFileName,
+ attDir: file.attDir || file.filePath || file.url,
+ attachFileUrl: file.attDir || file.filePath || file.url,
+ attSize: file.attSize,
+ attType: file.attType
+ }
+ })
+ } else {
+ this.afterProcessFiles = []
}
// 保存房屋ID
const houseId = data.houseId;
@@ -508,9 +592,36 @@
});
});
}.bind(this))
+ } else {
+ // 新增时的默认权限
+ this.setFileUploadPermissions('1'); // 默认为未处理状态
}
}.bind(this))
},
+ // 设置文件上传权限
+ setFileUploadPermissions(status) {
+ switch (status) {
+ case '1': // 未处理
+ this.canUploadBeforeProcess = true;
+ this.canUploadAfterProcess = false;
+ this.showAfterProcess = false;
+ break;
+ case '2': // 处理中
+ this.canUploadBeforeProcess = false;
+ this.canUploadAfterProcess = true;
+ this.showAfterProcess = true;
+ break;
+ case '3': // 已处理
+ this.canUploadBeforeProcess = false;
+ this.canUploadAfterProcess = true;
+ this.showAfterProcess = true;
+ break;
+ default:
+ this.canUploadBeforeProcess = true;
+ this.canUploadAfterProcess = false;
+ this.showAfterProcess = false;
+ }
+ },
// 表单数据提交
dataSubmit () {
this.$refs['dataForm'].validate((valid) => {
diff --git a/admin/src/views/pm/daily/menu/pmdailymenu-add-and-update.vue b/admin/src/views/pm/daily/menu/pmdailymenu-add-and-update.vue
index 7222e90..af8002e 100644
--- a/admin/src/views/pm/daily/menu/pmdailymenu-add-and-update.vue
+++ b/admin/src/views/pm/daily/menu/pmdailymenu-add-and-update.vue
@@ -1,40 +1,40 @@
+ :title="!dataForm.id ? '添加' : '修改'"
+ :close-on-click-modal="false"
+ :visible.sync="visible">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/admin/src/views/pm/maintenance/dispatch/pmmaintenancedispatch-add-and-update.vue b/admin/src/views/pm/maintenance/dispatch/pmmaintenancedispatch-add-and-update.vue
index ec1c6ff..52b2446 100644
--- a/admin/src/views/pm/maintenance/dispatch/pmmaintenancedispatch-add-and-update.vue
+++ b/admin/src/views/pm/maintenance/dispatch/pmmaintenancedispatch-add-and-update.vue
@@ -4,30 +4,26 @@
:title="!dataForm.id ? '添加' : '修改'"
:close-on-click-modal="false"
:append-to-body="true"
- :visible.sync="visible" width="800px">
+ :visible.sync="visible" width="1000px">
-
+
-
+
-
+
-
+
-
-
-
-
-
+
-
+
+
+
+
+
-
-
-
-
-
+
-
+
-
-
+
+
-
+
-
+
-
-
-
-
-
+
-
+
-
+
+
+
+
+
-
+
-
-
-
-
-
+
-
+
-
+
@@ -110,7 +102,7 @@
-
+
@@ -119,7 +111,7 @@
-
+
@@ -131,7 +123,7 @@
-
+
@@ -140,15 +132,8 @@
-
-
-
-
-
-
-
-
-
+
+