1 line
23 KiB
JSON
1 line
23 KiB
JSON
{"remainingRequest":"C:\\Users\\27446\\Desktop\\up\\front\\dkha-web-sz-main\\node_modules\\babel-loader\\lib\\index.js!C:\\Users\\27446\\Desktop\\up\\front\\dkha-web-sz-main\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!C:\\Users\\27446\\Desktop\\up\\front\\dkha-web-sz-main\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\27446\\Desktop\\up\\front\\dkha-web-sz-main\\src\\views\\modules\\sys\\notice-add-or-update.vue?vue&type=script&lang=js&","dependencies":[{"path":"C:\\Users\\27446\\Desktop\\up\\front\\dkha-web-sz-main\\src\\views\\modules\\sys\\notice-add-or-update.vue","mtime":1614735254000},{"path":"C:\\Users\\27446\\Desktop\\up\\front\\dkha-web-sz-main\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\27446\\Desktop\\up\\front\\dkha-web-sz-main\\node_modules\\babel-loader\\lib\\index.js","mtime":499162500000},{"path":"C:\\Users\\27446\\Desktop\\up\\front\\dkha-web-sz-main\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\27446\\Desktop\\up\\front\\dkha-web-sz-main\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["import \"core-js/modules/es7.object.get-own-property-descriptors\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.regexp.split\";\nimport _defineProperty from \"C:\\\\Users\\\\27446\\\\Desktop\\\\up\\\\front\\\\dkha-web-sz-main\\\\node_modules\\\\@babel\\\\runtime-corejs2/helpers/esm/defineProperty\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.string.iterator\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport Cookies from 'js-cookie';\nimport debounce from 'lodash/debounce';\nimport 'quill/dist/quill.snow.css';\nimport Quill from 'quill';\nexport default {\n data: function data() {\n return {\n visible: false,\n quillEditor: null,\n quillEditorToolbarOptions: [['bold', 'italic', 'underline', 'strike'], ['image'], [{\n 'list': 'ordered'\n }, {\n 'list': 'bullet'\n }], [{\n 'size': ['small', false, 'large', 'huge']\n }], [{\n 'color': []\n }, {\n 'background': []\n }], ['clean']],\n uploadUrl: '',\n deptList: [],\n dataForm: {\n id: '',\n type: 0,\n title: '',\n content: '',\n receiverType: 0,\n receiverTypeIds: '',\n receiverTypeList: [],\n status: '',\n senderName: '',\n senderDate: '',\n creator: '',\n createDate: ''\n }\n };\n },\n computed: {\n dataRule: function dataRule() {\n var _this = this;\n\n var validateContent = function validateContent(rule, value, callback) {\n if (_this.quillEditor.getLength() <= 1) {\n return callback(new Error(_this.$t('validate.required')));\n }\n\n callback();\n };\n\n return {\n type: [{\n required: true,\n message: this.$t('validate.required'),\n trigger: 'blur'\n }],\n title: [{\n required: true,\n message: this.$t('validate.required'),\n trigger: 'blur'\n }],\n content: [{\n required: true,\n message: this.$t('validate.required'),\n trigger: 'blur'\n }, {\n validator: validateContent,\n trigger: 'blur'\n }],\n receiverType: [{\n required: true,\n message: this.$t('validate.required'),\n trigger: 'blur'\n }],\n receiverTypeIds: [{\n required: true,\n message: this.$t('validate.required'),\n trigger: 'blur'\n }],\n status: [{\n required: true,\n message: this.$t('validate.required'),\n trigger: 'blur'\n }],\n senderName: [{\n required: true,\n message: this.$t('validate.required'),\n trigger: 'blur'\n }]\n };\n }\n },\n methods: {\n init: function init() {\n var _this2 = this;\n\n this.visible = true;\n this.$nextTick(function () {\n if (_this2.quillEditor) {\n _this2.quillEditor.deleteText(0, _this2.quillEditor.getLength());\n } else {\n _this2.quillEditorHandle();\n }\n\n _this2.$refs['dataForm'].resetFields();\n\n Promise.all([_this2.getDeptList()]).then(function () {\n if (_this2.dataForm.id) {\n _this2.getInfo();\n }\n });\n });\n },\n // 富文本编辑器\n quillEditorHandle: function quillEditorHandle() {\n var _this3 = this;\n\n this.quillEditor = new Quill('#J_quillEditor', {\n modules: {\n toolbar: this.quillEditorToolbarOptions\n },\n theme: 'snow'\n }); // 自定义上传图片功能 (使用element upload组件)\n\n this.uploadUrl = \"\".concat(window.SITE_CONFIG['apiURL'], \"/sys/oss/upload?access_token=\").concat(Cookies.get('access_token'));\n this.quillEditor.getModule('toolbar').addHandler('image', function () {\n _this3.$refs.uploadBtn.$el.click();\n }); // 监听内容变化,动态赋值\n\n this.quillEditor.on('text-change', function () {\n _this3.dataForm.content = _this3.quillEditor.root.innerHTML;\n });\n },\n // 上传图片之前\n uploadBeforeUploadHandle: function uploadBeforeUploadHandle(file) {\n if (file.type !== 'image/jpg' && file.type !== 'image/jpeg' && file.type !== 'image/png' && file.type !== 'image/gif') {\n this.$message.error(this.$t('upload.tip', {\n 'format': 'jpg、png、gif'\n }));\n return false;\n }\n },\n // 上传图片成功\n uploadSuccessHandle: function uploadSuccessHandle(res, file, fileList) {\n if (res.code !== 0) {\n return this.$message.error(res.msg);\n }\n\n this.quillEditor.insertEmbed(this.quillEditor.getSelection().index, 'image', res.data.src);\n },\n // 获取部门列表\n getDeptList: function getDeptList() {\n var _this4 = this;\n\n return this.$http.get('/sys/dept/list').then(function (_ref) {\n var res = _ref.data;\n\n if (res.code !== 0) {\n return _this4.$message.error(res.msg);\n }\n\n _this4.deptList = res.data;\n }).catch(function () {});\n },\n // 获取信息\n getInfo: function getInfo() {\n var _this5 = this;\n\n this.$http.get(\"/sys/notice/\".concat(this.dataForm.id)).then(function (_ref2) {\n var res = _ref2.data;\n\n if (res.code !== 0) {\n return _this5.$message.error(res.msg);\n }\n\n _this5.dataForm = _objectSpread({}, _this5.dataForm, {}, res.data);\n _this5.quillEditor.root.innerHTML = _this5.dataForm.content; // 接受者为部门\n\n if (_this5.dataForm.receiverType === 1) {\n _this5.$refs.deptListTree.setCheckedKeys(res.data.receiverTypeIds.split(','));\n }\n }).catch(function () {});\n },\n // 表单提交\n dataFormSubmitHandle: debounce(function (status) {\n var _this6 = this;\n\n this.$refs['dataForm'].validate(function (valid) {\n if (!valid) {\n return false;\n } // 接受者为部门\n\n\n if (_this6.dataForm.receiverType === 1) {\n _this6.dataForm.receiverTypeIds = _this6.$refs.deptListTree.getCheckedKeys().join(',');\n _this6.dataForm.receiverTypeList = _this6.$refs.deptListTree.getCheckedKeys();\n } else {\n _this6.dataForm.receiverTypeIds = '';\n }\n\n _this6.dataForm.status = status;\n\n _this6.$http[!_this6.dataForm.id ? 'post' : 'put']('/sys/notice/', _this6.dataForm).then(function (_ref3) {\n var res = _ref3.data;\n\n if (res.code !== 0) {\n return _this6.$message.error(res.msg);\n }\n\n _this6.$message({\n message: _this6.$t('prompt.success'),\n type: 'success',\n duration: 500,\n onClose: function onClose() {\n _this6.visible = false;\n\n _this6.$emit('refreshDataList');\n }\n });\n }).catch(function () {});\n });\n }, 1000, {\n 'leading': true,\n 'trailing': false\n })\n }\n};",{"version":3,"sources":["notice-add-or-update.vue"],"names":[],"mappings":"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","sourcesContent":["<template>\n <el-dialog :visible.sync=\"visible\" :title=\"!dataForm.id ? $t('add') : $t('update')\" :close-on-click-modal=\"false\" :close-on-press-escape=\"false\">\n <el-form :model=\"dataForm\" :rules=\"dataRule\" ref=\"dataForm\" :label-width=\"$i18n.locale === 'en-US' ? '120px' : '80px'\">\n <el-form-item :label=\"$t('notice.type')\" prop=\"type\">\n <ren-radio-group v-model=\"dataForm.type\" dict-type=\"notice_type\"></ren-radio-group>\n </el-form-item>\n <el-form-item :label=\"$t('notice.title')\" prop=\"title\">\n <el-input v-model=\"dataForm.title\" :placeholder=\"$t('notice.title')\"></el-input>\n </el-form-item>\n <el-form-item prop=\"content\" :label=\"$t('notice.content')\">\n <!-- 富文本编辑器, 容器 -->\n <div id=\"J_quillEditor\" style=\"height:280px\"></div>\n <!-- 自定义上传图片功能 (使用element upload组件) -->\n <el-upload\n :action=\"uploadUrl\"\n :show-file-list=\"false\"\n :before-upload=\"uploadBeforeUploadHandle\"\n :on-success=\"uploadSuccessHandle\"\n style=\"display: none;\">\n <el-button ref=\"uploadBtn\" type=\"primary\" size=\"small\">{{ $t('upload.button') }}</el-button>\n </el-upload>\n </el-form-item>\n <el-form-item :label=\"$t('notice.receiverType')\" prop=\"\">\n <el-radio-group v-model=\"dataForm.receiverType\">\n <el-radio :label=\"0\">{{ $t('notice.receiverType0') }}</el-radio>\n <el-radio :label=\"1\">{{ $t('notice.receiverType1') }}</el-radio>\n </el-radio-group>\n </el-form-item>\n <el-form-item v-show=\"dataForm.receiverType == 1\" size=\"mini\" :label=\"$t('notice.selectDept')\">\n <el-tree\n :data=\"deptList\"\n :props=\"{ label: 'name', children: 'children' }\"\n node-key=\"id\"\n ref=\"deptListTree\"\n accordion\n show-checkbox>\n </el-tree>\n </el-form-item>\n </el-form>\n <template slot=\"footer\">\n <el-button @click=\"visible = false\">{{ $t('cancel') }}</el-button>\n <el-button type=\"danger\" @click=\"dataFormSubmitHandle(0)\">{{ $t('notice.draft') }}</el-button>\n <el-button type=\"primary\" @click=\"dataFormSubmitHandle(1)\">{{ $t('notice.release') }}</el-button>\n </template>\n </el-dialog>\n</template>\n\n<script>\nimport Cookies from 'js-cookie'\nimport debounce from 'lodash/debounce'\nimport 'quill/dist/quill.snow.css'\nimport Quill from 'quill'\nexport default {\n data () {\n return {\n visible: false,\n quillEditor: null,\n quillEditorToolbarOptions: [\n ['bold', 'italic', 'underline', 'strike'],\n ['image'],\n [{ 'list': 'ordered' }, { 'list': 'bullet' }],\n [{ 'size': ['small', false, 'large', 'huge'] }],\n [{ 'color': [] }, { 'background': [] }],\n ['clean']\n ],\n uploadUrl: '',\n deptList: [],\n dataForm: {\n id: '',\n type: 0,\n title: '',\n content: '',\n receiverType: 0,\n receiverTypeIds: '',\n receiverTypeList: [],\n status: '',\n senderName: '',\n senderDate: '',\n creator: '',\n createDate: ''\n }\n }\n },\n computed: {\n dataRule () {\n var validateContent = (rule, value, callback) => {\n if (this.quillEditor.getLength() <= 1) {\n return callback(new Error(this.$t('validate.required')))\n }\n callback()\n }\n return {\n type: [\n { required: true, message: this.$t('validate.required'), trigger: 'blur' }\n ],\n title: [\n { required: true, message: this.$t('validate.required'), trigger: 'blur' }\n ],\n content: [\n { required: true, message: this.$t('validate.required'), trigger: 'blur' },\n { validator: validateContent, trigger: 'blur' }\n ],\n receiverType: [\n { required: true, message: this.$t('validate.required'), trigger: 'blur' }\n ],\n receiverTypeIds: [\n { required: true, message: this.$t('validate.required'), trigger: 'blur' }\n ],\n status: [\n { required: true, message: this.$t('validate.required'), trigger: 'blur' }\n ],\n senderName: [\n { required: true, message: this.$t('validate.required'), trigger: 'blur' }\n ]\n }\n }\n },\n methods: {\n init () {\n this.visible = true\n this.$nextTick(() => {\n if (this.quillEditor) {\n this.quillEditor.deleteText(0, this.quillEditor.getLength())\n } else {\n this.quillEditorHandle()\n }\n this.$refs['dataForm'].resetFields()\n Promise.all([\n this.getDeptList()\n ]).then(() => {\n if (this.dataForm.id) {\n this.getInfo()\n }\n })\n })\n },\n // 富文本编辑器\n quillEditorHandle () {\n this.quillEditor = new Quill('#J_quillEditor', {\n modules: {\n toolbar: this.quillEditorToolbarOptions\n },\n theme: 'snow'\n })\n // 自定义上传图片功能 (使用element upload组件)\n this.uploadUrl = `${window.SITE_CONFIG['apiURL']}/sys/oss/upload?access_token=${Cookies.get('access_token')}`\n this.quillEditor.getModule('toolbar').addHandler('image', () => {\n this.$refs.uploadBtn.$el.click()\n })\n // 监听内容变化,动态赋值\n this.quillEditor.on('text-change', () => {\n this.dataForm.content = this.quillEditor.root.innerHTML\n })\n },\n // 上传图片之前\n uploadBeforeUploadHandle (file) {\n if (file.type !== 'image/jpg' && file.type !== 'image/jpeg' && file.type !== 'image/png' && file.type !== 'image/gif') {\n this.$message.error(this.$t('upload.tip', { 'format': 'jpg、png、gif' }))\n return false\n }\n },\n // 上传图片成功\n uploadSuccessHandle (res, file, fileList) {\n if (res.code !== 0) {\n return this.$message.error(res.msg)\n }\n this.quillEditor.insertEmbed(this.quillEditor.getSelection().index, 'image', res.data.src)\n },\n // 获取部门列表\n getDeptList () {\n return this.$http.get('/sys/dept/list').then(({ data: res }) => {\n if (res.code !== 0) {\n return this.$message.error(res.msg)\n }\n this.deptList = res.data\n }).catch(() => {})\n },\n // 获取信息\n getInfo () {\n this.$http.get(`/sys/notice/${this.dataForm.id}`).then(({ data: res }) => {\n if (res.code !== 0) {\n return this.$message.error(res.msg)\n }\n this.dataForm = {\n ...this.dataForm,\n ...res.data\n }\n\n this.quillEditor.root.innerHTML = this.dataForm.content\n\n // 接受者为部门\n if (this.dataForm.receiverType === 1) {\n this.$refs.deptListTree.setCheckedKeys(res.data.receiverTypeIds.split(','))\n }\n }).catch(() => {})\n },\n // 表单提交\n dataFormSubmitHandle: debounce(function (status) {\n this.$refs['dataForm'].validate((valid) => {\n if (!valid) {\n return false\n }\n // 接受者为部门\n if (this.dataForm.receiverType === 1) {\n this.dataForm.receiverTypeIds = this.$refs.deptListTree.getCheckedKeys().join(',')\n this.dataForm.receiverTypeList = this.$refs.deptListTree.getCheckedKeys()\n } else {\n this.dataForm.receiverTypeIds = ''\n }\n this.dataForm.status = status\n this.$http[!this.dataForm.id ? 'post' : 'put']('/sys/notice/', this.dataForm).then(({ data: res }) => {\n if (res.code !== 0) {\n return this.$message.error(res.msg)\n }\n this.$message({\n message: this.$t('prompt.success'),\n type: 'success',\n duration: 500,\n onClose: () => {\n this.visible = false\n this.$emit('refreshDataList')\n }\n })\n }).catch(() => {})\n })\n }, 1000, { 'leading': true, 'trailing': false })\n }\n}\n</script>\n"],"sourceRoot":"src/views/modules/sys"}]} |