From ef5d28c21618b6fcd3cae08004b15570169dbb0c Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期三, 16 十一月 2022 17:50:13 +0800
Subject: [PATCH] 文书模板

---
 src/views/operate/writManager/writTemplate/index.vue                    |  327 +++++++++++
 src/views/operate/writManager/components/instruct_notification/view.vue |  262 +++++++++
 src/store/index.js                                                      |    4 
 src/views/operate/writManager/components/inquest_record/view.vue        |  399 +++++++++++++
 src/router/index.js                                                     |   10 
 src/views/operate/writManager/writ/index.vue                            |  383 +++++++++++++
 src/views/operate/writManager/components/instruct_notification/edit.vue |    8 
 src/api/operate/messageManagement.js                                    |    2 
 src/views/operate/images/index.vue                                      |    3 
 src/views/operate/writManager/components/inquest_record/edit.vue        |    8 
 src/store/operate/writ.js                                               |   21 
 src/api/operate/writ.js                                                 |   20 
 src/views/operate/message/myIndex/update/index.vue                      |  283 ++++++---
 src/views/operate/video/index.vue                                       |    3 
 14 files changed, 1,624 insertions(+), 109 deletions(-)

diff --git a/src/api/operate/messageManagement.js b/src/api/operate/messageManagement.js
index b6063d3..5c61cd8 100644
--- a/src/api/operate/messageManagement.js
+++ b/src/api/operate/messageManagement.js
@@ -9,7 +9,7 @@
 }
 
 export function getMessageList(params) {
-    return http.post('/sccg/message/list', params);
+    return http.get('/sccg/message/list', params);
 }
 
 export function sendMessage(params) {
diff --git a/src/api/operate/writ.js b/src/api/operate/writ.js
new file mode 100644
index 0000000..acbd279
--- /dev/null
+++ b/src/api/operate/writ.js
@@ -0,0 +1,20 @@
+import http from '@/http'
+
+export default {
+    // 鑾峰彇鍒楄〃
+    getWritTemplateList: (params) => {
+        return http.get('/sccg/writ_template/query', params);
+    },
+    // 鑾峰彇鍒楄〃
+    getWritList: (params) => {
+        return http.get('/sccg/writ/query', params);
+    },
+    // 缂栬緫
+    updateWrit: (params) => {
+        return http.put('/sccg/writ/modification', params);
+    },
+    // 鍒犻櫎
+    deleteWrit: (id) => {
+        return http.delete('/sccg/writ/delete/' + id);
+    },
+};
\ No newline at end of file
diff --git a/src/router/index.js b/src/router/index.js
index 0daf632..c592ed5 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -296,6 +296,16 @@
       path: 'images',
       name: 'images',
       component: () => import('@/views/operate/images'),
+    },
+    {
+      path: 'writManager',
+      name: 'writManager',
+      component: () => import('@/views/operate/writManager/writ'),
+    },
+    {
+      path: 'writTemplate',
+      name: 'writTemplate',
+      component: () => import('@/views/operate/writManager/writTemplate'),
     }
     ]
   },
diff --git a/src/store/index.js b/src/store/index.js
index b12d733..21bd090 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -6,6 +6,7 @@
 import handheldTerminal from './system/handheldTerminal'
 import shortMessage from './operate/managenment/shortMessage'
 import statistics from './intelligentPatrol/statistics'
+import writ from './operate/writ'
 Vue.use(Vuex)
 
 export default new Vuex.Store({
@@ -19,6 +20,7 @@
     shortMessage,
     loudspeaker,
     handheldTerminal,
-    statistics
+    statistics,
+    writ
   }
 })
\ No newline at end of file
diff --git a/src/store/operate/writ.js b/src/store/operate/writ.js
new file mode 100644
index 0000000..e2aac91
--- /dev/null
+++ b/src/store/operate/writ.js
@@ -0,0 +1,21 @@
+import api from "@/api/operate/writ";
+export default {
+    namespaced: true,
+    state: {
+        userInfo: {},
+    },
+    actions: {
+        getWritTemplateList(context, params) {
+            return api.getWritTemplateList(params);
+        },
+        getWritList(context, params) {
+            return api.getWritList(params);
+        },
+        updateWrit(context, params) {
+            return api.updateWrit(params);
+        },
+        deleteWrit(context, id) {
+            return api.deleteWrit(id);
+        },
+    },
+};
\ No newline at end of file
diff --git a/src/views/operate/images/index.vue b/src/views/operate/images/index.vue
index 558d931..cb18b53 100644
--- a/src/views/operate/images/index.vue
+++ b/src/views/operate/images/index.vue
@@ -373,8 +373,9 @@
             margin-bottom: 10px;
 
             .type-item {
-                width: 80px;
+                min-width: 80px;
                 text-align: center;
+                padding-right: 10px;
 
                 &:hover {
                     cursor: pointer;
diff --git a/src/views/operate/message/myIndex/update/index.vue b/src/views/operate/message/myIndex/update/index.vue
index 6d16c02..bfea845 100644
--- a/src/views/operate/message/myIndex/update/index.vue
+++ b/src/views/operate/message/myIndex/update/index.vue
@@ -2,8 +2,14 @@
   <div class="createUser">
     <main>
       <div class="mainContent">
-        <el-form ref="user" label-width="140px" autoComplete="on" :model="role" :rules="createRoleRules"
-                 label-position="right">
+        <el-form
+          ref="user"
+          label-width="140px"
+          autoComplete="on"
+          :model="role"
+          :rules="createRoleRules"
+          label-position="right"
+        >
           <!-- 鎻愰啋鏂瑰紡 -->
           <el-form-item class="optionItem" label="鎻愰啋鏂瑰紡:" prop="channelCode">
             <el-radio-group v-model="role.channelCode">
@@ -13,31 +19,55 @@
             <span class="message-tip">(鐭俊鍙敤鏁�: 1000鏉�)</span>
           </el-form-item>
           <!-- 娑堟伅鏍忕洰 -->
-          <el-form-item v-if="role.channelCode === '01'" class="optionItem" label="娑堟伅鏍忕洰:" prop="messageType">
+          <el-form-item
+            v-if="role.channelCode === '01'"
+            class="optionItem"
+            label="娑堟伅鏍忕洰:"
+            prop="messageType"
+          >
             <div class="message-item">
               <div class="message-item__left">
-                <el-select v-model="role.messageType" placeholder="璇烽�夋嫨娑堟伅鏍忕洰">
-                  <el-option v-for="item in colList" :key="item.id" :label="item.columnName"
-                             :value="item.id">
+                <el-select
+                  v-model="role.messageType"
+                  placeholder="璇烽�夋嫨娑堟伅鏍忕洰"
+                >
+                  <el-option
+                    v-for="item in colList"
+                    :key="item.id"
+                    :label="item.columnName"
+                    :value="item.id"
+                  >
                   </el-option>
                 </el-select>
               </div>
-              <span class="message-add" @click='dialogCreate = true'> 娣诲姞鏍忕洰</span>
+              <span class="message-add" @click="dialogCreate = true">
+                娣诲姞鏍忕洰</span
+              >
             </div>
           </el-form-item>
           <!-- 娑堟伅鏍囬 -->
           <el-form-item class="optionItems" label="娑堟伅鏍囬:" prop="head">
             <div class="message-item__left">
-              <el-input v-model="role.head" placeholder="璇烽�夋嫨娑堟伅鏍囬"></el-input>
+              <el-input
+                v-model="role.head"
+                placeholder="璇烽�夋嫨娑堟伅鏍囬"
+              ></el-input>
             </div>
           </el-form-item>
           <!-- 鎺ユ敹瀵硅薄 -->
           <el-form-item class="optionItem" label="鎺ユ敹瀵硅薄:" prop="targetTo">
             <div class="message-item__left">
-              <el-select v-model="role.targetTo" placeholder="璇烽�夋嫨鎺ユ敹瀵硅薄" >
+              <el-select v-model="role.targetTo" placeholder="璇烽�夋嫨鎺ユ敹瀵硅薄">
                 <el-option :value="role.targetTo">
-                  <el-tree ref="tree" :data="departList" :props="defaultProps" show-checkbox
-                           @check="handleCheck" default-expand-all node-key="id">
+                  <el-tree
+                    ref="tree"
+                    :data="departList"
+                    :props="defaultProps"
+                    show-checkbox
+                    @check="handleCheck"
+                    default-expand-all
+                    node-key="id"
+                  >
                   </el-tree>
                 </el-option>
               </el-select>
@@ -49,62 +79,94 @@
           </el-form-item>
           <el-form-item>
             <div class="optionBtn">
-              <el-button type="primary" @click.native.prevent="handleSubmit(0)" class="btn save">淇濆瓨
+              <el-button
+                type="primary"
+                @click.native.prevent="handleSubmit(0)"
+                class="btn save"
+                >淇濆瓨
               </el-button>
-              <el-button type="primary" @click.native.prevent="handleSubmit(1)" class="btn submit">鍙戝竷
+              <el-button
+                type="primary"
+                @click.native.prevent="handleSubmit(1)"
+                class="btn submit"
+                >鍙戝竷
               </el-button>
-              <el-button type="primary" @click.native.prevent="handleView" class="btn submit">棰勮
+              <el-button
+                type="primary"
+                @click.native.prevent="handleView"
+                class="btn submit"
+                >棰勮
               </el-button>
-              <el-button class="btn cancel" @click.native.prevent="handleReset">閲嶇疆</el-button>
+              <el-button class="btn cancel" @click.native.prevent="handleReset"
+                >閲嶇疆</el-button
+              >
             </div>
           </el-form-item>
         </el-form>
         <!-- 鏂板鏍忕洰 -->
-        <el-dialog title="娣诲姞鏍忕洰" :visible.sync="dialogCreate" v-if="dialogCreate" width="60%"
-                   :before-close="handleConfirmClose" append-to-body>
+        <el-dialog
+          title="娣诲姞鏍忕洰"
+          :visible.sync="dialogCreate"
+          v-if="dialogCreate"
+          width="60%"
+          :before-close="handleConfirmClose"
+          append-to-body
+        >
           <MyColumnAdd @closeDialog="closeDialog"></MyColumnAdd>
         </el-dialog>
         <!-- 棰勮娑堟伅 -->
-        <el-dialog title="娑堟伅棰勮" :visible.sync="dialogView" v-if="dialogView" width="60%"
-                   :before-close="handleConfirmClose" append-to-body>
-          <MyColView  :info="info" @closeDialog="closeDialog"></MyColView>
+        <el-dialog
+          title="娑堟伅棰勮"
+          :visible.sync="dialogView"
+          v-if="dialogView"
+          width="60%"
+          :before-close="handleConfirmClose"
+          append-to-body
+        >
+          <MyColView :info="info" @closeDialog="closeDialog"></MyColView>
         </el-dialog>
       </div>
     </main>
   </div>
 </template>
 <script>
-import MyEditor from '@/components/edit'
-import MyColumnAdd from '@/views/operate/message/mycontrol/createUser'
-import MyColView from '../messageView'
+import MyEditor from "@/components/edit";
+import MyColumnAdd from "@/views/operate/message/mycontrol/createUser";
+import MyColView from "../messageView";
 import { sendMessage, updateMessage } from "@/api/operate/messageManagement";
 
 export default {
   components: { MyEditor, MyColumnAdd, MyColView },
-  props: ['type', 'myDataRow'],
+  props: ["type", "myDataRow"],
   data() {
     return {
       role: {
-        messageType: '',
-        head: '',
-        targetTo: '',
+        messageType: "",
+        head: "",
+        targetTo: "",
         targetFrom: null,
-        body: '',
-        channelCode: '01',
+        body: "",
+        channelCode: "01",
       },
       createRoleRules: {
         messageType: [
-          { required: true, trigger: ['blur', 'change'], message: '璇疯緭鍏ユ秷鎭爮鐩�' },
+          {
+            required: true,
+            trigger: ["blur", "change"],
+            message: "璇疯緭鍏ユ秷鎭爮鐩�",
+          },
         ],
-        head: [
-          { required: true, trigger: "blur", message: '璇烽�夋嫨娑堟伅鏍囬'}
-        ],
+        head: [{ required: true, trigger: "blur", message: "璇烽�夋嫨娑堟伅鏍囬" }],
         targetTo: [
-          { required: true, trigger: "blur", message: '璇烽�夋嫨鎺ュ彈瀵硅薄' },
+          { required: true, trigger: "blur", message: "璇烽�夋嫨鎺ュ彈瀵硅薄" },
         ],
         body: [
-          { required: true, trigger: ['blue','change'], message: '璇疯緭鍏ユ秷鎭唴瀹�' }
-        ]
+          {
+            required: true,
+            trigger: ["blue", "change"],
+            message: "璇疯緭鍏ユ秷鎭唴瀹�",
+          },
+        ],
       },
       colList: [],
       departList: [],
@@ -112,41 +174,39 @@
       dialogCreate: false,
       dialogView: false,
       defaultProps: {
-        children: 'children',
-        label: 'departName'
+        children: "children",
+        label: "departName",
       },
       checkedList: [],
       tempNameArr: [],
       info: {},
-      sendUser: ''
-    }
+      sendUser: "",
+    };
   },
   created() {
     this.getColumnList();
     this.getDepartList();
     this.getLoginUserInfo();
-    if (this.type === 'update' && this.myDataRow) {
+    if (this.type === "update" && this.myDataRow) {
       this.role = this.myDataRow;
     }
   },
   methods: {
     // 鍏抽棴寮圭獥
     handleConfirmClose(done) {
-      this.$confirm('纭鍏抽棴?')
-          .then(_ => {
-            done();
-          })
+      this.$confirm("纭鍏抽棴?").then((_) => {
+        done();
+      });
     },
 
     // 鑾峰彇鏍忕洰
     async getColumnList() {
       await this.$axios({
-        method: 'get',
-        url: 'sccg/message_column/getAllColumn'
-      })
-          .then(res => {
-            this.colList = res.data;
-          })
+        method: "get",
+        url: "sccg/message_column/getAllColumn",
+      }).then((res) => {
+        this.colList = res.data;
+      });
     },
     // 鍏抽棴寮圭獥
     closeDialog({ flag, index }) {
@@ -160,30 +220,29 @@
     // 鑾峰彇閮ㄩ棬鏍�
     async getDepartList() {
       await this.$axios({
-        method: 'get',
-        url: 'sccg/depart/tree'
-      })
-          .then(res => {
-            res.data.forEach(item => {
-              this.departList.push(this.setChildren(item));
-            });
-          })
+        method: "get",
+        url: "sccg/depart/tree",
+      }).then((res) => {
+        res.data.forEach((item) => {
+          this.departList.push(this.setChildren(item));
+        });
+      });
     },
 
     // 閫掑綊children
     setChildren(obj) {
       if (obj.children !== null) {
         if (obj.children.length !== 0) {
-          obj.children.forEach(item => {
+          obj.children.forEach((item) => {
             return this.setChildren(item);
-          })
+          });
         }
       } else {
         if (obj.userInfoDTOS.length !== 0) {
           obj.children = [];
-          obj.userInfoDTOS.forEach(item => {
-            obj.children.push({ id: item.userId, departName: item.username })
-          })
+          obj.userInfoDTOS.forEach((item) => {
+            obj.children.push({ id: item.userId, departName: item.username });
+          });
         }
       }
       return obj;
@@ -191,49 +250,60 @@
 
     // 閫変腑id
     handleCheck(data, node) {
-      node.checkedNodes.forEach(item => {
-        if(!item.hasOwnProperty('departType')){
-          this.checkedList.push(item.id)
-          this.tempNameArr.push(item.departName)
+      node.checkedNodes.forEach((item) => {
+        if (!item.hasOwnProperty("departType")) {
+          this.checkedList.push(item.id);
+          this.tempNameArr.push(item.departName);
         }
-      })
-      this.role.targetTo = this.checkedList.length + '浜�'
+      });
+      this.role.targetTo = this.checkedList.length + "浜�";
     },
 
     // 鏂板缓/淇濆瓨娑堟伅(1:鏂板缓,0淇濆瓨娑堟伅)
     handleSubmit(mystatus) {
       this.$refs.user.validate((valid) => {
         if (valid) {
-          const { body, head, messageType, targetFrom, channelCode } = this.role;
+          const { body, head, messageType, targetFrom, channelCode } =
+            this.role;
           const params = {
             body,
             head,
             messageType,
             channelCode: `${channelCode}`,
             sendTime: new Date(),
-            targetTo: this.checkedList.join(','),
+            targetTo: this.checkedList.join(","),
             targetFrom: `${targetFrom}`,
             status: mystatus,
-          }
-          if (this.type === 'create') {
+          };
+          if (this.type === "create") {
             sendMessage(params)
-                .then(() => {
-                  this.$emit('closeMyDialog');
-                  this.$message({ type: 'success', message: '鎿嶄綔鎴愬姛' });
+              .then(() => {
+                this.$emit("closeMyDialog");
+                this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+              })
+              .catch((err) =>
+                this.$message({
+                  type: "error",
+                  message: err.data || err.message,
                 })
-                .catch(err => this.$message({ type: 'error', message: err }));
+              );
           } else {
             updateMessage(params)
-                .then(() => {
-                  this.$emit('closeMyDialog');
-                  this.$message({ type: 'success', message: '鎿嶄綔鎴愬姛' });
+              .then(() => {
+                this.$emit("closeMyDialog");
+                this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+              })
+              .catch((err) =>
+                this.$message({
+                  type: "error",
+                  message: err.data || err.message,
                 })
-                .catch(err => this.$message({ type: 'error', message: err }));
+              );
           }
         } else {
-          this.$message.error({ type: 'warning', message: '璇锋鏌ュ繀濉」' });
+          this.$message.error({ type: "warning", message: "璇锋鏌ュ繀濉」" });
         }
-      })
+      });
     },
 
     // 鑾峰緱娑堟伅浣�
@@ -250,15 +320,14 @@
 
     // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛淇℃伅
     getLoginUserInfo() {
-      const name = sessionStorage.getItem('name');
+      const name = sessionStorage.getItem("name");
       this.$axios({
-        method: 'get',
-        url: 'sccg/admin/info?name=' + name,
-      })
-          .then(res => {
-            this.role.targetFrom = res.data.userId
-            this.sendUser = res.data.username
-          })
+        method: "get",
+        url: "sccg/admin/info?name=" + name,
+      }).then((res) => {
+        this.role.targetFrom = res.data.userId;
+        this.sendUser = res.data.username;
+      });
     },
 
     // 娑堟伅棰勮
@@ -270,27 +339,32 @@
           this.info = {
             body,
             head,
-            channelCode: channelCode === '01'? '绔欏唴淇�': channelCode === '02' ? '閭欢':'鐭俊',
+            channelCode:
+              channelCode === "01"
+                ? "绔欏唴淇�"
+                : channelCode === "02"
+                ? "閭欢"
+                : "鐭俊",
             messageType: this.getColText(this.role.messageType),
             targetTo: this.tempNameArr,
-            targetFrom: this.sendUser
-          }
+            targetFrom: this.sendUser,
+          };
         } else {
-          this.$message({ type: 'warning', message: '璇锋鏌ュ繀濉」' });
+          this.$message({ type: "warning", message: "璇锋鏌ュ繀濉」" });
         }
-      })
+      });
     },
 
     // 鑾峰緱鏍忕洰娑堟伅
-    getColText(id){
-      let str = ''
-      this.colList.forEach(item=>{
-        item.id === id ? str = item.columnName : ''
-      })
+    getColText(id) {
+      let str = "";
+      this.colList.forEach((item) => {
+        item.id === id ? (str = item.columnName) : "";
+      });
       return str;
-    }
+    },
   },
-}
+};
 </script>
 <style lang="scss" scoped>
 .createUser {
@@ -388,7 +462,6 @@
           padding: 12px 50px;
         }
       }
-
     }
   }
 }
diff --git a/src/views/operate/video/index.vue b/src/views/operate/video/index.vue
index 16f938f..c0a78db 100644
--- a/src/views/operate/video/index.vue
+++ b/src/views/operate/video/index.vue
@@ -603,8 +603,9 @@
       margin-bottom: 10px;
 
       .type-item {
-        width: 80px;
+        min-width: 80px;
         text-align: center;
+        padding-right: 10px;
 
         &:hover {
           cursor: pointer;
diff --git a/src/views/operate/writManager/components/inquest_record/edit.vue b/src/views/operate/writManager/components/inquest_record/edit.vue
new file mode 100644
index 0000000..ecd9d33
--- /dev/null
+++ b/src/views/operate/writManager/components/inquest_record/edit.vue
@@ -0,0 +1,8 @@
+<template>
+  <div>inquest_record</div>
+</template>
+<script>
+export default {
+    
+}
+</script>
\ No newline at end of file
diff --git a/src/views/operate/writManager/components/inquest_record/view.vue b/src/views/operate/writManager/components/inquest_record/view.vue
new file mode 100644
index 0000000..026eb62
--- /dev/null
+++ b/src/views/operate/writManager/components/inquest_record/view.vue
@@ -0,0 +1,399 @@
+<template>
+  <div class="content">
+    <p style="margin: 0pt; orphans: 0; text-align: center; widows: 0">
+      <span style="font-family: 鏂规灏忔爣瀹嬬畝浣�; font-size: 22pt"
+        >锛堣鏀挎墽娉曟満鍏冲悕绉帮級</span
+      >
+    </p>
+    <p style="margin: 0pt; orphans: 0; text-align: center; widows: 0">
+      <span style="font-family: 鏂规灏忔爣瀹嬬畝浣�; font-size: 22pt"
+        >鐜板満鍕橀獙锛堟鏌ワ級绗斿綍</span
+      >
+    </p>
+    <p style="margin: 0pt; orphans: 0; text-align: justify; widows: 0">
+      <span style="font-family: 'Times New Roman'; font-size: 14pt"
+        >&#xa0;</span
+      >
+    </p>
+    <p style="margin: 0pt; orphans: 0; text-align: justify; widows: 0">
+      <span>鍕橀獙锛堟鏌ワ級鏃堕棿</span><span>锛�</span
+      ><span class="underline"
+        >{{ "\u3000\u3000\u3000\u3000\u3000\u3000" }}聽聽聽聽聽 </span
+      ><span>骞�</span
+      ><span class="underline">{{ "\u3000\u3000\u3000\u3000" }}</span
+      ><span>鏈�</span
+      ><span class="underline">{{ "\u3000\u3000\u3000\u3000" }}</span
+      ><span>鏃�</span
+      ><span class="underline">{{ "\u3000\u3000\u3000\u3000" }}</span
+      ><span>鏃�</span
+      ><span class="underline">{{ "\u3000\u3000\u3000\u3000" }}</span
+      ><span>鍒嗚嚦</span
+      ><span class="underline">{{ "\u3000\u3000\u3000\u3000" }}</span
+      ><span>鏃�</span
+      ><span class="underline">{{ "\u3000\u3000\u3000\u3000" }}</span
+      ><span>鍒�</span>
+    </p>
+    <p style="margin: 0pt; orphans: 0; text-align: justify; widows: 0">
+      <span>鍕橀獙锛堟鏌ワ級鍦扮偣锛�</span
+      ><span class="underline"
+        >{{
+          "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+        }}
+      </span>
+    </p>
+    <p style="margin: 0pt; orphans: 0; text-align: justify; widows: 0">
+      <span>鍕橀獙锛堟鏌ワ級浜猴細</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>鎵ф硶璇佸彿锛�</span
+      ><span class="underline"
+        >{{ "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000" }}
+      </span>
+    </p>
+    <p
+      style="
+        margin: 0pt;
+        orphans: 0;
+        text-align: justify;
+        text-indent: 92.5pt;
+        widows: 0;
+      "
+    >
+      <span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span class="underline"> </span><span>鎵ф硶璇佸彿锛�</span
+      ><span class="underline"
+        >{{ "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000" }}
+      </span>
+    </p>
+    <p style="margin: 0pt; orphans: 0; text-align: justify; widows: 0">
+      <span>璁�</span><span>聽聽聽 </span><span>褰�</span><span>聽聽聽 </span
+      ><span>浜猴細</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span class="underline"> </span><span>澶╂皵鎯呭喌</span><span>锛�</span
+      ><span class="underline"
+        >{{ "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000" }}
+      </span>
+    </p>
+    <p style="margin: 0pt; orphans: 0; text-align: justify; widows: 0">
+      <span>琚�</span><span>鍕橀獙锛堟鏌ワ級浜哄鍚嶆垨鍚嶇О</span><span>锛�</span
+      ><span class="underline"
+        >{{ "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000" }}
+      </span>
+    </p>
+    <p style="margin: 0pt; orphans: 0; text-align: justify; widows: 0">
+      <span>韬唤璇佸彿鎴栫粺涓�绀句細淇$敤浠g爜锛�</span
+      ><span class="underline"
+        >{{
+          "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+        }}聽聽聽聽聽聽聽聽聽聽聽
+      </span>
+    </p>
+    <p style="margin: 0pt; orphans: 0; text-align: justify; widows: 0">
+      <span>浣忓潃鎴栦綇鎵�锛�</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>鑱旂郴鐢佃瘽锛�</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span class="underline">聽 </span
+      ><span class="underline"
+        >{{ "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000" }}
+      </span>
+    </p>
+    <p style="margin: 0pt; orphans: 0; text-align: justify; widows: 0">
+      <span>鍦�</span><span> </span><span>鍦�</span><span> </span><span>浜猴細</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>鑱屽姟锛�</span
+      ><span class="underline"
+        >{{ "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000" }}
+      </span>
+    </p>
+    <p style="margin: 0pt; orphans: 0; text-align: justify; widows: 0">
+      <span>鑱旂郴鐢佃瘽锛�</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>涓�</span><span>鏈鍏崇郴锛�</span
+      ><span class="underline"
+        >{{ "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000" }}
+      </span>
+    </p>
+    <p style="margin: 0pt; orphans: 0; text-align: justify; widows: 0">
+      <span>瑙�</span><span> </span><span>璇�</span><span> </span><span>浜猴細</span
+      ><span class="underline"
+        >{{
+          "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+        }}聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
+      </span>
+    </p>
+    <p
+      style="
+        margin: 0pt;
+        orphans: 0;
+        text-align: justify;
+        text-indent: 24pt;
+        widows: 0;
+      "
+    >
+      <span>鍑虹ず璇佷欢銆佽〃鏄庤韩浠界殑璁板綍锛�</span><span>鎴戜滑鏄�</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span class="underline">聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </span
+      ><span
+        >鐨勮鏀挎墽娉曚汉鍛橈紝杩欐槸鎴戜滑鐨勬墽娉曡瘉浠讹紙鍑虹ず璇佷欢锛夛紝璇疯繃鐩‘璁ゃ�傜瓟锛�</span
+      ><span class="underline"> </span
+      ><span class="underline"
+        >{{
+          "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+        }}聽聽聽聽聽聽聽聽
+      </span>
+    </p>
+    <p
+      style="
+        margin: 0pt;
+        orphans: 0;
+        text-align: justify;
+        text-indent: 24pt;
+        widows: 0;
+      "
+    >
+      <span>鍛婄煡</span><span>鐩稿叧</span><span>鏉冨埄</span><span>鍜�</span
+      ><span>涔夊姟鐨勮褰曪細</span><span>鎴戜滑浠婂ぉ渚濇硶杩涜</span><span>鍕橀獙锛�</span
+      ><span>妫�鏌�</span><span>锛�</span><span>骞朵簡瑙f湁鍏虫儏鍐碉紝</span
+      ><span>鏈夊叧鍗曚綅鍜屼釜浜哄簲</span><span>褰�</span><span>绉瀬閰嶅悎</span
+      ><span>锛屽瀹炶鏄庢儏鍐靛苟鎻愪緵鏂囦欢銆佽祫鏂�</span><span>锛�</span
+      ><span>涓嶅緱鎷掔粷銆侀樆纰嶃�侀殣鐬掓垨鑰呮彁渚涜櫄鍋囨儏鍐�</span><span>銆傚悓鏃�</span
+      ><span
+        >濡傛灉璁や负鎴戜滑涓庢湰妗堟湁鍒╁鍏崇郴锛屽彲鑳藉奖鍝嶅叕姝e姙妗堬紝鍙互鐢宠鎴戜滑鍥為伩锛屽苟璇存槑鐞嗙敱銆�</span
+      ><span>璇烽棶鏄惁闇�瑕佹墽娉曚汉鍛樺洖閬匡紵绛旓細</span
+      ><span class="underline"
+        >{{ "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000" }}
+      </span>
+    </p>
+    <p
+      style="
+        margin: 0pt;
+        orphans: 0;
+        text-align: justify;
+        text-indent: 24pt;
+        widows: 0;
+      "
+    >
+      <span>鐜板満</span><span>鍕橀獙锛堟鏌ワ級</span><span>鎯呭喌</span><span>锛�</span
+      ><span class="underline"
+        >{{
+          "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+        }}聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </span
+      ><span class="underline"
+        >聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </span
+      ><span class="underline">锛堢瑪褰曞熬椤靛簲娉ㄦ槑</span
+      ><span
+        style="
+          font-family: 'Times New Roman';
+          font-size: 14pt;
+          text-decoration: underline;
+        "
+        >鈥�</span
+      ><span class="underline">涓婅堪绗斿綍鍐呭锛岃褰曞睘瀹�</span
+      ><span
+        style="
+          font-family: 'Times New Roman';
+          font-size: 14pt;
+          text-decoration: underline;
+        "
+        >鈥�</span
+      ><span class="underline">锛�</span><span class="underline"> </span
+      ><span class="underline">聽聽聽聽 </span
+      ><span class="underline">聽聽聽聽 </span>
+    </p>
+    <p
+      style="
+        margin: 0pt 3.5pt 0pt 0pt;
+        orphans: 0;
+        text-align: justify;
+        widows: 0;
+      "
+    >
+      <span style="font-family: 'Times New Roman'; font-size: 14pt"
+        >&#xa0;</span
+      >
+    </p>
+    <p
+      style="
+        margin: 0pt 3.5pt 0pt 0pt;
+        orphans: 0;
+        text-align: justify;
+        widows: 0;
+      "
+    >
+      <span>琚嫎楠岋紙妫�鏌ワ級浜虹鍚嶏細</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>聽 </span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>骞�</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>鏈�</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>鏃�</span>
+    </p>
+    <p
+      style="
+        margin: 0pt 3.5pt 0pt 0pt;
+        orphans: 0;
+        text-align: justify;
+        widows: 0;
+      "
+    >
+      <span>鍕橀獙锛堟鏌ワ級浜虹鍚嶏細</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>銆�</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>聽 </span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>骞�</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>鏈�</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>鏃�</span>
+    </p>
+    <p
+      style="
+        margin: 0pt 0pt 0pt 43.8pt;
+        orphans: 0;
+        padding-left: 262.8pt;
+        text-align: justify;
+        text-indent: -262.8pt;
+        widows: 0;
+      "
+    >
+      <span>璁板綍浜虹鍚嶏細</span><span>聽 </span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>聽 </span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>骞�</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>鏈�</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>鏃�</span>
+    </p>
+    <p
+      style="
+        margin: 0pt 3.5pt 0pt 0pt;
+        orphans: 0;
+        text-align: justify;
+        widows: 0;
+      "
+    >
+      <span>瑙佽瘉浜虹鍚嶏細</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>聽 </span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>骞�</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>鏈�</span
+      ><span class="underline">{{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}</span
+      ><span>鏃�</span>
+    </p>
+    <p
+      style="
+        margin: 0pt 3.5pt 0pt 0pt;
+        orphans: 0;
+        text-align: justify;
+        widows: 0;
+      "
+    >
+      <span>澶囨敞锛�</span><span>锛堝鏈夎璇佷汉锛屽簲澶囨敞瑙佽瘉浜鸿韩浠界瓑鍩烘湰淇℃伅锛�</span>
+    </p>
+    <p
+      style="
+        line-height: 22pt;
+        margin: 0pt;
+        orphans: 0;
+        text-align: right;
+        widows: 0;
+      "
+    >
+      <span style="font-family: 'Times New Roman'; font-size: 14pt"
+        >&#xa0;</span
+      >
+    </p>
+    <p style="margin: 0pt; orphans: 0; text-align: justify; widows: 0">
+      <span style="font-family: Calibri; font-size: 10.5pt">&#xa0;</span>
+    </p>
+  </div>
+</template>
+<script>
+export default {};
+</script>
+<style scoped>
+.content {
+  width: 90%;
+  margin: auto;
+  line-height: 2 !important;
+}
+
+span {
+  font-family: 浠垮畫_GB2312;
+  font-size: 14pt;
+}
+
+.underline {
+  text-decoration: underline;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/operate/writManager/components/instruct_notification/edit.vue b/src/views/operate/writManager/components/instruct_notification/edit.vue
new file mode 100644
index 0000000..0baa302
--- /dev/null
+++ b/src/views/operate/writManager/components/instruct_notification/edit.vue
@@ -0,0 +1,8 @@
+<template>
+  <div></div>
+</template>
+<script>
+export default {
+    
+}
+</script>
\ No newline at end of file
diff --git a/src/views/operate/writManager/components/instruct_notification/view.vue b/src/views/operate/writManager/components/instruct_notification/view.vue
new file mode 100644
index 0000000..533d8d5
--- /dev/null
+++ b/src/views/operate/writManager/components/instruct_notification/view.vue
@@ -0,0 +1,262 @@
+<template>
+  <div class="content">
+    <p
+      style="
+        line-height: 34pt;
+        margin: 0pt;
+        orphans: 0;
+        text-align: center;
+        widows: 0;
+      "
+    >
+      <span style="font-family: 鏂规灏忔爣瀹嬬畝浣�; font-size: 22pt"
+        >锛堣鏀挎墽娉曟満鍏冲悕绉帮級</span
+      >
+    </p>
+    <p
+      style="
+        line-height: 34pt;
+        margin: 0pt;
+        orphans: 0;
+        text-align: center;
+        widows: 0;
+      "
+    >
+      <span style="font-family: 鏂规灏忔爣瀹嬬畝浣�; font-size: 22pt"
+        >璐d护鏀规閫氱煡涔�</span
+      >
+    </p>
+    <p
+      style="
+        line-height: 34pt;
+        margin: 0pt;
+        orphans: 0;
+        text-align: right;
+        widows: 0;
+      "
+    >
+      <span class="font-weight underline"
+        >{{ "\u3000\u3000\u3000\u3000\u3000\u3000" }}聽聽</span
+      ><span class="font-weight">缁兼墽璐�</span
+      ><span class="font-weight">鏀归��</span><span class="font-weight">瀛�</span
+      ><span class="font-weight">銆�</span><span class="font-weight">聽聽 </span
+      ><span class="font-weight">銆�</span><span class="font-weight">绗�</span
+      ><span class="font-weight">聽聽 </span><span class="font-weight">鍙�</span>
+    </p>
+    <p style="margin: 0pt; orphans: 0; text-align: justify; widows: 0">
+      <span
+        style="color: #060606; font-family: 'Times New Roman'; font-size: 14pt"
+        >&#xa0;</span
+      >
+    </p>
+    <p
+      style="
+        line-height: 26pt;
+        margin: 0pt;
+        orphans: 0;
+        text-align: justify;
+        widows: 0;
+      "
+    >
+      <span>褰撲簨浜猴細</span><span class="underline">聽 </span
+      ><span class="underline">锛堝綋浜嬩汉濮撳悕鎴栬�呭悕绉帮級</span
+      ><span class="underline">聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </span>
+    </p>
+    <p
+      style="
+        line-height: 26pt;
+        margin: 0pt;
+        orphans: 0;
+        text-align: justify;
+        widows: 0;
+      "
+    >
+      <span>鍦� </span><span> </span><span>鍧�锛�</span
+      ><span class="underline">聽 </span
+      ><span class="underline">锛堝綋浜嬩汉瀹跺涵浣忓潃鎴栬�呬綇鎵�鍦帮級</span
+      ><span class="underline">聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </span>
+    </p>
+    <p
+      style="
+        line-height: 26pt;
+        margin: 0pt;
+        orphans: 0;
+        text-align: justify;
+        text-indent: 24pt;
+        widows: 0;
+      "
+    >
+      <span>缁忔煡锛屼綘锛堝崟浣嶏級</span><span class="underline">聽 </span
+      ><span class="underline">聽聽 </span
+      ><span class="underline"
+        >锛堝啓鏄庡綋浜嬩汉鐨勮繚娉曚簨瀹炲寘鎷繚娉曠殑鏃堕棿銆佸湴鐐瑰拰鍏蜂綋杩濇硶琛屼负鍐呭绛夛級</span
+      ><span class="underline"
+        >聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </span
+      ><span>銆�</span><span>浣狅紙鍗曚綅锛夌殑</span><span>涓婅堪</span><span>琛屼负</span
+      ><span>宸茬粡</span><span>杩濆弽浜�</span>
+    </p>
+
+    <span class="underline">
+      {{
+        "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+      }}聽聽
+    </span>
+    <span>鐨勮瀹�</span><span>銆�</span>
+    <p
+      style="
+        line-height: 26pt;
+        margin: 0pt;
+        orphans: 0;
+        text-align: justify;
+        text-indent: 24pt;
+        widows: 0;
+      "
+    >
+      <span style="color: #060606; font-family: 浠垮畫_GB2312; font-size: 14pt"
+        >渚濇嵁</span
+      ><span
+        style="
+          color: #060606;
+          font-family: 浠垮畫_GB2312;
+          font-size: 14pt;
+          text-decoration: underline;
+        "
+        >{{
+          "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+        }}聽</span
+      ><span style="color: #060606; font-family: 浠垮畫_GB2312; font-size: 14pt"
+        >鐨勮瀹氾紝鐜拌矗浠や綘锛堝崟浣嶏級</span
+      ><span
+        style="
+          color: #060606;
+          font-family: 浠垮畫_GB2312;
+          font-size: 14pt;
+          text-decoration: underline;
+        "
+        >聽聽聽聽聽聽聽聽聽聽聽聽聽
+        锛堝啓鏄庢敼姝g殑鍏蜂綋鍐呭銆佽姹傦紝娉ㄦ槑閫炬湡涓嶆敼鎴栬�呮嫆涓嶆敼姝e簲鎵挎媴鐨勬硶寰嬭矗浠伙級 </span
+      ><span
+        style="
+          color: #060606;
+          font-family: 浠垮畫_GB2312;
+          font-size: 14pt;
+          text-decoration: underline;
+        "
+        >{{
+          "\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000"
+        }}聽</span
+      ><span
+        style="
+          color: #060606;
+          font-family: 浠垮畫_GB2312;
+          font-size: 14pt;
+          text-decoration: underline;
+        "
+        >聽聽 </span
+      ><span style="color: #060606; font-family: 浠垮畫_GB2312; font-size: 14pt"
+        >銆�</span
+      >
+    </p>
+    <p
+      style="
+        line-height: 26pt;
+        margin: 0pt 1.4pt 0pt 0pt;
+        orphans: 0;
+        text-align: justify;
+        text-indent: 22.9pt;
+        widows: 0;
+      "
+    >
+      <span style="font-family: 'Times New Roman'; font-size: 14pt"
+        >&#xa0;</span
+      >
+    </p>
+    <p
+      style="
+        line-height: 26pt;
+        margin: 0pt 1.4pt 0pt 0pt;
+        orphans: 0;
+        text-align: justify;
+        text-indent: 22.9pt;
+        widows: 0;
+      "
+    >
+      <span style="font-family: 'Times New Roman'; font-size: 14pt"
+        >&#xa0;</span
+      >
+    </p>
+    <p
+      style="
+        line-height: 26pt;
+        margin: 0pt 1.4pt 0pt 0pt;
+        orphans: 0;
+        text-align: justify;
+        text-indent: 22.9pt;
+        widows: 0;
+      "
+    >
+      <span style="font-family: 'Times New Roman'; font-size: 14pt"
+        >&#xa0;</span
+      >
+    </p>
+    <p class="right_span">
+      <span style="font-family: 'Times New Roman'; font-size: 14pt"
+        >&#xa0;</span
+      >
+    </p>
+    <p class="right_span">
+      <span>琛屾斂鎵ф硶鏈哄叧鍏ㄧО锛�</span><span>鍗扮珷</span><span>锛�</span>
+    </p>
+    <p class="right_span">
+      <span>{{ "\u3000\u3000\u3000\u3000" }}</span
+      ><span>骞�</span> <span>{{ "\u3000\u3000\u3000\u3000" }}</span
+      ><span>鏈�</span> <span>{{ "\u3000\u3000\u3000\u3000" }}</span
+      ><span>鏃�</span>
+      <span>{{ "\u3000" }}</span>
+    </p>
+    <p
+      style="
+        margin: 0pt;
+        orphans: 0;
+        text-align: justify;
+        text-indent: 11.4pt;
+        widows: 0;
+      "
+    >
+      <span style="font-family: Calibri; font-size: 10.5pt">&#xa0;</span>
+    </p>
+    <p style="margin: 0pt; orphans: 0; text-align: justify; widows: 0">
+      <span style="font-family: Calibri; font-size: 10.5pt">&#xa0;</span>
+    </p>
+  </div>
+</template>
+<script>
+export default {};
+</script>
+
+<style scoped>
+.content {
+  width: 90%;
+  margin: auto;
+  line-height: 2 !important;
+}
+
+span {
+  font-family: 浠垮畫_GB2312;
+  font-size: 14pt;
+}
+.font-weight {
+  font-weight: bold;
+}
+.underline {
+  text-decoration: underline;
+}
+
+.right_span {
+  line-height: 26pt;
+  margin: 0pt 7pt 0pt 0pt;
+  orphans: 0;
+  text-align: right;
+  widows: 0;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/operate/writManager/writ/index.vue b/src/views/operate/writManager/writ/index.vue
new file mode 100644
index 0000000..a47dc4b
--- /dev/null
+++ b/src/views/operate/writManager/writ/index.vue
@@ -0,0 +1,383 @@
+<template>
+  <div class="list">
+    <header>
+      <div class="header-content">
+        <div class="search">
+          <span style="padding-right: 20px">绛涢�夋潯浠�:</span>
+          <el-select
+            v-model="context"
+            placeholder="绛涢�夋潯浠�"
+            @change="handleStateChange"
+          >
+            <el-option
+              v-for="item in options"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </div>
+      </div>
+    </header>
+    <main>
+      <div class="main-content">
+        <div class="main-title">
+          <el-button class="el-icon-plus" type="primary" @click="handleAdd"
+            >娣诲姞</el-button
+          >
+        </div>
+        <!-- 鏁版嵁灞曠ず -->
+        <el-table
+          ref="multipleTable"
+          :header-cell-style="{
+            background: '#06122c',
+            'font-size': '12px',
+            color: '#4b9bb7',
+            'font-weight': '650',
+            'line-height': '45px',
+          }"
+          :row-class-name="tableRowClassName"
+          :data="list"
+          style="width: 100%"
+        >
+          <el-table-column type="selection" min-width="5"> </el-table-column>
+          <el-table-column prop="name" label="鍗曞叺鍚嶇О" min-width="10">
+          </el-table-column>
+          <el-table-column prop="code" label="鍗曞叺缂栧彿" min-width="10">
+          </el-table-column>
+          <el-table-column prop="user" label="浣跨敤浜哄憳" min-width="10">
+          </el-table-column>
+          <el-table-column prop="phone" label="鑱旂郴鏂瑰紡" min-width="10">
+          </el-table-column>
+          <el-table-column prop="pdepartName" label="鎵�灞為儴闂�" min-width="10">
+          </el-table-column>
+          <el-table-column prop="departName" label="鎵�灞炲ぇ闃�" min-width="10">
+          </el-table-column>
+
+          <el-table-column
+            prop="state"
+            :formatter="formatSate"
+            label="鐘舵��"
+            min-width="5"
+          >
+          </el-table-column>
+
+          <el-table-column prop="operation" label="鎿嶄綔" min-width="20">
+            <template slot-scope="scope">
+              <div class="operation">
+                <span @click="handleEdit(scope.row)">缂栬緫</span>
+                <span class="line">|</span>
+                <span @click="handleDelete(scope.row)">鍒犻櫎</span>
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+
+      <!-- tools -->
+      <div class="tools">
+        <div class="funs"></div>
+        <div class="pagination">
+          <el-pagination
+            background
+            :current-page="currentPage"
+            layout="prev, pager, next"
+            :total="totalNum"
+            :page-size="pageSize"
+            @current-change="changeCurrentPage"
+            @prev-click="handlePrev"
+            @next-click="handleNext"
+          >
+          </el-pagination>
+        </div>
+      </div>
+    </main>
+    <footer>
+      <!-- 娣诲姞闊虫煴 -->
+      <el-dialog
+        title="娣诲姞闊虫煴"
+        :visible.sync="dialogCreate"
+        v-if="dialogCreate"
+        width="60%"
+        :before-close="handleClose"
+      >
+        <MyForm :info="handheldTerminal" @closeDialog="handleCallBack"></MyForm>
+      </el-dialog>
+    </footer>
+  </div>
+</template>
+  <script>
+import { createNamespacedHelpers } from "vuex";
+const { mapActions } = createNamespacedHelpers("writ");
+
+import InquestRecord from "../components/inquest_record/view.vue";
+import Notification from "../components/instruct_notification/view.vue";
+
+export default {
+  components: {
+    InquestRecord,
+    Notification,
+  },
+  data() {
+    return {
+      dialogCreate: false,
+      context: null,
+      options: [
+        {
+          value: null,
+          label: "鍏ㄩ儴",
+        },
+        {
+          value: 1,
+          label: "鍦ㄧ嚎",
+        },
+        {
+          value: 0,
+          label: "绂荤嚎",
+        },
+      ],
+      list: [],
+      totalNum: 0,
+      pageSize: 10,
+      currentPage: 1,
+      renderFlag: false,
+      handheldTerminal: {},
+    };
+  },
+  created() {
+    this.setTableData();
+  },
+  methods: {
+    ...mapActions(["getHandheldTerminalList", "deleteHandheldTerminal"]),
+    handleAdd() {
+      this.handheldTerminal = {
+        id: 0,
+        name: "",
+        code: "",
+        user: "",
+        phone: "",
+        departId: 0,
+        departName: "",
+      };
+      this.dialogCreate = true;
+    },
+    handleEdit(row) {
+      this.handheldTerminal = row;
+      this.dialogCreate = true;
+    },
+    handleDelete(row) {
+      this.$confirm("纭鍒犻櫎锛�").then((_) => {
+        this.deleteHandheldTerminal(row.id).then((res) => {
+          this.$message({
+            type: "success",
+            message: "鍒犻櫎鎴愬姛锛�",
+          });
+          this.setTableData();
+        });
+      });
+    },
+
+    handleCallBack(e) {
+      this.currentPage = 1;
+      this.dialogCreate = false;
+      this.setTableData();
+    },
+    formatSate(row, column) {
+      return row.state == 1 ? "鍦ㄧ嚎" : "绂荤嚎";
+    },
+
+    // 璁剧疆琛ㄦ牸鏂戦┈绾�
+    tableRowClassName({ row, rowIndex }) {
+      if ((rowIndex + 1) % 2 == 0) {
+        return "warning-row";
+      } else {
+        return "success-row";
+      }
+      return "";
+    },
+    // 寮圭獥鍏抽棴
+    handleClose(done) {
+      this.$confirm("纭鍏抽棴?").then((_) => {
+        this.dialogCreate = false;
+        done();
+      });
+    },
+    // 璁剧疆tableData
+    setTableData() {
+      const { currentPage, pageSize, context } = this;
+      this.getHandheldTerminalList({
+        currentPage,
+        pageSize,
+        state: context,
+      }).then((res) => {
+        this.list = res.records;
+        this.totalNum = res.total;
+      });
+    },
+    handleStateChange(e) {
+      this.setTableData();
+    },
+    // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+    changeCurrentPage(page) {
+      this.currentPage = page;
+      this.setTableData();
+    },
+    // 涓婁竴椤电偣鍑讳簨浠�
+    handlePrev(page) {
+      this.currentPage = page;
+      this.setTableData();
+    },
+    // 涓嬩竴椤电偣鍑讳簨浠�
+    handleNext(page) {
+      this.currentPage = page;
+      this.setTableData();
+    },
+  },
+};
+</script>
+  <style lang="scss" scoped>
+.list {
+  text-align: left;
+  margin: 10px 20px;
+  color: #4b9bb7;
+
+  header {
+    background-color: #09152f;
+    border: 1pox solid #fff;
+
+    .header-content {
+      padding: 0 40px;
+      display: flex;
+      line-height: 100px;
+      justify-content: space-between;
+      align-items: center;
+
+      .search {
+        display: flex;
+        justify-content: flex-start;
+
+        span {
+          flex: 1;
+        }
+
+        .el-input {
+          flex: 2;
+          color: #1d3f57;
+
+          &::v-deep .el-input__inner {
+            background-color: #09152f;
+            border: 1px solid #17324c;
+          }
+        }
+      }
+    }
+  }
+
+  main {
+    background-color: #09152f;
+    margin-top: 20px;
+    padding-bottom: 50px;
+    border: 1pox solid #fff;
+
+    .main-title {
+      line-height: 60px;
+      padding: 10px 20px;
+    }
+
+    .tools {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      padding: 0 20px;
+
+      .funs {
+        display: flex;
+
+        .funsItem {
+          line-height: 28px;
+          display: flex;
+          align-items: center;
+          border: 1px solid #17324c;
+          border-radius: 4px;
+          font-size: 12px;
+          margin-left: 10px;
+
+          .el-checkbox {
+            width: 80px;
+            padding: 0 10px;
+          }
+
+          .el-select {
+            width: 120px;
+          }
+
+          &::v-deep .el-input__inner {
+            border: none;
+            background-color: #09152f;
+          }
+
+          &:hover {
+            border: 1px solid #4b9bb7;
+          }
+
+          &:hover .el-checkbox {
+            color: #4b9bb7;
+          }
+        }
+      }
+
+      .pagination {
+        margin-top: 50px;
+        display: flex;
+        line-height: 50px;
+        justify-content: center;
+
+        .el-pagination {
+          &::v-deep li,
+          &::v-deep .btn-prev,
+          &::v-deep .btn-next {
+            background-color: #071f39;
+            color: #4b9bb7;
+          }
+
+          &::v-deep .active {
+            background-color: #409eff;
+            color: #fff;
+          }
+        }
+      }
+    }
+    &::v-deep .warning-row {
+      background-color: #06122c;
+    }
+
+    &::v-deep .success-row {
+      background-color: #071f39;
+    }
+
+    .operationBox {
+      display: flex;
+    }
+
+    .el-divider {
+      background-color: #4b9bb7;
+    }
+    .el-table {
+      color: #4b9bb7;
+      font-size: 10px;
+      .operation {
+        display: flex;
+
+        .line {
+          padding: 0 5px;
+        }
+
+        span:hover {
+          cursor: pointer;
+        }
+      }
+    }
+  }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/operate/writManager/writTemplate/index.vue b/src/views/operate/writManager/writTemplate/index.vue
new file mode 100644
index 0000000..2d03c33
--- /dev/null
+++ b/src/views/operate/writManager/writTemplate/index.vue
@@ -0,0 +1,327 @@
+<template>
+  <div class="list">
+    <header>
+      <div class="header-content">
+        <div class="search">
+          <span>绛涢�夋潯浠�:</span>
+          <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="context"></el-input>
+          <div class="findBtn">
+            <el-button type="primary" @click="setTableData">鏌ヨ</el-button>
+          </div>
+        </div>
+      </div>
+    </header>
+    <main>
+      <div class="main-content">
+        <!-- 鏁版嵁灞曠ず -->
+        <el-table
+          ref="multipleTable"
+          :header-cell-style="{
+            background: '#06122c',
+            'font-size': '12px',
+            color: '#4b9bb7',
+            'font-weight': '650',
+            'line-height': '45px',
+          }"
+          :row-class-name="tableRowClassName"
+          :data="list"
+          style="width: 100%"
+        >
+          <el-table-column type="selection" min-width="5"> </el-table-column>
+          <el-table-column prop="id" label="ID" min-width="6">
+          </el-table-column>
+          <el-table-column prop="name" label="妯℃澘" min-width="20">
+          </el-table-column>
+          <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
+          </el-table-column>
+
+          <el-table-column prop="operation" label="鎿嶄綔" min-width="20">
+            <template slot-scope="scope">
+              <div class="operation">
+                <span @click="handleView(scope.row)">鏌ョ湅</span>
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+
+      <!-- tools -->
+      <div class="tools">
+        <div class="funs"></div>
+        <div class="pagination">
+          <el-pagination
+            background
+            :current-page="currentPage"
+            layout="prev, pager, next"
+            :total="totalNum"
+            :page-size="pageSize"
+            @current-change="changeCurrentPage"
+            @prev-click="handlePrev"
+            @next-click="handleNext"
+          >
+          </el-pagination>
+        </div>
+      </div>
+    </main>
+    <footer>
+      <!-- 鏌ョ湅妯℃澘 -->
+      <el-dialog
+        title="鏌ョ湅妯℃澘"
+        :visible.sync="dialogCreate"
+        v-if="dialogCreate"
+        width="60%"
+      >
+        <component :is="componentName"></component>
+      </el-dialog>
+    </footer>
+  </div>
+</template>
+  <script>
+import { createNamespacedHelpers } from "vuex";
+const { mapActions } = createNamespacedHelpers("writ");
+
+import InquestRecord from "../components/inquest_record/view.vue";
+import Notification from "../components/instruct_notification/view.vue";
+
+export default {
+  components: {
+    InquestRecord,
+    Notification,
+  },
+  data() {
+    return {
+      dialogCreate: false,
+      context: null,
+      list: [],
+      totalNum: 0,
+      pageSize: 10,
+      currentPage: 1,
+      renderFlag: false,
+    };
+  },
+  created() {
+    this.setTableData();
+  },
+  methods: {
+    ...mapActions(["getWritTemplateList"]),
+
+    handleView(row) {
+      switch (row.code) {
+        case "inquest_record":
+          this.componentName = InquestRecord;
+          break;
+        case "instruct_to_correct_notification":
+          this.componentName = Notification;
+          break;
+      }
+      this.dialogCreate = true;
+    },
+
+    // 璁剧疆琛ㄦ牸鏂戦┈绾�
+    tableRowClassName({ row, rowIndex }) {
+      if ((rowIndex + 1) % 2 == 0) {
+        return "warning-row";
+      } else {
+        return "success-row";
+      }
+      return "";
+    },
+    // 璁剧疆tableData
+    setTableData() {
+      const { currentPage, pageSize, context } = this;
+      this.getWritTemplateList({
+        currentPage,
+        pageSize,
+        state: context,
+      }).then((res) => {
+        this.list = res.records;
+        this.totalNum = res.total;
+      });
+    },
+
+    // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+    changeCurrentPage(page) {
+      this.currentPage = page;
+      this.setTableData();
+    },
+    // 涓婁竴椤电偣鍑讳簨浠�
+    handlePrev(page) {
+      this.currentPage = page;
+      this.setTableData();
+    },
+    // 涓嬩竴椤电偣鍑讳簨浠�
+    handleNext(page) {
+      this.currentPage = page;
+      this.setTableData();
+    },
+  },
+};
+</script>
+  <style lang="scss" scoped>
+.list {
+  text-align: left;
+  margin: 10px 20px;
+  color: #4b9bb7;
+
+  header {
+    background-color: #09152f;
+    border: 1pox solid #fff;
+
+    .header-content {
+      padding: 0 40px;
+      display: flex;
+      line-height: 100px;
+      justify-content: space-between;
+      align-items: center;
+
+      .search {
+        display: flex;
+        justify-content: flex-start;
+
+        span {
+          flex: 1;
+        }
+
+        .el-input {
+          flex: 2;
+          color: #1d3f57;
+
+          &::v-deep .el-input__inner {
+            background-color: #09152f;
+            border: 1px solid #17324c;
+          }
+        }
+      }
+    }
+  }
+
+  main {
+    background-color: #09152f;
+    margin-top: 20px;
+    padding-bottom: 50px;
+    border: 1pox solid #fff;
+
+    .main-title {
+      line-height: 60px;
+      padding: 10px 20px;
+    }
+
+    .tools {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      padding: 0 20px;
+
+      .funs {
+        display: flex;
+
+        .funsItem {
+          line-height: 28px;
+          display: flex;
+          align-items: center;
+          border: 1px solid #17324c;
+          border-radius: 4px;
+          font-size: 12px;
+          margin-left: 10px;
+
+          .el-checkbox {
+            width: 80px;
+            padding: 0 10px;
+          }
+
+          .el-select {
+            width: 120px;
+          }
+
+          &::v-deep .el-input__inner {
+            border: none;
+            background-color: #09152f;
+          }
+
+          &:hover {
+            border: 1px solid #4b9bb7;
+          }
+
+          &:hover .el-checkbox {
+            color: #4b9bb7;
+          }
+        }
+      }
+
+      .pagination {
+        margin-top: 50px;
+        display: flex;
+        line-height: 50px;
+        justify-content: center;
+
+        .el-pagination {
+          &::v-deep li,
+          &::v-deep .btn-prev,
+          &::v-deep .btn-next {
+            background-color: #071f39;
+            color: #4b9bb7;
+          }
+
+          &::v-deep .active {
+            background-color: #409eff;
+            color: #fff;
+          }
+        }
+      }
+    }
+    &::v-deep .warning-row {
+      background-color: #06122c;
+    }
+
+    &::v-deep .success-row {
+      background-color: #071f39;
+    }
+
+    .operationBox {
+      display: flex;
+    }
+
+    .el-divider {
+      background-color: #4b9bb7;
+    }
+    .el-table {
+      color: #4b9bb7;
+      font-size: 10px;
+      .operation {
+        display: flex;
+
+        .line {
+          padding: 0 5px;
+        }
+
+        span:hover {
+          cursor: pointer;
+        }
+      }
+    }
+  }
+  .findBtn {
+    line-height: 100px;
+    margin-left: 15px;
+    display: flex;
+    align-items: center;
+    margin-top: -2px;
+
+    .el-button {
+      padding: 12px 25px;
+      border-radius: 20px;
+    }
+  }
+}
+
+// 璁剧疆dialog鏍峰紡
+::v-deep .el-dialog__body {
+  background-color: #fff;
+  color: #000;
+}
+
+::v-deep .el-dialog__header {
+  background-color: #06122c !important;
+  color: #fff;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.8.0