zhanghua
2022-11-16 ef5d28c21618b6fcd3cae08004b15570169dbb0c
文书模板
6个文件已修改
8个文件已添加
1733 ■■■■■ 已修改文件
src/api/operate/messageManagement.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/operate/writ.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/index.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/operate/writ.js 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/images/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/message/myIndex/update/index.vue 283 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/video/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/writManager/components/inquest_record/edit.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/writManager/components/inquest_record/view.vue 399 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/writManager/components/instruct_notification/edit.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/writManager/components/instruct_notification/view.vue 262 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/writManager/writ/index.vue 383 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/writManager/writTemplate/index.vue 327 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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) {
src/api/operate/writ.js
New file
@@ -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);
    },
};
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'),
    }
    ]
  },
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
  }
})
src/store/operate/writ.js
New file
@@ -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);
        },
    },
};
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;
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;
        }
      }
    }
  }
}
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;
src/views/operate/writManager/components/inquest_record/edit.vue
New file
@@ -0,0 +1,8 @@
<template>
  <div>inquest_record</div>
</template>
<script>
export default {
}
</script>
src/views/operate/writManager/components/inquest_record/view.vue
New file
@@ -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>身份证号或统一社会信用代码:</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>并了解有关情况,</span
      ><span>有关单位和个人应</span><span>当</span><span>积极配合</span
      ><span>,如实说明情况并提供文件、资料</span><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>情况</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>
src/views/operate/writManager/components/instruct_notification/edit.vue
New file
@@ -0,0 +1,8 @@
<template>
  <div></div>
</template>
<script>
export default {
}
</script>
src/views/operate/writManager/components/instruct_notification/view.vue
New file
@@ -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"
        >责令改正通知书</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;
        "
        >             
        (写明改正的具体内容、要求,注明逾期不改或者拒不改正应承担的法律责任) </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>
src/views/operate/writManager/writ/index.vue
New file
@@ -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>
src/views/operate/writManager/writTemplate/index.vue
New file
@@ -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>