diff --git a/bs-ui/src/views/gallery/list/index.vue b/bs-ui/src/views/gallery/list/index.vue index 7aa215c..51fe200 100644 --- a/bs-ui/src/views/gallery/list/index.vue +++ b/bs-ui/src/views/gallery/list/index.vue @@ -145,7 +145,7 @@ import { getToken } from "@/utils/auth"; import { formatDateStr } from "@/utils"; import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; -import { listTag } from "@/api/task/tag"; +import { listTag } from "@/api/system/tag"; export default { name: 'List', diff --git a/bs-ui/src/views/gallery/query/components/ImageChooseDialog.vue b/bs-ui/src/views/gallery/query/components/ImageChooseDialog.vue index 238bfd0..29c2dd9 100644 --- a/bs-ui/src/views/gallery/query/components/ImageChooseDialog.vue +++ b/bs-ui/src/views/gallery/query/components/ImageChooseDialog.vue @@ -1,87 +1,65 @@ @@ -253,8 +201,9 @@ resetQueryTable() { .app-container { display: flex; } + .left-content { - width: 300px; + width: 200px; padding: 15px; border: #EEEEEE 1px solid; border-radius: 8px; @@ -265,14 +214,14 @@ resetQueryTable() { flex: 1; margin-left: 10px; } - .image-list { - display: flex; - flex-wrap: wrap; - .image-item { - width: 300px; - margin: 0 15px 15px 0; - } - } +.image-list { + display: flex; + flex-wrap: wrap; + .image-item { + width: 300px; + margin: 0 15px 15px 0; + } +} . \ No newline at end of file diff --git a/bs-ui/src/views/gallery/query/components/ImageChooser.vue b/bs-ui/src/views/gallery/query/components/ImageChooser.vue new file mode 100644 index 0000000..0ef550d --- /dev/null +++ b/bs-ui/src/views/gallery/query/components/ImageChooser.vue @@ -0,0 +1,224 @@ + + + + + \ No newline at end of file diff --git a/bs-ui/src/views/system/tag/index.vue b/bs-ui/src/views/system/tag/index.vue index e4932ee..a6b7dc6 100644 --- a/bs-ui/src/views/system/tag/index.vue +++ b/bs-ui/src/views/system/tag/index.vue @@ -226,6 +226,9 @@ const formRules = { photoNum: [ { required: true, message: "拍照数量要求不能为空", trigger: "blur" } ], + saveDir: [ + { required: true, message: "照片存放目录不能为空", trigger: "change" } + ] }; export default { diff --git a/bs-ui/src/views/task-distribut/send/other-task/components/AuditDialog.vue b/bs-ui/src/views/task-distribut/send/other-task/components/AuditDialog.vue index 2678f91..5e30b34 100644 --- a/bs-ui/src/views/task-distribut/send/other-task/components/AuditDialog.vue +++ b/bs-ui/src/views/task-distribut/send/other-task/components/AuditDialog.vue @@ -9,12 +9,23 @@
- - - + + +
+ 标签{{ i + 1 }}:{{taskTag.tagName}} +
+ + + + + + + +
+ - + @@ -70,18 +81,21 @@ export default { this.isAuditChange = false; this.dialogVisible = true; this.info = { ...data }; - this.getList(); + + this.info.ctTaskTags?.forEach((val) => { + this.getList(val); + }); + this.getAuditFeedback(); }, closeVisible() { this.dialogVisible = false; }, - getList() { - this.auditList = []; + getAuditFeedback() { if (!this.info.id) { return; } this.loading = true; - listFeedback({ taskId: this.info.taskId, taskBranchId: this.info.id, isPublish: this.isAudit ? '1':'' }).then(res => { + listFeedback({ taskTagId: -1, taskId: this.info.taskId, taskBranchId: this.info.id, isPublish: this.isAudit ? '1':'' }).then(res => { this.loading = false; const list = res.data || []; @@ -105,11 +119,48 @@ export default { checkInfo: '' }); } + } + this.auditList = list; + + }).catch(err => { + this.loading = false; + }); + }, + getList(taskTag) { + if (!this.info.id) { + return; + } + this.loading = true; + listFeedback({ taskTagId: taskTag.id, taskId: this.info.taskId, taskBranchId: this.info.id, isPublish: this.isAudit ? '1':'' }).then(res => { + this.loading = false; + const list = res.data || []; + + // 办结的不用反馈和审核 + if (this.info.sdTaskOther?.status === '2') { + this.$set(taskTag, '_auditList', list); + return; + } + const currentDate = new Date(); + const lastItem = list.length > 0 ? list[list.length - 1] : null; + if (this.isAudit) { + // if (!lastItem || lastItem.status === '1') { + // list.push({ + // taskId: this.info.taskId, + // taskBranchId: this.info.id, + // branchCode: this.info.branchCode, + // checkUserId: this.$store.getters.userInfo.userId, + // checkUserName: this.$store.getters.userInfo.userName, + // checkUserDept: this.$store.getters.userInfo.dept.deptName, + // checkDate: currentDate, + // checkInfo: '' + // }); + // } } else { if (!lastItem || lastItem.status === '-1') { list.push({ taskId: this.info.taskId, taskBranchId: this.info.id, + taskTagId: taskTag.id, branchCode: this.info.branchCode, userId: this.$store.getters.userInfo.userId, userName: this.$store.getters.userInfo.userName, @@ -117,18 +168,21 @@ export default { feedbackTime: currentDate, taskDesc: '', status: '0', - tags: this.info.ctTaskTags || [], }); } } - this.auditList = list; + this.$set(taskTag, '_auditList', list); }).catch(err => { this.loading = false; }); }, - auditChange() { + auditChange(taskTag) { this.isAuditChange = true; - this.getList(); + if (taskTag) { + this.getList(taskTag); + } else { + this.getAuditFeedback(); + } }, itemDate(item) { let date = null; diff --git a/bs-ui/src/views/task-distribut/send/other-task/components/AuditItem.vue b/bs-ui/src/views/task-distribut/send/other-task/components/AuditItem.vue index 6a1e362..f8e166a 100644 --- a/bs-ui/src/views/task-distribut/send/other-task/components/AuditItem.vue +++ b/bs-ui/src/views/task-distribut/send/other-task/components/AuditItem.vue @@ -49,22 +49,25 @@ @@ -88,10 +91,11 @@ import TableEditMixin from "@/mixins/table-edit-mixin"; import { addFeedback, updateFeedback } from "@/api/task/feedback"; // import { getDateStr } from "@/utils/util"; import FileUpload from "@/components/FileUpload"; +import ImageChooser from "../../../../gallery/query/components/ImageChooser.vue"; export default { name: 'AuditItem', - components: { FileUpload }, + components: { FileUpload, ImageChooser }, mixins: [TableEditMixin], pageInfo: { defaultForm: { @@ -107,7 +111,11 @@ export default { item: { type: Object, default: () => ({}) - } + }, + tag: { + type: Object, + default: () => ({}) + }, }, computed: { isAudit() { @@ -196,33 +204,4 @@ export default { .desc-form-item { margin: 0; } -.tk-images { - display: flex; - flex-wrap: wrap; - margin-top: 10px; - .tk-image-item { - width: 100px; - height: 100px; - margin-right: 10px; - margin-bottom: 10px; - border: 1px solid #eee; - background-color: #f5f7fa; - border-radius: 10px; - - } - - .tk-image-select { - display: flex; - justify-content: center; - align-items: center; - cursor: pointer; - width: 100px; - height: 100px; - flex-direction: column; - - .tk-image-title { - margin-top: 10px; - } - } -}