Browse Source

静态知识编辑禁用bug修改,富文本编辑器修改

zhouna 6 years ago
parent
commit
63eb94e12c

+ 63 - 6
package-lock.json

@@ -3319,8 +3319,7 @@
     "deep-equal": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
-      "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
-      "dev": true
+      "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
     },
     "deep-is": {
       "version": "0.1.3",
@@ -4323,8 +4322,7 @@
     "extend": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
-      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
-      "dev": true
+      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
     },
     "extend-shallow": {
       "version": "3.0.2",
@@ -4435,6 +4433,11 @@
       "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
       "dev": true
     },
+    "fast-diff": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz",
+      "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig=="
+    },
     "fast-glob": {
       "version": "2.2.6",
       "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.6.tgz",
@@ -7355,8 +7358,7 @@
     "object-assign": {
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
-      "dev": true
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
     },
     "object-copy": {
       "version": "0.1.0",
@@ -7641,6 +7643,11 @@
         "no-case": "2.3.2"
       }
     },
+    "parchment": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz",
+      "integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg=="
+    },
     "parse-asn1": {
       "version": "5.1.1",
       "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
@@ -8548,6 +8555,47 @@
       "integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==",
       "dev": true
     },
+    "quill": {
+      "version": "1.3.6",
+      "resolved": "https://registry.npmjs.org/quill/-/quill-1.3.6.tgz",
+      "integrity": "sha512-K0mvhimWZN6s+9OQ249CH2IEPZ9JmkFuCQeHAOQax3EZ2nDJ3wfGh59mnlQaZV2i7u8eFarx6wAtvQKgShojug==",
+      "requires": {
+        "clone": "2.1.2",
+        "deep-equal": "1.0.1",
+        "eventemitter3": "2.0.3",
+        "extend": "3.0.2",
+        "parchment": "1.1.4",
+        "quill-delta": "3.6.3"
+      },
+      "dependencies": {
+        "clone": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+          "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
+        },
+        "eventemitter3": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz",
+          "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo="
+        }
+      }
+    },
+    "quill-delta": {
+      "version": "3.6.3",
+      "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz",
+      "integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==",
+      "requires": {
+        "deep-equal": "1.0.1",
+        "extend": "3.0.2",
+        "fast-diff": "1.1.2"
+      }
+    },
+    "quill-image-extend-module": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/quill-image-extend-module/-/quill-image-extend-module-1.1.2.tgz",
+      "integrity": "sha512-yHJWZWlTjNZzV34zuT4H55ttDwMxmVJ7JUgKnt/Wd3ejUNcaPOV57/sKG8VEMU5mL7bKZPIKmBdb3weM0M5UeA==",
+      "dev": true
+    },
     "randombytes": {
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
@@ -10681,6 +10729,15 @@
         "vue-style-loader": "4.1.2"
       }
     },
+    "vue-quill-editor": {
+      "version": "3.0.6",
+      "resolved": "https://registry.npmjs.org/vue-quill-editor/-/vue-quill-editor-3.0.6.tgz",
+      "integrity": "sha512-g20oSZNWg8Hbu41Kinjd55e235qVWPLfg4NvsLW6d+DhgBTFbEuMpcWlUdrD6qT3+Noim6DRu18VLM9lVShXOQ==",
+      "requires": {
+        "object-assign": "4.1.1",
+        "quill": "1.3.6"
+      }
+    },
     "vue-router": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.0.2.tgz",

+ 3 - 1
package.json

@@ -9,7 +9,8 @@
   },
   "dependencies": {
     "js-md5": "^0.7.3",
-    "vue": "^2.5.17"
+    "vue": "^2.5.17",
+    "vue-quill-editor": "^3.0.6"
   },
   "eslintConfig": {
     "env": {
@@ -29,6 +30,7 @@
     "less-loader": "^4.1.0",
     "path": "^0.12.7",
     "qs": "^6.5.2",
+    "quill-image-extend-module": "^1.1.2",
     "vue-router": "^3.0.1",
     "vue-template-compiler": "^2.5.17",
     "vue-ueditor-wrap": "^2.4.0"

+ 1 - 0
src/components/icss/AddMedicinePrompt.vue

@@ -44,6 +44,7 @@
                 <InfoParagraph v-for="(f,i) in form.prags"
                                :data="f"
                                :index="i"
+                               :len="1"
                                :isEdit = "isEdit"
                                @change="getPgValues"
                                @add="addParagraph"

+ 3 - 0
src/components/icss/AddPromptInfo.vue

@@ -15,6 +15,7 @@
                 <InfoParagraph v-for="(f,i) in form.prags"
                                :data="f"
                                :index="i"
+                               :len="len"
                                :isEdit = "isEdit"
                                @change="getPgValues"
                                @add="addParagraph"
@@ -68,6 +69,7 @@
       return {
         isEdit:false,
         tagPool:[],                 //标签池数据
+        len:0,
         Adscriptions:[],            //归属列表
         editData:{
           tagFor:'',
@@ -106,6 +108,7 @@
           if(res.data.code === '0') {
             this.form = this.parseData(res.data.data);
             this.editData = Object.assign({},this.form);
+            this.len=res.data.data.details&&res.data.data.details.length;
           }else{
             this.warning("数据获取失败");
           }

+ 31 - 20
src/components/icss/InfoParagraph.vue

@@ -3,13 +3,13 @@
             <p class="line"></p>
             <el-input v-model="data.orderNo" :value="index" type="hidden"></el-input>
             <el-form-item label="是否属于诊断:" prop="isReason" @change="emitVal">
-                <el-select v-model="data.isReason" placeholder="请选择" :disabled="isEdit">
+                <el-select v-model="data.isReason" placeholder="请选择" :disabled="isEdit&&index<len">
                     <el-option label="否" :value="0"></el-option>
                     <el-option label="是" :value="1"></el-option>
                 </el-select>
             </el-form-item>
             <el-form-item label="显示位置:" prop="position" label-width="130px">
-                <el-checkbox-group v-model="data.position" @change="emitVal" :disabled="isEdit">
+                <el-checkbox-group v-model="data.position" @change="emitVal" :disabled="isEdit&&index<len">
                     <el-checkbox v-for="it in positions" :key="it.key" :label="it.key">{{it.name}}</el-checkbox>
                 </el-checkbox-group>
             </el-form-item>
@@ -17,38 +17,49 @@
                 <el-input v-model="data.title" @change="emitVal"></el-input>
             </el-form-item>
             <el-form-item label="内容" prop="content" label-width="130px">
-                <InfoUeditor v-model="data.content" :config="config"></InfoUeditor>
+                <quillEditor v-model="data.content" :options="editorOption"></quillEditor>
             </el-form-item>
             <el-form-item label-width="130px">
-                <el-button @click="addEmit">添加段落</el-button >
+                <el-button @click="addEmit">添加段落</el-button>
                 <el-button @click="delEmit" type="info">删除本段落</el-button>
             </el-form-item>
     </el-form>
 </template>
 
 <script>
-  import InfoUeditor from 'vue-ueditor-wrap';
+  import 'quill/dist/quill.core.css'
+  import 'quill/dist/quill.snow.css'
+  import 'quill/dist/quill.bubble.css'
+  import {quillEditor, Quill} from 'vue-quill-editor'
+  import {container, ImageExtend, QuillWatch} from 'quill-image-extend-module';
+  Quill.register('modules/ImageExtend', ImageExtend);
   export default{
-    props:['data','index','isEdit'],
+    props:['data','index','isEdit','len'],
     name:'InfoParagraph',
     components:{
-      InfoUeditor
+      quillEditor
     },
     data(){
         return {
-          config:{
-            initialFrameWidth: null,
-            initialFrameHeight: 350,
-            serverUrl: 'http://35.201.165.105:8000/controller.php',
-            //imageUrlPrefix:"http://192.168.2.236:82",
-            //serverUrl:'/api/icssman/file/uploadImage',
-            UEDITOR_HOME_URL: '/UEditor/',        //静态文件路径
-            toolbars:[['source','undo','redo','bold','italic','underline','fontborder','strikethrough','superscript','subscript','removeformat','formatmatch','autotypeset','blockquote',
-              'pasteplain','forecolor','backcolor','insertorderedlist','insertunorderedlist','selectall',
-              'cleardoc','rowspacingtop','rowspacingbottom','lineheight','customstyle','paragraph',
-              'fontfamily','fontsize','directionalityltr','directionalityrtl','indent','justifyleft',
-              'justifycenter','justifyright','justifyjustify','touppercase','tolowercase','link','simpleupload','insertimage','horizontal',
-              'date','time','spechars','fullscreen']]      //自定义工具
+          editorOption: {
+            modules: {
+              ImageExtend: {
+                loading: true,
+                name: 'upfile',
+                action: 'http://192.168.2.236/api/icssman/file/uploadImage',
+                response: (res) => {
+                  return 'http://192.168.2.236:82'+res.url;
+                }
+              },
+              toolbar: {
+                container: container,
+                handlers: {
+                  'image': function () {
+                    QuillWatch.emit(this.quill.id)
+                  }
+                }
+              }
+            }
           },
           form:{},
           positions:[],               //位置列表