作者 王勇

添加辉哥上传

@@ -2966,8 +2966,7 @@ @@ -2966,8 +2966,7 @@
2966 "deep-equal": { 2966 "deep-equal": {
2967 "version": "1.0.1", 2967 "version": "1.0.1",
2968 "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", 2968 "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
2969 - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",  
2970 - "dev": true 2969 + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
2971 }, 2970 },
2972 "deep-is": { 2971 "deep-is": {
2973 "version": "0.1.3", 2972 "version": "0.1.3",
@@ -3597,8 +3596,7 @@ @@ -3597,8 +3596,7 @@
3597 "extend": { 3596 "extend": {
3598 "version": "3.0.2", 3597 "version": "3.0.2",
3599 "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 3598 "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
3600 - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",  
3601 - "dev": true 3599 + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
3602 }, 3600 },
3603 "extend-shallow": { 3601 "extend-shallow": {
3604 "version": "3.0.2", 3602 "version": "3.0.2",
@@ -3759,6 +3757,11 @@ @@ -3759,6 +3757,11 @@
3759 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", 3757 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
3760 "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" 3758 "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
3761 }, 3759 },
  3760 + "fast-diff": {
  3761 + "version": "1.1.2",
  3762 + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz",
  3763 + "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig=="
  3764 + },
3762 "fast-json-stable-stringify": { 3765 "fast-json-stable-stringify": {
3763 "version": "2.0.0", 3766 "version": "2.0.0",
3764 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", 3767 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
@@ -9408,8 +9411,7 @@ @@ -9408,8 +9411,7 @@
9408 "object-assign": { 9411 "object-assign": {
9409 "version": "4.1.1", 9412 "version": "4.1.1",
9410 "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 9413 "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
9411 - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",  
9412 - "dev": true 9414 + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
9413 }, 9415 },
9414 "object-copy": { 9416 "object-copy": {
9415 "version": "0.1.0", 9417 "version": "0.1.0",
@@ -9688,6 +9690,11 @@ @@ -9688,6 +9690,11 @@
9688 "no-case": "^2.2.0" 9690 "no-case": "^2.2.0"
9689 } 9691 }
9690 }, 9692 },
  9693 + "parchment": {
  9694 + "version": "1.1.4",
  9695 + "resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz",
  9696 + "integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg=="
  9697 + },
9691 "parent-module": { 9698 "parent-module": {
9692 "version": "1.0.1", 9699 "version": "1.0.1",
9693 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 9700 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -10508,6 +10515,41 @@ @@ -10508,6 +10515,41 @@
10508 "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", 10515 "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
10509 "dev": true 10516 "dev": true
10510 }, 10517 },
  10518 + "quill": {
  10519 + "version": "1.3.7",
  10520 + "resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz",
  10521 + "integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==",
  10522 + "requires": {
  10523 + "clone": "^2.1.1",
  10524 + "deep-equal": "^1.0.1",
  10525 + "eventemitter3": "^2.0.3",
  10526 + "extend": "^3.0.2",
  10527 + "parchment": "^1.1.4",
  10528 + "quill-delta": "^3.6.2"
  10529 + },
  10530 + "dependencies": {
  10531 + "clone": {
  10532 + "version": "2.1.2",
  10533 + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
  10534 + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
  10535 + },
  10536 + "eventemitter3": {
  10537 + "version": "2.0.3",
  10538 + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz",
  10539 + "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo="
  10540 + }
  10541 + }
  10542 + },
  10543 + "quill-delta": {
  10544 + "version": "3.6.3",
  10545 + "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz",
  10546 + "integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==",
  10547 + "requires": {
  10548 + "deep-equal": "^1.0.1",
  10549 + "extend": "^3.0.2",
  10550 + "fast-diff": "1.1.2"
  10551 + }
  10552 + },
10511 "randombytes": { 10553 "randombytes": {
10512 "version": "2.1.0", 10554 "version": "2.1.0",
10513 "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 10555 "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -12648,6 +12690,15 @@ @@ -12648,6 +12690,15 @@
12648 } 12690 }
12649 } 12691 }
12650 }, 12692 },
  12693 + "vue-quill-editor": {
  12694 + "version": "3.0.6",
  12695 + "resolved": "https://registry.npmjs.org/vue-quill-editor/-/vue-quill-editor-3.0.6.tgz",
  12696 + "integrity": "sha512-g20oSZNWg8Hbu41Kinjd55e235qVWPLfg4NvsLW6d+DhgBTFbEuMpcWlUdrD6qT3+Noim6DRu18VLM9lVShXOQ==",
  12697 + "requires": {
  12698 + "object-assign": "^4.1.1",
  12699 + "quill": "^1.3.4"
  12700 + }
  12701 + },
12651 "vue-router": { 12702 "vue-router": {
12652 "version": "2.8.1", 12703 "version": "2.8.1",
12653 "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-2.8.1.tgz", 12704 "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-2.8.1.tgz",
@@ -25,6 +25,7 @@ @@ -25,6 +25,7 @@
25 "script-loader": "^0.7.2", 25 "script-loader": "^0.7.2",
26 "vue": "^2.2.2", 26 "vue": "^2.2.2",
27 "vue-i18n": "^8.14.0", 27 "vue-i18n": "^8.14.0",
  28 + "vue-quill-editor": "^3.0.6",
28 "vue-router": "^2.3.0", 29 "vue-router": "^2.3.0",
29 "vuex": "^2.0.0-rc.6", 30 "vuex": "^2.0.0-rc.6",
30 "xlsx": "^0.15.1" 31 "xlsx": "^0.15.1"
  1 +.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=SimSun]::before,
  2 +.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=SimSun]::before {
  3 + content: "宋体";
  4 + font-family: "SimSun";
  5 +}
  6 +
  7 +.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=SimHei]::before,
  8 +.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=SimHei]::before {
  9 + content: "黑体";
  10 + font-family: "SimHei";
  11 +}
  12 +
  13 +.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=Microsoft-YaHei]::before,
  14 +.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=Microsoft-YaHei]::before {
  15 + content: "微软雅黑";
  16 + font-family: "Microsoft YaHei";
  17 +}
  18 +
  19 +.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=KaiTi]::before,
  20 +.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=KaiTi]::before {
  21 + content: "楷体";
  22 + font-family: "KaiTi";
  23 +}
  24 +
  25 +.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=FangSong]::before,
  26 +.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=FangSong]::before {
  27 + content: "仿宋";
  28 + font-family: "FangSong";
  29 +}
  30 +
  31 +.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=Arial]::before,
  32 +.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=Arial]::before {
  33 + content: "Arial";
  34 + font-family: "Arial";
  35 +}
  36 +
  37 +.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=Times-New-Roman]::before,
  38 +.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=Times-New-Roman]::before {
  39 + content: "Times New Roman";
  40 + font-family: "Times New Roman";
  41 +}
  42 +
  43 +.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=sans-serif]::before,
  44 +.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=sans-serif]::before {
  45 + content: "sans-serif";
  46 + font-family: "sans-serif";
  47 +}
  48 +
  49 +.ql-font-SimSun {
  50 + font-family: "SimSun";
  51 +}
  52 +
  53 +.ql-font-SimHei {
  54 + font-family: "SimHei";
  55 +}
  56 +
  57 +.ql-font-Microsoft-YaHei {
  58 + font-family: "Microsoft YaHei";
  59 +}
  60 +
  61 +.ql-font-KaiTi {
  62 + font-family: "KaiTi";
  63 +}
  64 +
  65 +.ql-font-FangSong {
  66 + font-family: "FangSong";
  67 +}
  68 +
  69 +.ql-font-Arial {
  70 + font-family: "Arial";
  71 +}
  72 +
  73 +.ql-font-Times-New-Roman {
  74 + font-family: "Times New Roman";
  75 +}
  76 +
  77 +.ql-font-sans-serif {
  78 + font-family: "sans-serif";
  79 +}
  1 +<!-- 组件代码如下 -->
  2 +<template>
  3 + <div>
  4 + <script id="editor" type="text/plain"></script>
  5 + </div>
  6 +</template>
  7 +<script>
  8 + export default {
  9 + name: 'UE',
  10 + data() {
  11 + return {
  12 + editor: null
  13 + }
  14 + },
  15 + props: {
  16 + defaultMsg: {
  17 + type: String
  18 + },
  19 + config: {
  20 + type: Object
  21 + }
  22 + },
  23 + mounted() {
  24 + const _this = this;
  25 + this.editor = UE.getEditor('editor', this.config); // 初始化UE
  26 + this.editor.addListener("ready", function () {
  27 + _this.editor.setContent(_this.defaultMsg) // 确保UE加载完成后,放入内容。
  28 + });
  29 + },
  30 + methods: {
  31 + getUEContent() { // 获取内容方法
  32 + return this.editor.getContent()
  33 + }
  34 + },
  35 + destroyed() {
  36 + this.editor.destroy()
  37 + }
  38 + }
  39 +
  40 +</script>
@@ -67,7 +67,7 @@ @@ -67,7 +67,7 @@
67 <!--工具条--> 67 <!--工具条-->
68 <el-col :span="24" class="toolbar"> 68 <el-col :span="24" class="toolbar">
69 <el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button> 69 <el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button>
70 - <el-pagination layout="prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;"> 70 + <el-pagination layout="prev, pager, next" @current-change="handleCurrentChange" :page-size="pageSize" :total="total" style="float:right;">
71 </el-pagination> 71 </el-pagination>
72 </el-col> 72 </el-col>
73 73
@@ -101,7 +101,7 @@ @@ -101,7 +101,7 @@
101 </el-dialog> 101 </el-dialog>
102 102
103 <!--新增界面--> 103 <!--新增界面-->
104 - <el-dialog title="新增" :visible.sync="addFormVisible" width="60%"> 104 + <el-dialog title="新增" :visible.sync="addFormVisible" width="70%">
105 <el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm"> 105 <el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
106 <el-form-item label="工单名称" prop="processname"> 106 <el-form-item label="工单名称" prop="processname">
107 <el-input v-model="addForm.processname" auto-complete="off" placeholder="请输入工单标题:"></el-input> 107 <el-input v-model="addForm.processname" auto-complete="off" placeholder="请输入工单标题:"></el-input>
@@ -119,7 +119,14 @@ @@ -119,7 +119,14 @@
119 @change="cascaderhandleChange"></el-cascader-panel> 119 @change="cascaderhandleChange"></el-cascader-panel>
120 </el-form-item> 120 </el-form-item>
121 <el-form-item label="工单内容" prop="reason"> 121 <el-form-item label="工单内容" prop="reason">
122 - <el-input type="textarea" v-model="addForm.reason"></el-input> 122 + <div>
  123 + <el-card style="height: 310px;">
  124 + <quill-editor v-model="addForm.reason" ref="myQuillEditor" style="height: 310px;" :options="editorOption">
  125 +
  126 + </quill-editor>
  127 + </el-card>
  128 + </div>
  129 + <!--<el-input type="textarea" v-model="addForm.reason"></el-input>-->
123 </el-form-item> 130 </el-form-item>
124 <el-form-item label="指定部门"> 131 <el-form-item label="指定部门">
125 <el-tree 132 <el-tree
@@ -138,19 +145,28 @@ @@ -138,19 +145,28 @@
138 <el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button> 145 <el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button>
139 </div> 146 </div>
140 </el-dialog> 147 </el-dialog>
  148 +
141 </section> 149 </section>
142 </template> 150 </template>
143 151
144 <script> 152 <script>
  153 + import {
  154 + quillEditor
  155 + } from 'vue-quill-editor'
  156 + import 'quill/dist/quill.core.css'
  157 + import 'quill/dist/quill.snow.css'
  158 + import 'quill/dist/quill.bubble.css'
145 import util from '../../common/js/util' 159 import util from '../../common/js/util'
146 import NProgress from 'nprogress' 160 import NProgress from 'nprogress'
147 import { getList,add,vacationTypeOptions} from '@/api/process_api'; 161 import { getList,add,vacationTypeOptions} from '@/api/process_api';
  162 + import SOC from '@/api/socket';
148 import moment from 'moment' 163 import moment from 'moment'
149 import {parseTime, pickerOptions} from '@/utils' 164 import {parseTime, pickerOptions} from '@/utils'
150 import loginUserInfo from '@/api/base' 165 import loginUserInfo from '@/api/base'
151 import ElFormItem from "../../../node_modules/element-ui/packages/form/src/form-item.vue"; 166 import ElFormItem from "../../../node_modules/element-ui/packages/form/src/form-item.vue";
152 export default { 167 export default {
153 - components: {ElFormItem}, 168 + name: 'FuncFormsEdit',
  169 + components: {ElFormItem,quillEditor},
154 data() { 170 data() {
155 return { 171 return {
156 filters: { 172 filters: {
@@ -239,7 +255,11 @@ @@ -239,7 +255,11 @@
239 label: 'label' 255 label: 'label'
240 }, 256 },
241 pickerOptions: pickerOptions, 257 pickerOptions: pickerOptions,
242 - vacationTypeOptions: vacationTypeOptions 258 + vacationTypeOptions: vacationTypeOptions,
  259 + drawer: true,
  260 + direction:'rtl',
  261 + content: null,
  262 + editorOption: {}
243 } 263 }
244 }, 264 },
245 methods: { 265 methods: {
@@ -267,7 +287,15 @@ @@ -267,7 +287,15 @@
267 }, 287 },
268 handleCurrentChange(val) { 288 handleCurrentChange(val) {
269 this.pageNum = val; 289 this.pageNum = val;
  290 + this.getProcessList();
270 }, 291 },
  292 + /*handleClose(done) {
  293 + this.$confirm('确认关闭?')
  294 + .then(_ => {
  295 + done();
  296 + })
  297 + .catch(_ => {});
  298 + },*/
271 //获取工单列表 299 //获取工单列表
272 getProcessList() { 300 getProcessList() {
273 let para = { 301 let para = {