| | |
| | | }) |
| | | } |
| | | |
| | | export const getPeopleList = (params) => { |
| | | return request({ |
| | | url: '/api/blade-system/dept/lazy-tree-user', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | type: 4, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | export const getListPage = (current, size, params) => { |
| | | return request({ |
| | | url: '/api/blade-desk/notice/page', |
| | |
| | | <el-tag>{{ row.categoryName }}</el-tag> |
| | | </template> |
| | | <template slot-scope="{ type, size, row }" slot="menu"> |
| | | <el-button |
| | | :size="size" |
| | | :type="type" |
| | | @click="handleUploadPage(row)" |
| | | v-if="permission.notice_upload" |
| | | <el-button |
| | | :size="size" |
| | | :type="type" |
| | | @click="handleUploadPage(row)" |
| | | v-if="permission.notice_upload" |
| | | >附件上传 |
| | | </el-button> |
| | | </template> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getListPage, remove, update, add, getNotice } from "@/api/desk/notice"; |
| | | import { |
| | | getListPage, |
| | | remove, |
| | | update, |
| | | add, |
| | | getNotice, |
| | | getPeopleList, |
| | | } from "@/api/desk/notice"; |
| | | import { mapGetters } from "vuex"; |
| | | |
| | | export default { |
| | | data() { |
| | | let deptid = this.$store.state.user.userInfo.dept_id, |
| | | dicUrl = `/api/blade-system/dept/lazy-tree-user?parentId=`; |
| | | return { |
| | | form: {}, |
| | | query: {}, |
| | |
| | | excelBtn: false, |
| | | menuWidth: 380, |
| | | dialogClickModal: false, |
| | | addBtnText:"发布", |
| | | addTitle:"发布", |
| | | saveBtnText:'发布', |
| | | addBtnText: "发布", |
| | | addTitle: "发布", |
| | | saveBtnText: "发布", |
| | | column: [ |
| | | { |
| | | label: "通知标题", |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | // { |
| | | // label: "通知类型", |
| | | // type: "select", |
| | | // dicUrl: "/api/blade-system/dict/dictionary?code=notice", |
| | | // props: { |
| | | // label: "dictValue", |
| | | // value: "dictKey", |
| | | // }, |
| | | // dataType: "number", |
| | | // slot: true, |
| | | // addDisplay: false, |
| | | // editDisplay: false, |
| | | // defaultValue: "1", |
| | | // prop: "category", |
| | | // search: true, |
| | | // rules: [ |
| | | // { |
| | | // required: true, |
| | | // message: "请输入通知类型", |
| | | // trigger: "blur", |
| | | // }, |
| | | // ], |
| | | // }, |
| | | { |
| | | label: "通知类型", |
| | | type: "select", |
| | | dicUrl: "/api/blade-system/dict/dictionary?code=notice", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey", |
| | | }, |
| | | dataType: "number", |
| | | slot: true, |
| | | // addDisplay: false, |
| | | // editDisplay: false, |
| | | defaultValue: "1", |
| | | prop: "category", |
| | | search: true, |
| | | searchSpan: 4, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入通知类型", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "接收人", |
| | | prop: "receivedIds", |
| | | span: 24, |
| | | type: "tree", |
| | | // lazy: true, |
| | | dicUrl: dicUrl, |
| | | hide: true, |
| | | leafOnly: true, |
| | | props: { |
| | | label: "title", |
| | | value: "id", |
| | | }, |
| | | lazy: true, |
| | | treeLoad: (node, resolve) => { |
| | | let stop_level = 2; |
| | | let level = node.level; |
| | | let data = node.data || {}; |
| | | let deptid = data.id; |
| | | let list = []; |
| | | let callback = () => { |
| | | resolve( |
| | | (list || []).map((ele) => { |
| | | return Object.assign(ele, { |
| | | leaf: level >= stop_level, |
| | | }); |
| | | }) |
| | | ); |
| | | }; |
| | | console.log(level); |
| | | if (level == 0) { |
| | | axios.get(`${dicUrl}`).then((res) => { |
| | | list = res.data.data; |
| | | callback(); |
| | | }); |
| | | } |
| | | if (level == 1) { |
| | | axios.get(`${dicUrl}${deptid}`).then((res) => { |
| | | list = res.data.data; |
| | | console.log(res.data.data); |
| | | callback(); |
| | | }); |
| | | } |
| | | }, |
| | | multiple: true, |
| | | // dataType: "number", |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择接收人", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "接收人", |
| | | prop: "receivedName", |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | }, |
| | | { |
| | | label: "发布单位", |
| | | prop: "deptId", |
| | |
| | | label: "通知时间", |
| | | prop: "releaseTimeRange", |
| | | type: "datetime", |
| | | format: "yyyy-MM-dd hh:mm:ss", |
| | | valueFormat: "yyyy-MM-dd hh:mm:ss", |
| | | format: "yyyy-MM-dd", |
| | | valueFormat: "yyyy-MM-dd", |
| | | searchRange: true, |
| | | hide: true, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | search: true, |
| | | searchSpan: 6, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | |
| | | label: "通知内容", |
| | | prop: "content", |
| | | component: "AvueUeditor", |
| | | options: { |
| | | action: "/api/blade-resource/oss/endpoint/put-file", |
| | | props: { |
| | | res: "data", |
| | | url: "link", |
| | | }, |
| | | }, |
| | | hide: true, |
| | | // options: { |
| | | // action: "/api/blade-resource/oss/endpoint/put-file", |
| | | // props: { |
| | | // res: "data", |
| | | // url: "link", |
| | | // }, |
| | | // }, |
| | | hide: false, |
| | | minRows: 6, |
| | | span: 24, |
| | | }, |
| | |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | | ...mapGetters(["permission", "userInfo"]), |
| | | permissionList() { |
| | | return { |
| | | addBtn: this.vaildData(this.permission.notice_add, false), |
| | |
| | | return ids.join(","); |
| | | }, |
| | | }, |
| | | mounted() {}, |
| | | methods: { |
| | | //跳转到附近列表页面 |
| | | handleUploadPage(row) { |
| | |
| | | path: `/resource/uploadNotice`, |
| | | query: { |
| | | deptId: row.deptId, |
| | | noticeId:row.id, |
| | | noticeId: row.id, |
| | | }, |
| | | }); |
| | | }, |
| | | rowSave(row, done, loading) { |
| | | row.category = 2; |
| | | row.deptId = this.deptId; |
| | | row['type'] = 1; |
| | | row["type"] = 1; |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | |
| | | return option; |
| | | } |
| | | function middleData(allData, type) { |
| | | debugger; |
| | | // debugger; |
| | | var ncMap = nc; |
| | | let name = ""; |
| | | let label = ""; |