Merge remote-tracking branch 'origin/master'
正在显示
6 个修改的文件
包含
214 行增加
和
12 行删除
@@ -3026,8 +3026,7 @@ | @@ -3026,8 +3026,7 @@ | ||
3026 | "deep-equal": { | 3026 | "deep-equal": { |
3027 | "version": "1.0.1", | 3027 | "version": "1.0.1", |
3028 | "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", | 3028 | "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", |
3029 | - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", | ||
3030 | - "dev": true | 3029 | + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" |
3031 | }, | 3030 | }, |
3032 | "deep-is": { | 3031 | "deep-is": { |
3033 | "version": "0.1.3", | 3032 | "version": "0.1.3", |
@@ -3835,6 +3834,11 @@ | @@ -3835,6 +3834,11 @@ | ||
3835 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", | 3834 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", |
3836 | "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" | 3835 | "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" |
3837 | }, | 3836 | }, |
3837 | + "fast-diff": { | ||
3838 | + "version": "1.1.2", | ||
3839 | + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", | ||
3840 | + "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==" | ||
3841 | + }, | ||
3838 | "fast-json-stable-stringify": { | 3842 | "fast-json-stable-stringify": { |
3839 | "version": "2.0.0", | 3843 | "version": "2.0.0", |
3840 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", | 3844 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", |
@@ -9553,8 +9557,7 @@ | @@ -9553,8 +9557,7 @@ | ||
9553 | "object-assign": { | 9557 | "object-assign": { |
9554 | "version": "4.1.1", | 9558 | "version": "4.1.1", |
9555 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", | 9559 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", |
9556 | - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", | ||
9557 | - "dev": true | 9560 | + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" |
9558 | }, | 9561 | }, |
9559 | "object-copy": { | 9562 | "object-copy": { |
9560 | "version": "0.1.0", | 9563 | "version": "0.1.0", |
@@ -9838,6 +9841,11 @@ | @@ -9838,6 +9841,11 @@ | ||
9838 | "no-case": "^2.2.0" | 9841 | "no-case": "^2.2.0" |
9839 | } | 9842 | } |
9840 | }, | 9843 | }, |
9844 | + "parchment": { | ||
9845 | + "version": "1.1.4", | ||
9846 | + "resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz", | ||
9847 | + "integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==" | ||
9848 | + }, | ||
9841 | "parent-module": { | 9849 | "parent-module": { |
9842 | "version": "1.0.1", | 9850 | "version": "1.0.1", |
9843 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", | 9851 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", |
@@ -10666,6 +10674,41 @@ | @@ -10666,6 +10674,41 @@ | ||
10666 | "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", | 10674 | "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", |
10667 | "dev": true | 10675 | "dev": true |
10668 | }, | 10676 | }, |
10677 | + "quill": { | ||
10678 | + "version": "1.3.7", | ||
10679 | + "resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz", | ||
10680 | + "integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==", | ||
10681 | + "requires": { | ||
10682 | + "clone": "^2.1.1", | ||
10683 | + "deep-equal": "^1.0.1", | ||
10684 | + "eventemitter3": "^2.0.3", | ||
10685 | + "extend": "^3.0.2", | ||
10686 | + "parchment": "^1.1.4", | ||
10687 | + "quill-delta": "^3.6.2" | ||
10688 | + }, | ||
10689 | + "dependencies": { | ||
10690 | + "clone": { | ||
10691 | + "version": "2.1.2", | ||
10692 | + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", | ||
10693 | + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" | ||
10694 | + }, | ||
10695 | + "eventemitter3": { | ||
10696 | + "version": "2.0.3", | ||
10697 | + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", | ||
10698 | + "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" | ||
10699 | + } | ||
10700 | + } | ||
10701 | + }, | ||
10702 | + "quill-delta": { | ||
10703 | + "version": "3.6.3", | ||
10704 | + "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz", | ||
10705 | + "integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==", | ||
10706 | + "requires": { | ||
10707 | + "deep-equal": "^1.0.1", | ||
10708 | + "extend": "^3.0.2", | ||
10709 | + "fast-diff": "1.1.2" | ||
10710 | + } | ||
10711 | + }, | ||
10669 | "randombytes": { | 10712 | "randombytes": { |
10670 | "version": "2.1.0", | 10713 | "version": "2.1.0", |
10671 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", | 10714 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", |
@@ -12821,6 +12864,15 @@ | @@ -12821,6 +12864,15 @@ | ||
12821 | } | 12864 | } |
12822 | } | 12865 | } |
12823 | }, | 12866 | }, |
12867 | + "vue-quill-editor": { | ||
12868 | + "version": "3.0.6", | ||
12869 | + "resolved": "https://registry.npmjs.org/vue-quill-editor/-/vue-quill-editor-3.0.6.tgz", | ||
12870 | + "integrity": "sha512-g20oSZNWg8Hbu41Kinjd55e235qVWPLfg4NvsLW6d+DhgBTFbEuMpcWlUdrD6qT3+Noim6DRu18VLM9lVShXOQ==", | ||
12871 | + "requires": { | ||
12872 | + "object-assign": "^4.1.1", | ||
12873 | + "quill": "^1.3.4" | ||
12874 | + } | ||
12875 | + }, | ||
12824 | "vue-router": { | 12876 | "vue-router": { |
12825 | "version": "2.8.1", | 12877 | "version": "2.8.1", |
12826 | "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-2.8.1.tgz", | 12878 | "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-2.8.1.tgz", |
@@ -28,6 +28,7 @@ | @@ -28,6 +28,7 @@ | ||
28 | "vue": "^2.2.2", | 28 | "vue": "^2.2.2", |
29 | "vue-count-to": "^1.0.13", | 29 | "vue-count-to": "^1.0.13", |
30 | "vue-i18n": "^8.14.0", | 30 | "vue-i18n": "^8.14.0", |
31 | + "vue-quill-editor": "^3.0.6", | ||
31 | "vue-router": "^2.3.0", | 32 | "vue-router": "^2.3.0", |
32 | "vuex": "^2.0.0-rc.6", | 33 | "vuex": "^2.0.0-rc.6", |
33 | "xlsx": "^0.15.6" | 34 | "xlsx": "^0.15.6" |
1 | 1 | ||
2 | var websock = null; | 2 | var websock = null; |
3 | var global_callback = null; | 3 | var global_callback = null; |
4 | -var serverPort = '10003'; //webSocket连接端口 | 4 | +var serverPort = '10002'; //webSocket连接端口 |
5 | 5 | ||
6 | 6 | ||
7 | function getWebIP(){ | 7 | function getWebIP(){ |
@@ -11,7 +11,7 @@ function getWebIP(){ | @@ -11,7 +11,7 @@ function getWebIP(){ | ||
11 | 11 | ||
12 | function initWebSocket(){ //初始化weosocket | 12 | function initWebSocket(){ //初始化weosocket |
13 | //ws地址 | 13 | //ws地址 |
14 | - var wsuri = "ws://" +getWebIP()+ ":" + serverPort+"/log"; | 14 | + var wsuri = "ws://" +getWebIP()+ ":" + serverPort+"/websocket"; |
15 | websock = new WebSocket(wsuri); | 15 | websock = new WebSocket(wsuri); |
16 | websock.onmessage = function(e){ | 16 | websock.onmessage = function(e){ |
17 | websocketonmessage(e); | 17 | websocketonmessage(e); |
@@ -50,6 +50,8 @@ function sendSock(agentData,callback){ | @@ -50,6 +50,8 @@ function sendSock(agentData,callback){ | ||
50 | 50 | ||
51 | //数据接收 | 51 | //数据接收 |
52 | function websocketonmessage(e){ | 52 | function websocketonmessage(e){ |
53 | + | ||
54 | + console.log("------>"+e.data); | ||
53 | global_callback(JSON.parse(e.data)); | 55 | global_callback(JSON.parse(e.data)); |
54 | } | 56 | } |
55 | 57 | ||
@@ -67,7 +69,7 @@ function websocketOpen(e){ | @@ -67,7 +69,7 @@ function websocketOpen(e){ | ||
67 | console.log("连接成功"); | 69 | console.log("连接成功"); |
68 | } | 70 | } |
69 | 71 | ||
70 | -// initWebSocket(); | 72 | +initWebSocket(); |
71 | 73 | ||
72 | export{sendSock} | 74 | export{sendSock} |
73 | 75 |
src/assets/css/font.css
0 → 100644
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 | +} |
src/components/ue.vue
0 → 100644
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 = { |
-
请 注册 或 登录 后发表评论