Browse Source

政策兑现文本框修改为富文本

wrh 2 years ago
parent
commit
b80ebd6399

+ 1 - 1
nngkxxdp/src/main/resources/static/naqwzsjtj/naqwzsjtj/src/App.vue

@@ -14,7 +14,7 @@
 
     body {
         height: 0;
-        margin: 0;
+        margin: 0!important;
         padding: 0;
         font-family: Microsoft YaHei;
     }

+ 17 - 8
nngkxxdp/src/main/resources/static/naqwzsjtj/naqwzsjtj/src/components/Tinymce/index.vue

@@ -2,17 +2,17 @@
   <div>
     <editor :init="{
         language: 'zh_CN',//语言
-        height: 500,
+        height: height,
         selector: 'textarea',  // change this value according to your HTML
         menubar: false,
         plugins: [
         'advlist autosave',
         'hr lists',
         'image',
-        'paste preview visualchars table'
+        'paste preview visualchars table link'
         ],
         toolbar:[
-        'bold italic styleselect underline strikethrough alignleft aligncenter alignright outdent indent undo redo removeformat hr bullist numlist image charmap table forecolor backcolor preview'],
+        'bold italic styleselect underline strikethrough alignleft aligncenter alignright outdent indent undo redo removeformat hr bullist numlist image charmap link table forecolor backcolor preview'],
         style_formats: [
           {
             title: '首行缩进',
@@ -66,7 +66,6 @@
 </template>
 <script>
   import Editor from '@tinymce/tinymce-vue'
-  import CONFIG from "../../../vue.config"
 
   import 'tinymce/tinymce'
   // Theme
@@ -86,6 +85,7 @@
   import 'tinymce/plugins/visualchars'
   import 'tinymce/plugins/preview'
   import 'tinymce/plugins/lists'
+  import 'tinymce/plugins/link'
   // icons
   import 'tinymce/icons/default'
   // langs
@@ -98,13 +98,17 @@
         type: String,
         default: ''
       },
+      height: {
+        type: String,
+        default: 500
+      }
     },
     components: {
       'editor': Editor
     },
     data() {
       return {
-        picUrl: CONFIG.devServer.proxy['/'].target + 'policyDelivery/uploadFile'
+        picUrl: process.env.VUE_APP_BASE_API + 'policyDelivery/uploadFile'
       }
     },
     watch: {},
@@ -124,7 +128,7 @@
     var file = blobInfo.blob(); //转化为易于理解的file对象
     xhr = new XMLHttpRequest();
     xhr.withCredentials = false;
-    xhr.open('POST', CONFIG.devServer.proxy['/'].target + 'policyDelivery/uploadFile');
+    xhr.open('POST', process.env.VUE_APP_BASE_API + 'policyDelivery/uploadFile');
     xhr.setRequestHeader('utoken', JSON.parse(sessionStorage['utoken']));
     xhr.onload = function () {
       var json;
@@ -141,10 +145,15 @@
         failure(json.result.msg);
         return;
       }
-      success(CONFIG.devServer.proxy['/'].target + json.data.path);
+      success(process.env.VUE_APP_BASE_API + json.data.path);
     };
     formData = new FormData();
     formData.append('file', file, file.name); //此处与源文档不一样
     xhr.send(formData);
   };
-</script>
+</script>
+<style>
+  .tox-tinymce-aux {
+    z-index: 3000 !important;
+  }
+</style>

+ 3 - 3
nngkxxdp/src/main/resources/static/naqwzsjtj/naqwzsjtj/src/views/policyDelivery/PolicyDeliveryIndex.vue

@@ -73,7 +73,7 @@
         </el-table-column>
         <el-table-column :width="210" label="操作" align="center">
           <template slot-scope="scope">
-            <el-button class="but" type="primary" @click="showEditForm(scope.row.id)">
+            <el-button class="but" type="primary" @click="showEditForm(scope.row)">
               编辑
             </el-button>
             <el-button class="but" type="danger" @click="del(scope.row.id)">
@@ -243,8 +243,8 @@ export default {
     showAddForm() {
       this.$refs.refPolicyDeliveryEdit.showEditForm()
     },
-    showEditForm(id) {
-      this.$refs.refPolicyDeliveryEdit.showEditForm(id)
+    showEditForm(data) {
+      this.$refs.refPolicyDeliveryEdit.showEditForm(data)
     },
     del(id) {
       const message = '您确定要删除该数据吗'

+ 30 - 33
nngkxxdp/src/main/resources/static/naqwzsjtj/naqwzsjtj/src/views/policyDelivery/components/PolicyDeliveryEdit.vue

@@ -1,40 +1,40 @@
 <template>
   <el-dialog title="" top="10px" :close-on-click-modal="false" class="detailDialog" :modal-append-to-body="false"
-    append-to-body width="40%" :visible.sync="dialog.visible" @closed="afterFormClosed">
+    append-to-body width="60%" :visible.sync="dialog.visible" @closed="afterFormClosed">
     <div slot="title" style="height: 10px;">
       <div class="addTitle">{{ dialog.title }}</div>
     </div>
-    <el-form ref="refForm" style="height: 500px;overflow-y: scroll;" v-loading="form.loading" :model="form"
-      :rules="rules" label-width="80px">
+    <el-form ref="refForm" style="height: 500px;overflow-y: scroll;padding-right: 30px;" v-loading="form.loading"
+      :model="form" :rules="rules" label-width="80px">
       <el-form-item prop="title" label="标题">
         <el-input v-model="form.title" placeholder="标题" maxlength="255" />
       </el-form-item>
       <el-form-item prop="unit" label="单位">
         <el-input v-model="form.unit" placeholder="单位" maxlength="255" />
       </el-form-item>
-      <el-form-item prop="measures" label="惠企措施">
-        <el-input v-model="form.measures" placeholder="惠企措施" maxlength="255" />
+      <el-form-item prop="measures" v-if="isRouterAlive" label="惠企措施">
+        <tinymce v-model="form.measures" :height="200" ref="editor" />
       </el-form-item>
-      <el-form-item prop="policyBasis" label="政策依据">
-        <el-input v-model="form.policyBasis" placeholder="政策依据" maxlength="255" />
+      <el-form-item prop="policyBasis" v-if="isRouterAlive" label="政策依据">
+        <tinymce v-model="form.policyBasis" :height="200" ref="editor" />
       </el-form-item>
-      <el-form-item prop="applicableConditions" label="适用条件">
-        <el-input v-model="form.applicableConditions" placeholder="适用条件" maxlength="255" />
+      <el-form-item prop="applicableConditions" v-if="isRouterAlive" label="适用条件">
+        <tinymce v-model="form.applicableConditions" :height="200" ref="editor" />
       </el-form-item>
-      <el-form-item prop="processingMethod" label="办理方式">
-        <el-input v-model="form.processingMethod" placeholder="办理方式" maxlength="255" />
+      <el-form-item prop="processingMethod" v-if="isRouterAlive" label="办理方式">
+        <tinymce v-model="form.processingMethod" :height="200" ref="editor" />
       </el-form-item>
-      <el-form-item prop="processingTime" label="办理时间">
-        <el-input v-model="form.processingTime" placeholder="办理时间" maxlength="255" />
+      <el-form-item prop="processingTime" v-if="isRouterAlive" label="办理时间">
+        <tinymce v-model="form.processingTime" :height="200" ref="editor" />
       </el-form-item>
-      <el-form-item prop="inquiryPhone" label="咨询电话">
-        <el-input v-model="form.inquiryPhone" placeholder="咨询电话" maxlength="255" />
+      <el-form-item prop="inquiryPhone" v-if="isRouterAlive" label="咨询电话">
+        <tinymce v-model="form.inquiryPhone" :height="200" ref="editor" />
       </el-form-item>
-      <el-form-item prop="procedure" label="办理流程">
-        <el-input v-model="form.procedure" placeholder="办理流程" maxlength="255" />
+      <el-form-item prop="procedure" v-if="isRouterAlive" label="办理流程">
+        <tinymce v-model="form.procedure" :height="200" ref="editor" />
       </el-form-item>
-      <el-form-item prop="processingMaterials" label="办理材料">
-        <el-input v-model="form.processingMaterials" placeholder="办理材料" maxlength="255" />
+      <el-form-item prop="processingMaterials" v-if="isRouterAlive" label="办理材料">
+        <tinymce v-model="form.processingMaterials" :height="200" ref="editor" />
       </el-form-item>
       <el-form-item prop="type" label="类型">
         <el-input v-model="form.type" placeholder="类型" maxlength="255" />
@@ -58,12 +58,12 @@
     isEmpty
   } from '@/utils/tool'
   import policyDeliveryApi from '@/api/policyDelivery'
-  // import Tinymce from '@/components/Tinymce'
+  import Tinymce from '@/components/Tinymce'
 
   export default {
     name: 'PolicyDeliveryEdit',
     components: {
-      // Tinymce
+      Tinymce
     },
     data() {
       return {
@@ -95,7 +95,9 @@
         dialog: {
           title: '',
           visible: false
-        }
+        },
+        // 是否显示富文本
+        isRouterAlive: true,
       }
     },
     computed: {},
@@ -143,21 +145,16 @@
           console.log('验证失败')
         })
       },
-      showEditForm(id) {
+      showEditForm(data) {
         this.dialog.visible = true
         this.form.loading = true
         this.form.loading = false
-        if (id) {
+        if (data) {
+          this.isRouterAlive = false
           this.dialog.title = '编辑'
-          this.form.id = id
-          const params = {
-            id: id
-          }
-          policyDeliveryApi.policyDeliveryInfo({
-            params
-          }).then((res) => {
-            const ret = res.data.data || []
-            this.form = ret
+          this.$nextTick(() => {
+            this.form = JSON.parse(JSON.stringify(data))
+            this.isRouterAlive = true
           })
         } else {
           this.dialog.title = '新增'