| | |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | plain |
| | | v-if="deptCategory" |
| | | v-if="permission.notice_delete" |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | |
| | | <el-tag>{{ row.categoryName }}</el-tag> |
| | | </template> |
| | | <template slot-scope="{ type, size, row }" slot="menu"> |
| | | <el-button :size="size" :type="type" @click="handleUploadPage(row)" |
| | | <el-button |
| | | :size="size" |
| | | :type="type" |
| | | @click="handleUploadPage(row)" |
| | | v-if="permission.notice_upload" |
| | | >附件上传 |
| | | </el-button> |
| | | <!-- <el-button |
| | | v-if="!deptCategory" |
| | | :size="size" |
| | | :type="type" |
| | | @click="handleUploadPage(row)" |
| | | >附件查看 |
| | | </el-button> --> |
| | | </template> |
| | | </avue-crud> |
| | | </basic-container> |
| | |
| | | //已发送列表信息 |
| | | export var workreportColumn = [{ |
| | | label: "汇报时间", |
| | | prop: "reportTime", |
| | | type: "datetime", |
| | | format: "yyyy-MM-dd HH:mm:ss", |
| | | valueFormat: "yyyy-MM-dd HH:mm:ss", |
| | | searchRange: true, |
| | | searchSpan: 6, |
| | | hide: false, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | // viewDisplay: false, |
| | | search: false, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入时间", |
| | | trigger: "blur" |
| | | }] |
| | | }, { |
| | | label: "汇报类别", |
| | | prop: "category", |
| | | type: "select", |
| | | dicUrl: "/api/blade-system/dict-biz/dictionary?code=workReportCategory", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | label: "汇报时间", |
| | | prop: "reportTime", |
| | | type: "datetime", |
| | | format: "yyyy-MM-dd HH:mm:ss", |
| | | valueFormat: "yyyy-MM-dd HH:mm:ss", |
| | | searchRange: true, |
| | | searchSpan: 6, |
| | | hide: false, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | // viewDisplay: false, |
| | | search: false, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入时间", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | dataType: "number", |
| | | // searchSpan: 4, |
| | | // search: true, |
| | | hide: true, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择汇报类别", |
| | | trigger: "blur" |
| | | }] |
| | | }, { |
| | | label: "汇报类型", |
| | | prop: "type", |
| | | type: "select", |
| | | dicUrl: "/api/blade-system/dict-biz/dictionary?code=workReportType", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | // { |
| | | // label: "汇报类别", |
| | | // prop: "category", |
| | | // type: "select", |
| | | // dicUrl: "/api/blade-system/dict-biz/dictionary?code=workReportCategory", |
| | | // props: { |
| | | // label: "dictValue", |
| | | // value: "dictKey" |
| | | // }, |
| | | // dataType: "number", |
| | | // // searchSpan: 4, |
| | | // // search: true, |
| | | // hide: true, |
| | | // addDisplay: false, |
| | | // editDisplay: false, |
| | | // viewDisplay: false, |
| | | // rules: [{ |
| | | // required: true, |
| | | // message: "请选择汇报类别", |
| | | // trigger: "blur" |
| | | // }] |
| | | // }, |
| | | { |
| | | label: "汇报类型", |
| | | prop: "type", |
| | | type: "select", |
| | | dicUrl: "/api/blade-system/dict-biz/dictionary?code=workReportType", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | }, |
| | | dataType: "number", |
| | | searchSpan: 4, |
| | | search: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择汇报类型", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | dataType: "number", |
| | | searchSpan: 4, |
| | | search: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择汇报类型", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | { |
| | | label: "接收人", |
| | | prop: "receivedIds", |
| | | // span: 12, |
| | | type: "tree", |
| | | dicUrl: "/api/blade-system/dept/lazy-tree-user", |
| | | hide: true, |
| | | leafOnly: true, |
| | | props: { |
| | | label: "title", |
| | | value: "id", |
| | | { |
| | | label: "接收人", |
| | | prop: "receivedIds", |
| | | // span: 12, |
| | | type: "tree", |
| | | // dicUrl: "/api/blade-system/dept/lazy-tree-users?type=3&deptId=" + this.deptId, |
| | | hide: true, |
| | | leafOnly: true, |
| | | props: { |
| | | label: "title", |
| | | value: "id", |
| | | }, |
| | | multiple: true, |
| | | // dataType: "number", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择接收人", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | multiple: true, |
| | | // dataType: "number", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择接收人", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | { |
| | | label: "汇报人身份证号", |
| | | prop: "idCardNo", |
| | | hide: true, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | }, |
| | | { |
| | | label: "汇报内容", |
| | | prop: "content", |
| | | type: "textarea", |
| | | span: 24, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入汇报内容", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | { |
| | | label: "汇报人身份证号", |
| | | prop: "idCardNo", |
| | | hide: true, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | }, |
| | | { |
| | | label: "汇报内容", |
| | | prop: "content", |
| | | type: "textarea", |
| | | span: 24, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入汇报内容", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | |
| | | { |
| | | label: "接收人", |
| | | prop: "replyRealName", |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | }, |
| | | { |
| | | label: "接收人单位", |
| | | prop: "replyDeptName", |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | // viewDisplay: false, |
| | | }, |
| | | { |
| | | label: "回复内容", |
| | | prop: "replyContent", |
| | | type: "textarea", |
| | | span: 24, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入回复内容", |
| | | trigger: "blur" |
| | | }] |
| | | } |
| | | { |
| | | label: "接收人", |
| | | prop: "replyRealName", |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | }, |
| | | { |
| | | label: "接收人单位", |
| | | prop: "replyDeptName", |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | // viewDisplay: false, |
| | | }, |
| | | { |
| | | label: "回复内容", |
| | | prop: "replyContent", |
| | | type: "textarea", |
| | | span: 24, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入回复内容", |
| | | trigger: "blur" |
| | | }] |
| | | } |
| | | ] |
| | | |
| | | |
| | | //接收人列信息 |
| | | export var workreplyColumn = [{ |
| | | label: "汇报人", |
| | | prop: "realName", |
| | | disabled: true, |
| | | span: 24, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择接收人", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | { |
| | | label: "汇报人单位", |
| | | prop: "deptName", |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | // viewDisplay: false, |
| | | }, { |
| | | label: "汇报时间", |
| | | prop: "reportTime", |
| | | type: "datetime", |
| | | format: "yyyy-MM-dd HH:mm:ss", |
| | | valueFormat: "yyyy-MM-dd HH:mm:ss", |
| | | searchRange: true, |
| | | searchSpan: 6, |
| | | hide: false, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | // viewDisplay: false, |
| | | search: false, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入时间", |
| | | trigger: "blur" |
| | | }] |
| | | }, { |
| | | label: "汇报类别", |
| | | prop: "category", |
| | | type: "select", |
| | | dicUrl: "/api/blade-system/dict-biz/dictionary?code=workReportCategory", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | label: "汇报人", |
| | | prop: "realName", |
| | | disabled: true, |
| | | span: 24, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择接收人", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | dataType: "number", |
| | | // searchSpan: 4, |
| | | // search: true, |
| | | hide: true, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | hide: true, |
| | | editDisplay: false, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择汇报类别", |
| | | trigger: "blur" |
| | | }] |
| | | }, { |
| | | label: "汇报类型", |
| | | prop: "type", |
| | | type: "select", |
| | | dicUrl: "/api/blade-system/dict-biz/dictionary?code=workReportType", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | { |
| | | label: "汇报人单位", |
| | | prop: "deptName", |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | // viewDisplay: false, |
| | | }, { |
| | | label: "汇报时间", |
| | | prop: "reportTime", |
| | | type: "datetime", |
| | | format: "yyyy-MM-dd HH:mm:ss", |
| | | valueFormat: "yyyy-MM-dd HH:mm:ss", |
| | | searchRange: true, |
| | | searchSpan: 6, |
| | | hide: false, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | // viewDisplay: false, |
| | | search: false, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入时间", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | dataType: "number", |
| | | searchSpan: 4, |
| | | search: true, |
| | | disabled: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择汇报类型", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | // { |
| | | // label: "汇报人身份证号", |
| | | // prop: "idCardNo", |
| | | // hide: true, |
| | | // addDisplay: false, |
| | | // editDisplay: false, |
| | | // viewDisplay: false, |
| | | // }, |
| | | { |
| | | label: "汇报内容", |
| | | prop: "content", |
| | | type: "textarea", |
| | | // editDisplay: false, |
| | | disabled: true, |
| | | span: 24, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入汇报内容", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | { |
| | | label: "回复内容", |
| | | prop: "replyContent", |
| | | type: "textarea", |
| | | span: 24, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入回复内容", |
| | | trigger: "blur" |
| | | }] |
| | | } |
| | | { |
| | | label: "汇报类别", |
| | | prop: "category", |
| | | type: "select", |
| | | dicUrl: "/api/blade-system/dict-biz/dictionary?code=workReportCategory", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | }, |
| | | dataType: "number", |
| | | // searchSpan: 4, |
| | | // search: true, |
| | | hide: true, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择汇报类别", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | { |
| | | label: "汇报类型", |
| | | prop: "type", |
| | | type: "select", |
| | | dicUrl: "/api/blade-system/dict-biz/dictionary?code=workReportType", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | }, |
| | | dataType: "number", |
| | | searchSpan: 4, |
| | | search: true, |
| | | disabled: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择汇报类型", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | // { |
| | | // label: "汇报人身份证号", |
| | | // prop: "idCardNo", |
| | | // hide: true, |
| | | // addDisplay: false, |
| | | // editDisplay: false, |
| | | // viewDisplay: false, |
| | | // }, |
| | | { |
| | | label: "汇报内容", |
| | | prop: "content", |
| | | type: "textarea", |
| | | // editDisplay: false, |
| | | disabled: true, |
| | | span: 24, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入汇报内容", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | { |
| | | label: "回复内容", |
| | | prop: "replyContent", |
| | | type: "textarea", |
| | | span: 24, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入回复内容", |
| | | trigger: "blur" |
| | | }] |
| | | } |
| | | |
| | | ] |
| | |
| | | permissionList() { |
| | | return { |
| | | addBtn: this.vaildData(null, false), |
| | | viewBtn: this.vaildData(this.permission.notice_view, false), |
| | | viewBtn: this.vaildData(this.permission.workreply_view, false), |
| | | delBtn: this.vaildData(null, false), |
| | | editBtn: this.vaildData(this.permission.notice_edit, false), |
| | | editBtn: this.vaildData(this.permission.workreply_say, false), |
| | | }; |
| | | }, |
| | | ids() { |
| | |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | plain |
| | | v-if="permission.workreport_delete" |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { workreportColumn } from "./data"; |
| | | import { |
| | | getListPage, |
| | | remove, |
| | |
| | | } from "@/api/workreport/workreport"; |
| | | import { getDept } from "@/api/system/dept"; |
| | | import { mapGetters } from "vuex"; |
| | | import { mapState } from "vuex"; |
| | | import { workreportColumn } from "./data"; |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | excelBtn: false, |
| | | menuWidth: 320, |
| | | dialogClickModal: false, |
| | | column: workreportColumn, |
| | | column:workreportColumn, |
| | | }, |
| | | data: [], |
| | | }; |
| | |
| | | ...mapGetters(["permission"]), |
| | | permissionList() { |
| | | return { |
| | | addBtn: this.vaildData(this.permission.notice_add, false), |
| | | viewBtn: this.vaildData(this.permission.notice_view, false), |
| | | delBtn: this.vaildData(this.permission.notice_delete, false), |
| | | editBtn: this.vaildData(this.permission.notice_edit, false), |
| | | addBtn: this.vaildData(this.permission.workreport_add, false), |
| | | viewBtn: this.vaildData(this.permission.workreport_view, false), |
| | | delBtn: this.vaildData(this.permission.workreport_delete, false), |
| | | editBtn: this.vaildData(this.permission.workreport_edit, false), |
| | | }; |
| | | }, |
| | | ids() { |
| | |
| | | }); |
| | | return ids.join(","); |
| | | }, |
| | | ...mapState({ |
| | | userInfo: (state) => state.user.userInfo, |
| | | }), |
| | | }, |
| | | mounted() {}, |
| | | methods: { |
| | |
| | | rowUpdate(row, index, done, loading) { |
| | | row.deptId = this.deptId; |
| | | row.userId = this.userId; |
| | | row.category = 3; |
| | | // row.receivedIds = row.receivedIds.join(","); |
| | | update(row).then( |
| | | () => { |
| | |
| | | ).content.user_id; |
| | | |
| | | var that = this; |
| | | getDept(this.deptId).then((res) => { |
| | | var deptCategory = res.data.data.deptCategory; |
| | | deptCategory == 1 |
| | | ? (that.deptCategory = true) |
| | | : (that.deptCategory = false); |
| | | getDept(this.deptId).then(() => { |
| | | const columnReceivedIds = that.findObject(that.option.column, "receivedIds"); |
| | | columnReceivedIds.dicUrl = "/api/blade-system/dept/lazy-tree-users?type=3&deptId="+that.deptId; |
| | | params["deptId"] = that.deptId; |
| | | params["userId"] = that.userId; |
| | | |
| | | // const { releaseTimeRange } = this.query; |
| | | // if (that.deptCategory) { |
| | | params["deptId"] = this.deptId; |
| | | params["userId"] = this.userId; |
| | | // } |
| | | let values = { |
| | | ...params, |
| | | }; |
| | | // if (releaseTimeRange) { |
| | | // values = { |
| | | // ...params, |
| | | // startTime: releaseTimeRange[0], |
| | | // endTime: releaseTimeRange[1], |
| | | // ...this.query, |
| | | // }; |
| | | // values.releaseTimeRange = null; |
| | | // } |
| | | this.loading = true; |
| | | that.loading = true; |
| | | getListPage(page.currentPage, page.pageSize, values).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | that.page.total = data.total; |
| | | that.data = data.records; |
| | | that.loading = false; |
| | | that.selectionClear(); |
| | | }); |
| | | }); |
| | | }, |