Просмотр исходного кода

更改表格,新增页面,工作计划

sunyanqiang 3 лет назад
Родитель
Сommit
bb674b9811

+ 7 - 0
src/api/medicalhealth/recuperate.js

@@ -59,4 +59,11 @@ export function getreciuperUser(id) {
     method: 'get',
     params: { deptId: id }
   })
+}
+// 获取审批人全部用户
+export function getreciuperUsers() {
+  return request({
+    url: 'system/user/lists',
+    method: 'get',
+  })
 }

+ 44 - 0
src/api/workingArrangements/worktaskplan.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询任务计划基本信息列表
+export function listWorktaskplan(query) {
+  return request({
+    url: '/workingArrangements/worktaskplan/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询任务计划基本信息详细
+export function getWorktaskplan(id) {
+  return request({
+    url: '/workingArrangements/worktaskplan/' + id,
+    method: 'get'
+  })
+}
+
+// 新增任务计划基本信息
+export function addWorktaskplan(data) {
+  return request({
+    url: '/workingArrangements/worktaskplan',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改任务计划基本信息
+export function updateWorktaskplan(data) {
+  return request({
+    url: '/workingArrangements/worktaskplan',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除任务计划基本信息
+export function delWorktaskplan(id) {
+  return request({
+    url: '/workingArrangements/worktaskplan/' + id,
+    method: 'delete'
+  })
+}

+ 0 - 38
src/components/look_word/a.json

@@ -1,38 +0,0 @@
-{
-    "...": "...",
-    "b": {
-        "主食": [
-            {searchValue: null, createBy: null, createTime: null, updateBy: null, updateTime: null, remark: null,…
-            },
-            {searchValue: null, createBy: null, createTime: null, updateBy: null, updateTime: null, remark: null,…
-            },
-            {searchValue: null, createBy: null, createTime: null, updateBy: null, updateTime: null, remark: null,…
-            }
-        ],
-        "副食": [
-            {searchValue: null, createBy: null, createTime: null, updateBy: null, updateTime: null, remark: null,…
-            },
-            {searchValue: null, createBy: null, createTime: null, updateBy: null, updateTime: null, remark: null,…
-            },
-            {searchValue: null, createBy: null, createTime: null, updateBy: null, updateTime: null, remark: null,…
-            }
-        ]
-    }
-}
-
-v-for item in data.b  key
-item =>   [
-    {searchValue: null, createBy: null, createTime: null, updateBy: null, updateTime: null, remark: null,…
-    },
-    {searchValue: null, createBy: null, createTime: null, updateBy: null, updateTime: null, remark: null,…
-    },
-    {searchValue: null, createBy: null, createTime: null, updateBy: null, updateTime: null, remark: null,…
-    }
-],
- v-for i in {}
- item => {searchValue: null, createBy: null, createTime: null, updateBy: null, updateTime: null, remark: null,…
-},
-{
-    {i.id
-    }
-}

+ 0 - 368
src/components/look_word/a.text

@@ -1,368 +0,0 @@
-<template>
-  <div>
-    <el-button class="box1" @click="daochu">导出</el-button>
-
-    <div class="word" id="contents">
-      <p
-        style="
-          font-size: 16pt;
-          font-weight: 600;
-
-          color: black;
-          font-family: 'heiti';
-        "
-      >
-        《训练器材、教材登记簿》
-      </p>
-      <!-- <div class="fTitle">顶级分类训练器材、教材登记簿</div> -->
-      <p
-        align="left"
-        style="
-          font-size: 15pt;
-          font-weight: 500;
-          color: black;
-
-          margin-bottom: 5px;
-          font-family: 'heiti';
-        "
-      >
-        审核:
-      </p>
-      <table
-        class="b1"
-        border="1"
-        style="
-          border-collapse: collapse;
-          border: none;
-          mso-border-left-alt: 0.5pt solid windowtext;
-          mso-border-top-alt: 0.5pt solid windowtext;
-          mso-border-right-alt: 0.5pt solid windowtext;
-          mso-border-bottom-alt: 0.5pt solid windowtext;
-          mso-border-insideh: 0.5pt solid windowtext;
-          mso-border-insidev: 0.5pt solid windowtext;
-          mso-padding-alt: 0pt 0pt 0pt 0pt;
-        "
-        width="930"
-        bordercolor="black"
-      >
-        <!--<p align="center" style="font-size: 14pt;font-weight: bold;">顶级分类-训练器材、教材登记簿</p>-->
-
-        <tbody style="font-size: 16px; font-weight: 500">
-          <tr class="JR_tr">
-            <td width="37" valign="center" rowspan="2" class="JR_left">
-              <p align="center" style="font-family: 'heiti'">序<br />号</p>
-            </td>
-            <td width="66" valign="center" rowspan="2" class="JR_left">
-              <p align="center" style="font-family: 'heiti'">类别</p>
-            </td>
-            <td width="85" valign="center" rowspan="2" class="JR_left">
-              <p align="center" style="font-family: 'heiti'">名称</p>
-            </td>
-            <td width="274" valign="center" colspan="5" class="JR_left">
-              <p align="center" style="font-family: 'heiti'">库存情况</p>
-            </td>
-            <td width="179" valign="center" colspan="3" class="JR_left">
-              <p align="center" style="font-family: 'heiti'">入库情况</p>
-            </td>
-            <td width="179" valign="center" colspan="3" class="JR_left">
-              <p align="center" style="font-family: 'heiti'">出库情况</p>
-            </td>
-            <td width="56" valign="center" rowspan="2" class="JR_left">
-              <p align="center" style="font-family: 'heiti'">质量<br />状况</p>
-            </td>
-            <td width="56" valign="center" rowspan="2" class="JR_left">
-              <p align="center" style="font-family: 'heiti'">备注</p>
-            </td>
-          </tr>
-          <tr class="JR_tr">
-            <td width="66" valign="center" class="JR_left">
-              <p align="center" style="font-family: 'heiti'">
-                配发 <br />
-                单位
-              </p>
-            </td>
-            <td width="56" valign="center" class="JR_left">
-              <p align="center" style="font-family: 'heiti'">
-                配发 <br />
-                时间
-              </p>
-            </td>
-            <td width="47" valign="center">
-              <p align="center" style="font-family: 'heiti'" class="JR_left">
-                配发<br />
-                数量
-              </p>
-            </td>
-            <td width="47" valign="center">
-              <p align="center" style="font-family: 'heiti'" class="JR_left">
-                自筹<br />
-                数量
-              </p>
-            </td>
-            <td width="47" valign="center">
-              <p align="center" style="font-family: 'heiti'" class="JR_left">
-                库存<br />
-                数量
-              </p>
-            </td>
-            <td width="56" valign="center">
-              <p align="center" class="JR_left" style="font-family: 'heiti'">
-                时间
-              </p>
-            </td>
-            <td width="47" valign="center">
-              <p align="center" class="JR_left" style="font-family: 'heiti'">
-                数量
-              </p>
-            </td>
-            <td width="75" valign="center">
-              <p align="center" class="JR_left" style="font-family: 'heiti'">
-                经手人
-              </p>
-            </td>
-            <td width="56" valign="center">
-              <p align="center" class="JR_left" style="font-family: 'heiti'">
-                时间
-              </p>
-            </td>
-            <td width="47" valign="center">
-              <p align="center" class="JR_left" style="font-family: 'heiti'">
-                数量
-              </p>
-            </td>
-            <td width="75" valign="center">
-              <p align="center" class="JR_left" style="font-family: 'heiti'">
-                经手人
-              </p>
-            </td>
-          </tr>
-
-          <tr
-            class="JR_tr"
-            style="font-family: 'fangsong'"
-            v-for="(item, i) in num"
-            :key="i"
-          >
-            {{
-              i
-            }}
-            <td v-for="(item, index) in arr[2]" :key="index">
-              {{ item }}
-
-              <!-- <td width="37" valign="center">
-              <p align="center">{{ item.id }}</p>
-            </td>
-            <td width="66" valign="center" rowspan="1" class="JR_right">
-              <p align="center">{{ item.type }}</p>
-            </td>
-            <td width="85" valign="center">
-              <p align="center" class="JR_right">{{ item.title }}</p>
-            </td>
-            <td width="66" valign="center">
-              <p align="center" class="JR_right">{{ item.unitName }}</p>
-            </td>
-            <td width="56" valign="center">
-              <p align="center" class="JR_right">{{ item.granttime }}</p>
-            </td>
-            <td width="47" valign="center">
-              <p align="center" class="JR_right">{{ item.grantnum }}</p>
-            </td>
-            <td width="47" valign="center">
-              <p align="center" class="JR_right">{{ item.ownnum }}</p>
-            </td>
-            <td width="56" valign="center">
-              <p align="center" class="JR_right">{{ item.stocknum }}</p>
-            </td>
-            <td width="56" valign="center">
-              <p align="center" class="JR_right">{{ item.intime }}</p>
-            </td>
-            <td width="47" valign="center">
-              <p align="center" class="JR_right">{{ item.innum }}</p>
-            </td>
-            <td width="75" valign="center">
-              <p align="center" class="JR_right">{{ item.peopleName }}</p>
-            </td>
-            <td width="56" valign="center">
-              <p align="center" class="JR_right">{{ item.outtime }}</p>
-            </td>
-            <td width="47" valign="center">
-              <p align="center" class="JR_right">{{ item.outnum }}</p>
-            </td>
-            <td width="75" valign="center">
-              <p align="center" class="JR_right">{{ item.people1Name }}</p>
-            </td>
-            <td width="56" valign="center">
-              <p align="center" class="JR_right">{{ item.quality }}</p>
-            </td>
-            <td width="56" valign="center">
-              <p align="center" class="JR_right">{{ item.info }}</p>
-            </td> -->
-            </td>
-          </tr>
-
-          <tr>
-            <td width="37" valign="center" style="font-family: 'heiti'">
-              <p align="center">
-                填<br />
-                写<br />
-                说<br />
-                明 <br />
-              </p>
-            </td>
-            <td
-              width="897"
-              valign="center"
-              colspan="15"
-              v-html="message.info"
-              style="font-family: 'fangsong'"
-            >
-              <p></p>
-            </td>
-          </tr>
-        </tbody>
-        <tr
-          class="JR_tr"
-          style="
-            border: none;
-            color: black;
-            font-size: 12pt;
-            font-weight: 700;
-            line-height: 30px;
-          "
-        >
-          <td
-            class="JR_right"
-            colspan="6"
-            align="left"
-            style="border: none; line-height: 45px; font-family: 'heiti'"
-          >
-            军事主官:
-          </td>
-          <td
-            class="JR_right"
-            colspan="7"
-            align="left"
-            style="border: none; line-height: 45px; font-family: 'heiti'"
-          >
-            政治主官:
-          </td>
-          <td
-            class="JR_right"
-            colspan="3"
-            align="left"
-            style="border: none; line-height: 45px; font-family: 'heiti'"
-          >
-            时间:
-          </td>
-        </tr>
-      </table>
-      <!-- <div
-        class="a1"
-        style="
-          width: 100%;
-          height: 50px;
-          font-size: 16px;
-          font-weight: 600;
-          color: black;
-          display: flex;
-          justify-content: space-between;
-        "
-      >
-        <p style="">军事主官:</p>
-        <p class="aa">政治主官:</p>
-        <p style="">时间:</p>
-      </div> -->
-    </div>
-  </div>
-</template>
-<script>
-import { lookWord } from "@/utils/look_word.js";
-
-import "@/utils/lodJs.js";
-export default {
-  name: "bdgleven",
-  props: ["message"],
-  data() {
-    return {
-      title: "训练器材、教材登记簿",
-      num: [],
-      num1: [],
-      num2: [],
-      arr: [],
-      style:
-        ".b1{width:860px !important};.JR_tr {height: 40px;};.JR_left{width: 120px;font-size: 1.151em; font-family: '楷体_GB2312';};.JR_right{ font-size: 1.231em; font-family: 仿宋_GB2312;};.JR_bottom{border-left:0; font-size: 1.331em; font-family: 仿宋_GB2312; text-align: right};",
-    };
-  },
-  created() {
-    this.message.forEach((item, i) => {
-      if (this.num.length <= 0) {
-        this.num.push(item.type);
-        this.arr[i] = {};
-        this.arr[i][item.type] = [];
-        this.arr[i][item.type].push(item);
-      } else {
-        
-        if(this.num.indexOf(item.type) == -1){
-          this.num.push(item.type);
-          const len = this.arr.length +1
-          this.arr[len] = {}
-          this.arr[len][item.type] = []
-          this.arr[len][item.type].push(item)
-        } else {
-          for (let j = 0; j < this.arr.length; j++) {
-          if (item.type == Object.keys(this.arr[j])) {
-            // this.arr[j].push(item)
-            this.arr[j][item.type].push(item);
-          }
-        }
-        }
-      }
-
-      // if(this.num.indexOf(item.type) == -1){
-      //   console.log(i);
-      //   this.arr[i] = {}
-      //   this.arr[i][item.type] = []
-      //   this.arr[i][item.type].push(item)
-      // }
-
-      // else {
-      //   console.log(i);
-      //   this.arr[i] = {}
-      //   this.arr[i][item.type] = []
-      //   this.arr[i][item.type].push(item)
-      // }
-      // else {
-      //   for (let i = 0; i < this.arr.length; i++) {
-      //     if (item.type == Object.keys(this.arr[i])) {
-      //       this.arr[i][item.type].push(item)
-      //     }
-      //     // console.log(this.arr);
-      //   }
-      // }
-      // console.log(this.arr);
-    });
-    // console.log(this.arr);
-  },
-  methods: {
-    daochu() {
-      lookWord(this.title, "#contents", this.style, true);
-    },
-  },
-};
-</script>
-<style scoped>
-tbody {
-  color: #fff;
-  text-align: center;
-}
-tr:last-child {
-  border-bottom: 1px solid;
-}
-.box1 {
-  position: absolute;
-  right: 30px;
-  top: 80px;
-  border: 1px solid rgb(129, 130, 131);
-  border-radius: 5px;
-}
-</style>

+ 10 - 5
src/components/look_word/bdglcookbook.vue

@@ -490,8 +490,8 @@
   </div>
 </template>
 <script>
-import { lookWord } from "@/utils/look_word.js";
-
+// import { lookWord } from "@/utils/look_word.js";
+import exportWord from "@/utils/exportWord.js";
 import "@/utils/lodJs.js";
 export default {
   name: "bdgleven",
@@ -499,13 +499,18 @@ export default {
   data() {
     return {
       title: "食堂食谱表",
-      style:
-        ".b1{width:860px !important};.JR_tr {height: 40px;};.JR_left{width: 120px;font-size: 1.131em; font-family: '楷体_GB2312';};.JR_right{ font-size: 1.131em; font-family: 仿宋_GB2312;};.JR_bottom{border-left:0; font-size: 1.131em; font-family: 仿宋_GB2312; text-align: right}.bottom {font-size: 14px;display: flex;justify-content:center;}",
+      faith: {
+        fileName: "食堂食谱表", //文档名
+        fileType: ".doc", //文档类型  经测试  可以doc xls html 其他的自己去试
+        direction: "Horizontal", //默认或不填写为纵向,Horizontal 为横向
+        dom: "#contents", // dom节点
+        dev: "margin:102.0pt 62.3pt 102.0pt 62.3pt;",
+      },
     };
   },
   methods: {
     daochu() {
-      lookWord(this.title, "#contents", this.style, true);
+      exportWord(this.faith);
     },
   },
 };

+ 361 - 149
src/components/look_word/bdgldiary.vue

@@ -2,23 +2,90 @@
   <div class="box">
     <el-button class="box1" @click="daochu">导出</el-button>
     <div class="word" id="contents">
-      <div class="title" style=" font-size: 16pt;font-weight: 600;text-align: center;margin-bottom: 10px;">
+      <div
+        class="title"
+        style="
+          font-size: 16pt;
+          font-weight: 600;
+          text-align: center;
+          margin-bottom: 10px;
+        "
+      >
         《{{ title }}》
       </div>
-      <table>
+      <table
+        border="0"
+        style="
+          width: 585px;
+          color: black;
+          font-size: 16px;
+          font-weight: 500;
+          border: 0;
+        "
+        id="b1"
+      >
+        <tr style="border: 0; font-family: '宋体'">
+          <td style="border: 0; width: 173px" align="center">
+            {{ message.blogDate | dataFormats }}
+          </td>
+          <td style="border: 0; font-family: '宋体'" align="left">
+            <span>{{ message.week }}</span>
+            天气:<span>{{ message.weather }}</span>
+          </td>
+          <td
+            style="border: 0; font-family: '宋体'; width: 127px"
+            align="center"
+          >
+            值班员:
+            <span>{{ message.peopleName }}</span>
+          </td>
+        </tr>
+      </table>
+
+      <table
+        style="
+          margin-bottom: 30px;
+          border-collapse: collapse;
+          table-layout: fixed;
+          text-align: center;
+          color: black !important;
+        "
+        id="b2"
+      >
         <tr class="JR_tr" align="center" style="font-family: '宋体'">
-          <td colspan="2" rowspan="2" class="JR_left" style="font-family: '宋体'">
+          <td
+            colspan="2"
+            rowspan="2"
+            class="JR_left"
+            style="font-family: '宋体'"
+          >
             实力
           </td>
-          <td colspan="6" height="33" style="letter-spacing: 10px; font-family: '宋体'" class="JR_left">
+          <td
+            colspan="6"
+            height="33"
+            style="letter-spacing: 10px; font-family: '宋体'"
+            class="JR_left"
+          >
             编制人数
           </td>
-          <td colspan="6" style="letter-spacing: 10px; font-family: '宋体'" class="JR_left">
+          <td
+            colspan="6"
+            style="letter-spacing: 10px; font-family: '宋体'"
+            class="JR_left"
+          >
             现有人数
           </td>
         </tr>
         <tr class="JR_tr" align="center">
-          <td class="JR_left" height="33" width="46" style="font-family: '宋体'">干部</td>
+          <td
+            class="JR_left"
+            height="33"
+            width="46"
+            style="font-family: '宋体'"
+          >
+            干部
+          </td>
           <td class="JR_left" width="46" style="font-family: '仿宋_GB2312'">
             {{ message.orgcadre }}
           </td>
@@ -64,15 +131,30 @@
             </p>
           </td>
-          <td rowspan="2" width="51" class="JR_left" style="font-family: '宋体'">
+          <td
+            rowspan="2"
+            width="51"
+            class="JR_left"
+            style="font-family: '宋体'"
+          >
             区<br />
           </td>
-          <td colspan="9" rowspan="2" style="letter-spacing: 20px; font-family: '宋体'" class="JR_left"
-            align="center">
+          <td
+            colspan="9"
+            rowspan="2"
+            style="letter-spacing: 20px; font-family: '宋体'"
+            class="JR_left"
+            align="center"
+          >
             内容
           </td>
-          <td colspan="3" class="JR_left" height="22" style="font-family: '宋体'">
+          <td
+            colspan="3"
+            class="JR_left"
+            height="22"
+            style="font-family: '宋体'"
+          >
             人数
           </td>
         </tr>
@@ -82,11 +164,22 @@
           <td class="JR_left" width="52" style="font-family: '宋体'">到课率</td>
         </tr>
         <tr v-for="(item, i) in message.contextData" :key="i + '     '">
-          <td height="88">{{item.dateline}}</td>
-          <td align="left" colspan="9" v-html="aaa(item.contents)"></td>
-          <td>{{item.shouldArrive}}</td>
-          <td>{{item.realTo}}</td>
-          <td>{{bbb(item.percentage)}}</td>
+          <td height="88">{{ item.dateline }}</td>
+          <td align="left" colspan="9">
+            <p v-html="aaa(item.contents)" style="margin-left: 7px"></p>
+          </td>
+          <td>{{ item.shouldArrive }}</td>
+          <td>{{ item.realTo }}</td>
+          <td>{{ bbb(item.percentage) }}</td>
+        </tr>
+        <tr v-for="(item, i) in meiShuJu" :key="i + '      '">
+          <td height="88">{{ item.dateline }}</td>
+          <td align="left" colspan="9">
+            <p style="margin-left: 7px"></p>
+          </td>
+          <td></td>
+          <td></td>
+          <td></td>
         </tr>
         <!-- 公差勤务 -->
         <tr class="JR_tr" height="45">
@@ -95,8 +188,13 @@
               公差勤务
             </p>
           </td>
-          <td align="left" style="font-family: '仿宋_GB2312'" colspan="12" class="JR_right" v-html="message.tolerance">
-          </td>
+          <td
+            align="left"
+            style="font-family: '仿宋_GB2312'"
+            colspan="12"
+            class="JR_right"
+            v-html="message.tolerance"
+          ></td>
         </tr>
         <!-- 人员装备变动 -->
         <tr class="JR_tr" height="61">
@@ -106,14 +204,19 @@
               装备变动
             </p>
           </td>
-          <td align="left" style="font-family: '仿宋_GB2312'" colspan="12" class="JR_right" height="56"
-            v-html="message.transfer">
-          </td>
+          <td
+            align="left"
+            style="font-family: '仿宋_GB2312'"
+            colspan="12"
+            class="JR_right"
+            height="56"
+            v-html="message.transfer"
+          ></td>
         </tr>
         <!-- 武器装备检查情况 -->
         <tr class="JR_tr" height="207">
           <td rowspan=":count($xlian)" colspan="2" class="JR_left">
-            <p align="center" style="font-family: '宋体';">
+            <p align="center" style="font-family: '宋体'">
               武 、 <br />
               器 内 <br />
               装 务 <br />
@@ -125,11 +228,25 @@
               纪 况<br />
             </p>
           </td>
-          <td align="left" style="font-family: '仿宋_GB2312'" colspan="12" class="JR_right" v-html="message.internal">
-          </td>
+          <td
+            align="left"
+            style="font-family: '仿宋_GB2312'"
+            colspan="12"
+            class="JR_right"
+            v-html="message.internal"
+          ></td>
         </tr>
       </table>
-      <table>
+
+      <table
+        style="
+          border-collapse: collapse;
+          table-layout: fixed;
+          text-align: center;
+          color: black !important;
+        "
+        id="b2"
+      >
         <!-- 查铺查哨 -->
         <tr class="JR_tr" style="font-family: '宋体'">
           <td :rowspan="chapu.rowspan" class="JR_left" width="57">
@@ -153,12 +270,20 @@
             <span align="center" style="font-family: '宋体'">卫兵姓名</span>
           </td>
           <td class="JR_left" colspan="8" width="280">
-            <span align="center" style="letter-spacing: 10px; font-family: '宋体'">
+            <span
+              align="center"
+              style="letter-spacing: 10px; font-family: '宋体'"
+            >
               检 查 情 况
             </span>
           </td>
         </tr>
-        <tr v-for="(item, index) in message.inspect" :key="index + '  '" class="JR_tr" style="font-family: '仿宋'">
+        <tr
+          v-for="(item, index) in message.inspect"
+          :key="index + '  '"
+          class="JR_tr"
+          style="font-family: '仿宋'"
+        >
           <td class="JR_right" height="33">
             <span align="center">{{ item.peopleName }}</span>
           </td>
@@ -175,17 +300,17 @@
             <span align="center">{{ item.dialogue }}</span>
           </td>
         </tr>
-        <tr v-for="index in chapu.list" :key="index + ''" class="JR_tr" style="font-family: '仿宋'">
-          <td class="JR_right" height="33">
-          </td>
-          <td class="JR_right">
-          </td>
-          <td class="JR_right">
-          </td>
-          <td class="JR_right" colspan="2">
-          </td>
-          <td class="JR_right" colspan="8">
-          </td>
+        <tr
+          v-for="index in chapu.list"
+          :key="index + ''"
+          class="JR_tr"
+          style="font-family: '仿宋'"
+        >
+          <td class="JR_right" height="33"></td>
+          <td class="JR_right"></td>
+          <td class="JR_right"></td>
+          <td class="JR_right" colspan="2"></td>
+          <td class="JR_right" colspan="8"></td>
         </tr>
         <tr class="JR_tr" style="font-family: '宋体'">
           <td class="JR_left" rowspan="4">
@@ -197,7 +322,9 @@
             </p>
           </td>
           <td class="JR_left" height="26">
-            <span align="center" style="font-family: '宋体';height:20px">职务</span>
+            <span align="center" style="font-family: '宋体'; height: 20px"
+              >职务</span
+            >
           </td>
           <td class="JR_left">
             <p align="center" style="font-family: '宋体'">交班者</p>
@@ -233,7 +360,7 @@
           </td>
           <td class="JR_right" colspan="8">
             <span align="center">
-              {{message.dutyinfoa}}
+              {{ message.dutyinfoa }}
             </span>
           </td>
         </tr>
@@ -249,13 +376,18 @@
               {{ message.dutyd }}
             </p>
           </td>
-          <td class="JR_left" rowspan="2" colspan="2" style="font-family: '仿宋'">
+          <td
+            class="JR_left"
+            rowspan="2"
+            colspan="2"
+            style="font-family: '仿宋'"
+          >
             <div style="margin-bottom: 10px">交接时间</div>
             时 分
           </td>
           <td class="JR_right" colspan="8">
             <span align="center" style="仿宋">
-              {{message.dutyinfoc}}
+              {{ message.dutyinfoc }}
             </span>
           </td>
         </tr>
@@ -273,7 +405,7 @@
           </td>
           <td class="JR_right" colspan="8" style="font-family: '仿宋'">
             <span align="center">
-              {{message.dutyinfoe}}
+              {{ message.dutyinfoe }}
             </span>
           </td>
         </tr>
@@ -302,23 +434,45 @@
             <span align="center" style="font-family: '宋体'">时 间</span>
           </td>
           <td class="JR_left" colspan="8">
-            <span align="center" style="letter-spacing: 3px; font-family: '宋体'">
+            <span
+              align="center"
+              style="letter-spacing: 3px; font-family: '宋体'"
+            >
               病 号 及 处 理 情 况
             </span>
           </td>
         </tr>
         <tr class="JR_tr" align="center">
-          <td class="JR_left" width="42" height="23" style="font-family: '宋体'">
+          <td
+            class="JR_left"
+            width="42"
+            height="23"
+            style="font-family: '宋体'"
+          >
             来队
           </td>
-          <td class="JR_left" width="38" height="23" style="font-family: '宋体'">
+          <td
+            class="JR_left"
+            width="38"
+            height="23"
+            style="font-family: '宋体'"
+          >
             离队
           </td>
-          <td style="font-family: '仿宋'" class="JR_right" colspan="8" :rowspan="qinshu.rowspan - 1"
-            v-html="message.invalid">
-          </td>
+          <td
+            style="font-family: '仿宋'"
+            class="JR_right"
+            colspan="8"
+            :rowspan="qinshu.rowspan - 1"
+            v-html="message.invalid"
+          ></td>
         </tr>
-        <tr style="font-family: '仿宋'" class="JR_tr" v-for="(item1, i) in message.kinsfolk" :key="i + ' '">
+        <tr
+          style="font-family: '仿宋'"
+          class="JR_tr"
+          v-for="(item1, i) in message.kinsfolk"
+          :key="i + ' '"
+        >
           <td class="JR_right" height="33">
             <span align="center">{{ item1.peopleName }}</span>
           </td>
@@ -336,18 +490,18 @@
             <span align="center">{{ item1.leaveDate }}</span>
           </td>
         </tr>
-        <tr style="font-family: '仿宋'" class="JR_tr" v-for="i in qinshu.list" :key="i + '  '">
-          <td class="JR_right" height="33">
-          </td>
-          <td class="JR_right">
-          </td>
+        <tr
+          style="font-family: '仿宋'"
+          class="JR_tr"
+          v-for="i in qinshu.list"
+          :key="i + '  '"
+        >
+          <td class="JR_right" height="33"></td>
+          <td class="JR_right"></td>
 
-          <td class="JR_right">
-          </td>
-          <td class="JR_right">
-          </td>
-          <td class="JR_right">
-          </td>
+          <td class="JR_right"></td>
+          <td class="JR_right"></td>
+          <td class="JR_right"></td>
         </tr>
         <tr class="JR_tr" align="center" style="font-family: '宋体'">
           <td :rowspan="qingjia.rowspan" class="JR_left">
@@ -363,12 +517,14 @@
             </span>
           </td>
-          <td class="JR_left" style="font-family: '宋体'" height="36">姓&nbsp; 名</td>
+          <td class="JR_left" style="font-family: '宋体'" height="36">
+            姓&nbsp; 名
+          </td>
           <td class="JR_left" style="font-family: '宋体'">职&nbsp; 务</td>
           <td class="JR_left" colspan="2" style="font-family: '宋体'">
             事&nbsp;&nbsp;&nbsp; 由
           </td>
-          <td class="JR_left" colspan="2" style="font-family: '宋体'">
+          <td class="JR_left" colspan="1" style="font-family: '宋体'">
             时数或 <br />
             天&nbsp; 数
           </td>
@@ -389,7 +545,12 @@
             时(天)数
           </td>
         </tr>
-        <tr class="JR_tr" style="font-family: '仿宋'" v-for="(item, i) in message.bdglLeaves" :key="i+'   '">
+        <tr
+          class="JR_tr"
+          style="font-family: '仿宋'"
+          v-for="(item, i) in message.bdglLeaves"
+          :key="i + '   '"
+        >
           <td class="JR_right">
             <p align="center">{{ item.peopleName }}</p>
           </td>
@@ -401,7 +562,7 @@
           <td class="JR_right" colspan="2">
             <p align="center">{{ item.leaveReason }}</p>
           </td>
-          <td class="JR_right" colspan="2">
+          <td class="JR_right" colspan="1">
             <p align="center">{{ time[i] }}</p>
           </td>
           <td class="JR_right" colspan="2">
@@ -417,29 +578,32 @@
             <p align="center">{{ guiTime[i] }}</p>
           </td>
         </tr>
-        <tr class="JR_tr" height="30" style="font-family: '仿宋'" v-for="i in qingjia.list" :key="i+'    '">
-          <td class="JR_right">
-          </td>
+        <tr
+          class="JR_tr"
+          height="30"
+          style="font-family: '仿宋'"
+          v-for="i in qingjia.list"
+          :key="i + '    '"
+        >
+          <td class="JR_right"></td>
           <td class="JR_right">
-            <p align="center">
-            </p>
-          </td>
-          <td class="JR_right" colspan="2">
-          </td>
-          <td class="JR_right" colspan="2">
-          </td>
-          <td class="JR_right" colspan="2">
-          </td>
-          <td class="JR_right" colspan="2">
-          </td>
-          <td class="JR_right" colspan="2">
-          </td>
-          <td class="JR_right" colspan="3">
-          </td>
+            <p align="center"></p>
+          </td>
+          <td class="JR_right" colspan="2"></td>
+          <td class="JR_right" colspan="1"></td>
+          <td class="JR_right" colspan="2"></td>
+          <td class="JR_right" colspan="2"></td>
+          <td class="JR_right" colspan="2"></td>
+          <td class="JR_right" colspan="3"></td>
         </tr>
         <!-- 上级通知 -->
         <tr class="JR_tr">
-          <td class="JR_left" width="101" height="255" style="font-family: '宋体'">
+          <td
+            class="JR_left"
+            width="101"
+            height="255"
+            style="font-family: '宋体'"
+          >
             <span align="center" style="font-family: '宋体'">
               上 <br />
               级 <br />
@@ -457,8 +621,39 @@
             </span>
           </td>
-          <td class="JR_right" align="left" colspan="15" style="white-space: normal; font-family: '仿宋'"
-            v-html="message.notice"></td>
+          <td
+            class="JR_right"
+            align="left"
+            colspan="15"
+            style="white-space: normal; font-family: '仿宋'"
+            v-html="message.notice"
+          ></td>
+        </tr>
+      </table>
+
+      <table
+        id="b1"
+        border="none"
+        style="
+          width: 600px;
+          color: black;
+          font-size: 16px;
+          font-weight: 500;
+          border: none;
+        "
+      >
+        <tr style="border: none; font-family: '宋体'">
+          <td style="border: none" align="center" width="264">
+            <p style="border: none; font-family: '宋体'">
+              连队首长签字: {{ message.sz }}
+            </p>
+          </td>
+          <td style="border: none; width: 172px"></td>
+          <td style="border: none; font-family: '宋体'" align="center">
+            <p style="border: none; font-family: '宋体'; margin-left: 30px">
+              {{ message.blogDate | dataFormaty }}
+            </p>
+          </td>
         </tr>
       </table>
     </div>
@@ -466,7 +661,7 @@
 </template>
 <script>
 // import '@/utils/jquery.wordexport.js'
-import exportWord from '@/utils/exportWord.js'
+import exportWord from "@/utils/exportWord.js";
 export default {
   name: "bdgleven",
   props: ["message"],
@@ -476,11 +671,11 @@ export default {
       title: "连队要事日记",
       chapu: {
         rowspan: 0,
-        list: 0
+        list: 0,
       },
       qinshu: {
         rowspan: 0,
-        list: 0
+        list: 0,
       },
       week: "",
       qinshu2: 0,
@@ -489,17 +684,18 @@ export default {
       guiTime: [],
       qingjia: {
         rowspan: 0,
-        list: 0
+        list: 0,
       },
       xlist: {},
+      meiShuJu: [],
       faith: {
-        fileName: "连队要事日记",//文档名
-        fileType: ".doc",//文档类型  经测试  可以doc xls html 其他的自己去试
+        fileName: "连队要事日记", //文档名
+        fileType: ".doc", //文档类型  经测试  可以doc xls html 其他的自己去试
         // header: '测试页眉',//页眉标题
         // footer: '测试页脚',//页脚标题
-        direction: '', //默认或不填写为纵向,Horizontal 为横向
-        dom: '#contents', // dom节点
-        dev: 'margin:102.0pt 73.8pt 102.0pt 73.8pt;',
+        direction: "", //默认或不填写为纵向,Horizontal 为横向
+        dom: "#contents", // dom节点
+        dev: "margin:80.0pt 62.3pt 102.0pt 62.3pt;",
         style: `table {
                   border-collapse: collapse;
                   table-layout: fixed;
@@ -508,7 +704,7 @@ export default {
                   font-size: 1em;
                 }
 
-                td {
+               #b2 td {
                   border: 1px solid !important;
                   padding: 0;
                   border-bottom: 1px solid !important;
@@ -516,8 +712,8 @@ export default {
                 
                 .JR_left{font-size: 1em; font-family: '楷体_GB2312';}
                 .JR_right{ font-size: 1em; font-family: 仿宋_GB2312_GB2312;}
-                `
-      }
+                `,
+      },
     };
   },
   created() {
@@ -527,41 +723,57 @@ export default {
     this.qinshu2 = this.qinshus2();
     this.xunlian();
     this.qingjias();
-    this.xunlians()
-  },
-  mounted() {
+    this.xunlians();
   },
+  mounted() {},
 
   methods: {
     daochu() {
-      exportWord(this.faith)
+      exportWord(this.faith);
     },
-    aaa(raw){
-      if(raw !=""||raw !=null){
-        return raw =null
-      }else{
-        return raw.replaceAll(',','<br/>')
+    aaa(raw) {
+      if (raw != "" || raw != null) {
+        return raw.replaceAll(",", "<br/>");
+      } else {
+        return (raw = null);
       }
-      
     },
-    bbb(raw){
-       if(raw !=""||raw !=null){
-        return raw =null
-      }else{
-      return raw.replace('.00','')
+    bbb(raw) {
+      if (raw != "" || raw != null) {
+        return raw.replace(".00", "");
+      } else {
+        return (raw = null);
       }
     },
-    xunlians(){
-      console.log(this.message.contextData);
+    xunlians() {
+      if (this.message.contextData) {
+      } else {
+        this.number = 6;
+        this.meiShuJu = [
+          {
+            dateline: "早晨",
+          },
+          {
+            dateline: "上午",
+          },
+          {
+            dateline: "下午",
+          },
+          {
+            dateline: "晚上",
+          },
+        ];
+      }
+      // console.log(this.message.contextData);
+      // console.log(this.message.contextData.早晨);
       // const a = this.message.contextData.早晨 !== null && this.message.contextData.早晨 !== "",
       //       b = this.message.contextData.上午 !== null && this.message.contextData.上午 !== "",
       //       c = this.message.contextData.下午 !== null && this.message.contextData.下午 !== "",
       //       d = this.message.contextData.晚上 !== null && this.message.contextData.晚上 !== ""
-            // console.log(a);
-            // console.log(b);            
-            // console.log(c);
-            // console.log(d );
-
+      // console.log(a);
+      // console.log(b);
+      // console.log(c);
+      // console.log(d );
       //   this.xlist.早晨 = this.message.contextData.早晨
       //   this.xlist.上午 = this.message.contextData.上午
       //   this.xlist.下午 = this.message.contextData.下午
@@ -571,32 +783,32 @@ export default {
     chapus() {
       if (this.message.inspect != null) {
         if (this.message.inspect.length >= 2) {
-          this.chapu.rowspan = this.message.inspect.length + 1
-          this.chapu.list = 0
+          this.chapu.rowspan = this.message.inspect.length + 1;
+          this.chapu.list = 0;
         } else {
-          this.chapu.rowspan = (2 - this.message.inspect.length) + this.message.inspect.length + 1
-          this.chapu.list = (2 - this.message.inspect.length)
+          this.chapu.rowspan =
+            2 - this.message.inspect.length + this.message.inspect.length + 1;
+          this.chapu.list = 2 - this.message.inspect.length;
         }
       } else {
-        this.chapu.rowspan = 3
-        this.chapu.list = 2
+        this.chapu.rowspan = 3;
+        this.chapu.list = 2;
       }
-
     },
     qinshus() {
       if (this.message.kinsfolk != null) {
         if (this.message.kinsfolk.length >= 3) {
-          this.qinshu.rowspan = 2 + this.message.kinsfolk.length
-          this.qinshu.list = 0
+          this.qinshu.rowspan = 2 + this.message.kinsfolk.length;
+          this.qinshu.list = 0;
         } else {
-          this.qinshu.rowspan = (3 - this.message.kinsfolk.length) + this.message.kinsfolk.length + 2
-          this.qinshu.list = (3 - this.message.kinsfolk.length)
+          this.qinshu.rowspan =
+            3 - this.message.kinsfolk.length + this.message.kinsfolk.length + 2;
+          this.qinshu.list = 3 - this.message.kinsfolk.length;
         }
       } else {
-        this.qinshu.rowspan = 5
-        this.qinshu.list = 3
+        this.qinshu.rowspan = 5;
+        this.qinshu.list = 3;
       }
-
     },
 
     qinshus2() {
@@ -618,14 +830,18 @@ export default {
       if (this.message.bdglLeaves != null) {
         if (this.message.bdglLeaves.length >= 7) {
           this.qingjia.rowspan = this.message.bdglLeaves.length + 1;
-          this.qingjia.list = 0
+          this.qingjia.list = 0;
         } else {
-          this.qingjia.rowspan = (7 - this.message.bdglLeaves.length) + this.message.bdglLeaves.length + 1
-          this.qingjia.list = 7 - this.message.bdglLeaves.length
+          this.qingjia.rowspan =
+            7 -
+            this.message.bdglLeaves.length +
+            this.message.bdglLeaves.length +
+            1;
+          this.qingjia.list = 7 - this.message.bdglLeaves.length;
         }
       } else {
         this.qingjia.rowspan = 8;
-        this.qingjia.list = 7
+        this.qingjia.list = 7;
       }
     },
     /*
@@ -705,26 +921,22 @@ export default {
   letter-spacing: 19px;
 }
 
-table {
-  border-collapse: collapse;
-  table-layout: fixed;
-  text-align: center;
-  color: black !important;
-  margin-bottom: 30px;
-}
-
 .el-dialog__wrapper .el-dialog__body td {
   border: 1px solid !important;
   padding: 0;
   border-bottom: 1px solid !important;
 }
+#b1 td {
+  padding: 0;
+  border: 0 !important;
+}
 
 .box1 {
   position: absolute;
-    right: 30px;
-    top: 80px;
-    border: 1px solid rgb(129, 130, 131);
-    border-radius: 5px;
+  right: 30px;
+  top: 80px;
+  border: 1px solid rgb(129, 130, 131);
+  border-radius: 5px;
 }
 
 .distinguish {

+ 16 - 13
src/utils/exportWord.js

@@ -8,22 +8,23 @@ function _initData(exPortData) {
 }
 
 function getModelHtml(mhtml, mhtmlBottom, exPortData) {
+  // console.log(exPortData.dev);
   var styles,
     updateStyles,
     Brow = '',
-    direction = 
-        typeof exPortData.direction !== "undefined"
+    direction =
+      typeof exPortData.direction !== "undefined"
         ? exPortData.direction
         : "Vertical",
     header,
-    dev = 
-      typeof exPortData.direction !== "undefined"
-      ? exPortData.direction
-      : " margin:72.0pt 90.0pt 72.0pt 90.0pt;",
+    dev =
+      typeof exPortData.dev !== "undefined"
+        ? exPortData.dev
+        : " margin:72.0pt 90.0pt 72.0pt 90.0pt;",
     footer = "";
   let devStyle = typeof exPortData.style !== 'undefined'
-                  ? exPortData.style
-                  : ''
+    ? exPortData.style
+    : ''
   if (exPortData.styles) {
     styles = exPortData.styles.html();
   }
@@ -51,7 +52,7 @@ function getModelHtml(mhtml, mhtmlBottom, exPortData) {
         `;
   } else {
     // 纵向
-        direction = `
+    direction = `
                         @page Section1{
                             size:595.35pt 841.95pt;
                             mso-page-orientation:luprightness;
@@ -86,7 +87,7 @@ function getModelHtml(mhtml, mhtmlBottom, exPortData) {
       '<p class="MsoNum"><span class="num" style="mso-field-code: PAGE "></span>/<span style="mso-field-code:NUMPAGES"></span>\n</p>\n' +
       "</div>";
   }
-  if (typeof exPortData.header !== 'undefined' && typeof exPortData.footer !== 'undefined'){
+  if (typeof exPortData.header !== 'undefined' && typeof exPortData.footer !== 'undefined') {
     Brow = `
             <table id="hrdftrtbl" border="0" cellspacing="0" cellpadding="0">
                 <tbody>
@@ -102,7 +103,7 @@ function getModelHtml(mhtml, mhtmlBottom, exPortData) {
         </table>
     `
   }
-  console.log(devStyle);
+  // console.log(devStyle);
   return `
             <!DOCTYPE html>
             <html xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" xmlns:m=\"http://schemas.microsoft.com/office/2004/12/omml\" xmlns=\"http://www.w3.org/TR/REC-html40\">
@@ -166,6 +167,7 @@ function getModelHtml(mhtml, mhtmlBottom, exPortData) {
 }
 
 const exportWord = function (exPortData) {
+  // console.log(exPortData, 1);
   // 文档类型 fileType 可以doc xls html 其他的自己去试
   if (typeof jQuery !== "undefined" && typeof saveAs !== "undefined") {
     _initData(exPortData);
@@ -173,7 +175,7 @@ const exportWord = function (exPortData) {
       maxWidth: 624,
     };
     // Clone selected element before manipulating it
-    
+
     var markup = $(exPortData.dom).clone();
     // Remove hidden elements from the output
     markup.each(function () {
@@ -220,9 +222,10 @@ const exportWord = function (exPortData) {
       mhtmlBottom += images[i].data + "\n\n";
     }
     mhtmlBottom += "--NEXT.ITEM-BOUNDARY--";
-    
+
 
     var fileContent = getModelHtml(markup.html(), mhtmlBottom, exPortData);
+    // console.log(fileContent, 22);
     var blob = new Blob([fileContent], {
       type: "application/msword;charset=utf-8",
     });

+ 8 - 3
src/views/grassrootsregistration/bdgldiary/index.vue

@@ -1643,8 +1643,8 @@ export default {
             if (this.relatives[0].peopleId !== null) {
               this.form.kinsfolk = this.relatives;
             }
-          this.form.blogDate=new Date(this.form.blogDate)
-          console.log(this.form.blogDate);
+            this.form.blogDate = new Date(this.form.blogDate);
+            console.log(this.form.blogDate);
             // // 训练计划
             this.form.weekworkRegisters = this.xunlian;
             addBdgldiary(this.form).then((response) => {
@@ -2130,7 +2130,12 @@ export default {
 .app-container {
   height: calc(100vh - 108px) !important;
 }
-::v-deep .el-dialog .el-icon-circle-close:before {
+::v-deep .el-dialog .el-input__suffix-inner .el-icon-circle-close:before {
+  content: "";
+  display: inline-block;
+  /* margin-left: 87px; */
+}
+::v-deep .el-dialog .text .el-input__suffix-inner .el-icon-circle-close:before {
   content: "";
   display: inline-block;
   margin-left: 87px;

+ 330 - 38
src/views/medicalhealth/recuperate/index.vue

@@ -227,6 +227,13 @@
         fixed="right"
       >
         <template slot-scope="scope">
+          <el-button
+            v-if="scope.row.common == '5'"
+            size="btu"
+            type="text"
+            @click="handleshenpi5(scope.row)"
+            >归队</el-button
+          >
           <el-button
             v-if="scope.row.common == '1'"
             size="btk"
@@ -264,7 +271,6 @@
     <el-dialog
       :title="title"
       :visible.sync="open"
-      width="500px"
       append-to-body
       :close-on-click-modal="false"
     >
@@ -339,7 +345,7 @@
         <el-form-item label="一级审批单位" prop="unitId1">
           <treeselect
             v-model="form.unitId1"
-            :options="deptOptions"
+            :options="deptOptionsQ"
             placeholder="请选择一级审批单位"
             @select="selectPeo1"
           />
@@ -360,7 +366,7 @@
         <el-form-item label="二级审批单位" prop="unitId2">
           <treeselect
             v-model="form.unitId2"
-            :options="deptOptions"
+            :options="deptOptionsQ"
             placeholder="请选择二级审批单位"
             @select="selectPeo2"
           />
@@ -382,7 +388,7 @@
           <!-- <el-input v-model="form.peopleId2" placeholder="请输入备注" /> -->
           <treeselect
             v-model="form.unitId3"
-            :options="deptOptions"
+            :options="deptOptionsQ"
             placeholder="请选择三级审批单位"
             @select="selectPeo3"
           />
@@ -414,11 +420,197 @@
         <el-button @click="cancel" size="btn">取 消</el-button>
       </div>
     </el-dialog>
+
+    <!-- 修改 -->
+    <el-dialog
+      :title="title"
+      :visible.sync="openXiu"
+      append-to-body
+      :close-on-click-modal="false"
+    >
+      <el-form
+        ref="form"
+        :model="form"
+        :rules="rules"
+        label-width="80px"
+        inline
+      >
+        <el-form-item label="单位" prop="unitId">
+          <!-- <el-input v-model="form.unitId" placeholder="请输入单位" /> -->
+          <treeselect
+            v-model="form.unitId"
+            :options="deptOptionsQ"
+            placeholder="请选择单位"
+            @select="selectPeo"
+            :disabled="prohibit"
+          />
+        </el-form-item>
+        <el-form-item label="人员姓名" prop="peopleId">
+          <!-- <el-input v-model="form.peopleId" placeholder="请输入疗养人" /> -->
+          <el-select
+            v-model="form.peopleId"
+            placeholder="请选择请假人员"
+            :disabled="prohibit"
+          >
+            <el-option
+              v-for="(item, i) in renYuan"
+              :key="i"
+              :label="item.name"
+              :value="item.id"
+              @click.native="qingRen(item.name)"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="疗养类型" prop="type">
+          <el-select
+            v-model="form.type"
+            placeholder="请选择疗养类型"
+            :disabled="prohibit"
+          >
+            <el-option
+              v-for="(item, i) in liaoYang"
+              :key="i"
+              :label="item.dictLabel"
+              :value="item.dictValue"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="疗养天数" prop="number">
+          <el-input
+            v-model="form.number"
+            placeholder="请输入疗养天数"
+            :disabled="prohibit"
+          />
+        </el-form-item>
+        <el-form-item label="疗养地点" prop="address">
+          <el-input
+            v-model="form.address"
+            placeholder="请输入疗养地点"
+            :disabled="prohibit"
+          />
+        </el-form-item>
+        <el-form-item label="开始时间" prop="startTime">
+          <el-date-picker
+            clearable
+            size="small"
+            v-model="form.startTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择开始时间"
+            :disabled="prohibit"
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="结束时间" prop="endTime">
+          <el-date-picker
+            clearable
+            size="small"
+            v-model="form.endTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择结束时间"
+            :disabled="prohibit"
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="一级审批单位" prop="unitId1">
+          <treeselect
+            v-model="form.unitId1"
+            :options="deptOptionsQ"
+            placeholder="请选择一级审批单位"
+            @select="selectPeo1"
+            :disabled="prohibit"
+          />
+        </el-form-item>
+        <el-form-item label="一级审批人" prop="peopleId1">
+          <!-- <el-input v-model="form.peopleId1" placeholder="请输入备注" /> -->
+          <el-select
+            v-model="form.peopleId1"
+            placeholder="请选择一级审批人"
+            :disabled="prohibit"
+          >
+            <el-option
+              v-for="(item, i) in renYuan1"
+              :key="i"
+              :label="item.nickName"
+              :value="item.userId"
+              @click.native="qingRen1(item.nickName)"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="二级审批单位" prop="unitId2">
+          <treeselect
+            v-model="form.unitId2"
+            :options="deptOptionsQ"
+            placeholder="请选择二级审批单位"
+            @select="selectPeo2"
+            :disabled="prohibit"
+          />
+        </el-form-item>
+        <el-form-item label="二级审批人" prop="peopleId2">
+          <el-select
+            v-model="form.peopleId2"
+            placeholder="请选择二级审批人"
+            :disabled="prohibit"
+          >
+            <el-option
+              v-for="(item, i) in renYuan2"
+              :key="i"
+              :label="item.nickName"
+              :value="item.userId"
+              @click.native="qingRen2(item.nickName)"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="三级审批单位" prop="unitId3">
+          <treeselect
+            v-model="form.unitId3"
+            :options="deptOptionsQ"
+            placeholder="请选择三级审批单位"
+            @select="selectPeo3"
+            :disabled="prohibit"
+          />
+        </el-form-item>
+        <el-form-item label="三级审批人" prop="peopleId3">
+          <el-select
+            v-model="form.peopleId3"
+            placeholder="请选择三级审批人"
+            :disabled="prohibit"
+          >
+            <el-option
+              v-for="(item, i) in renYuan3"
+              :key="i"
+              :label="item.nickName"
+              :value="item.userId"
+              @click.native="qingRen3(item.nickName)"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <div class="jiben">备注</div>
+        <el-form-item prop="remark">
+          <el-input
+            v-model="form.remark"
+            type="textarea"
+            placeholder="请输入内容"
+            :disabled="prohibit"
+          />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel" size="btn">取 消</el-button>
+      </div>
+    </el-dialog>
+
     <!-- 审批对话框 -->
     <el-dialog
       title="疗养管理审批"
       :visible.sync="opene"
-      width="500px"
       append-to-body
       :close-on-click-modal="false"
     >
@@ -433,14 +625,19 @@
           <!-- <el-input v-model="form.unitId" placeholder="请输入单位" /> -->
           <treeselect
             v-model="form.unitId"
-            :options="deptOptions"
+            :options="deptOptionsQ"
             placeholder="请选择单位"
             @select="selectPeo"
+            disabled
           />
         </el-form-item>
         <el-form-item label="人员姓名" prop="peopleId">
           <!-- <el-input v-model="form.peopleId" placeholder="请输入疗养人" /> -->
-          <el-select v-model="form.peopleId" placeholder="请选择请假人员">
+          <el-select
+            v-model="form.peopleId"
+            placeholder="请选择请假人员"
+            disabled
+          >
             <el-option
               v-for="(item, i) in renYuan"
               :key="i"
@@ -452,7 +649,7 @@
           </el-select>
         </el-form-item>
         <el-form-item label="疗养类型" prop="type">
-          <el-select v-model="form.type" placeholder="请选择疗养类型">
+          <el-select v-model="form.type" placeholder="请选择疗养类型" disabled>
             <el-option
               v-for="(item, i) in liaoYang"
               :key="i"
@@ -463,10 +660,18 @@
           </el-select>
         </el-form-item>
         <el-form-item label="疗养天数" prop="number">
-          <el-input v-model="form.number" placeholder="请输入疗养天数" />
+          <el-input
+            v-model="form.number"
+            placeholder="请输入疗养天数"
+            disabled
+          />
         </el-form-item>
         <el-form-item label="疗养地点" prop="address">
-          <el-input v-model="form.address" placeholder="请输入疗养地点" />
+          <el-input
+            v-model="form.address"
+            placeholder="请输入疗养地点"
+            disabled
+          />
         </el-form-item>
         <el-form-item label="开始时间" prop="startTime">
           <el-date-picker
@@ -476,6 +681,7 @@
             type="date"
             value-format="yyyy-MM-dd"
             placeholder="选择开始时间"
+            disabled
           >
           </el-date-picker>
         </el-form-item>
@@ -487,20 +693,26 @@
             type="date"
             value-format="yyyy-MM-dd"
             placeholder="选择结束时间"
+            disabled
           >
           </el-date-picker>
         </el-form-item>
         <el-form-item label="一级审批单位" prop="unitId1">
           <treeselect
             v-model="form.unitId1"
-            :options="deptOptions"
+            :options="deptOptionsQ"
             placeholder="请选择一级审批单位"
             @select="selectPeo1"
+            disabled
           />
         </el-form-item>
         <el-form-item label="一级审批人" prop="peopleId1">
           <!-- <el-input v-model="form.peopleId1" placeholder="请输入备注" /> -->
-          <el-select v-model="form.peopleId1" placeholder="请选择一级审批人">
+          <el-select
+            v-model="form.peopleId1"
+            placeholder="请选择一级审批人"
+            disabled
+          >
             <el-option
               v-for="(item, i) in renYuan1"
               :key="i"
@@ -514,14 +726,18 @@
         <el-form-item label="二级审批单位" prop="unitId2">
           <treeselect
             v-model="form.unitId2"
-            :options="deptOptions"
+            :options="deptOptionsQ"
             placeholder="请选择二级审批单位"
             @select="selectPeo2"
+            disabled
           />
         </el-form-item>
         <el-form-item label="二级审批人" prop="peopleId2">
-          <!-- <el-input v-model="form.peopleId2" placeholder="请输入备注" /> -->
-          <el-select v-model="form.peopleId2" placeholder="请选择二级审批人">
+          <el-select
+            v-model="form.peopleId2"
+            placeholder="请选择二级审批人"
+            disabled
+          >
             <el-option
               v-for="(item, i) in renYuan2"
               :key="i"
@@ -533,17 +749,20 @@
           </el-select>
         </el-form-item>
         <el-form-item label="三级审批单位" prop="unitId3">
-          <!-- <el-input v-model="form.peopleId2" placeholder="请输入备注" /> -->
           <treeselect
             v-model="form.unitId3"
-            :options="deptOptions"
+            :options="deptOptionsQ"
             placeholder="请选择三级审批单位"
             @select="selectPeo3"
+            disabled
           />
         </el-form-item>
         <el-form-item label="三级审批人" prop="peopleId3">
-          <!-- <el-input v-model="form.peopleId3" placeholder="请输入备注" /> -->
-          <el-select v-model="form.peopleId3" placeholder="请选择三级审批人">
+          <el-select
+            v-model="form.peopleId3"
+            placeholder="请选择三级审批人"
+            disabled
+          >
             <el-option
               v-for="(item, i) in renYuan3"
               :key="i"
@@ -560,6 +779,7 @@
             v-model="form.remark"
             type="textarea"
             placeholder="请输入内容"
+            disabled
           />
         </el-form-item>
         <div class="jiben">驳回原因</div>
@@ -588,6 +808,7 @@ import {
   updateRecuperate,
   exportRecuperate,
   getreciuperUser,
+  getreciuperUsers,
 } from "@/api/medicalhealth/recuperate";
 // 查询字典
 import { getDicts } from "@/api/system/dict/data";
@@ -595,7 +816,12 @@ import { getDicts } from "@/api/system/dict/data";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 
-import { getDept, getQuanBu } from "@/api/grassrootsregistration/bdglmeeting";
+import {
+  getDept,
+  getQuanBu,
+  getDept2,
+} from "@/api/grassrootsregistration/bdglmeeting";
+// 所有部门
 
 export default {
   name: "Recuperate",
@@ -625,6 +851,8 @@ export default {
       title: "",
       // 是否显示弹出层
       open: false,
+      // 修改弹出层
+      openXiu: false,
       // 查询参数
       queryParams: {
         pageNum: 1,
@@ -662,11 +890,32 @@ export default {
       // 表单参数
       form: {},
       // 表单校验
-      rules: {},
+      rules: {
+        unitId1: [
+          { required: true, message: "请选择一级审批单位", trigger: "blur" },
+        ],
+        unitId2: [
+          { required: true, message: "请选择二级审批单位", trigger: "blur" },
+        ],
+        unitId3: [
+          { required: true, message: "请选择三级审批单位", trigger: "blur" },
+        ],
+        peopleId1: [
+          { required: true, message: "请选择一级审批人", trigger: "blur" },
+        ],
+        peopleId2: [
+          { required: true, message: "请选择二级审批人", trigger: "blur" },
+        ],
+        peopleId3: [
+          { required: true, message: "请选择三级审批人", trigger: "blur" },
+        ],
+      },
       // 疗养列表
       liaoYang: [],
       // 树形结构列表
       deptOptions: [],
+      // 树形结构列表全部单位
+      deptOptionsQ: [],
       // 人员列表
       renYuan: [],
       // 人员列表1
@@ -683,6 +932,8 @@ export default {
           { required: true, message: "请输入驳回原因", trigger: "blur" },
         ],
       },
+      // 禁止修改状态
+      prohibit: false,
     };
   },
   created() {
@@ -690,8 +941,25 @@ export default {
     getDicts("convalescent_type").then((response) => {
       this.liaoYang = response.data;
     });
+    // 全部单位
+    this.getUserQuan();
   },
   methods: {
+    // 获取全部人员
+    getRWenQ() {
+      getreciuperUsers().then((res) => {
+        this.renYuan2 = res.rows;
+        this.renYuan1 = res.rows;
+        this.renYuan3 = res.rows;
+      });
+    },
+    // 获取全部单位
+    getUserQuan() {
+      getDept2().then((res) => {
+        // console.log(res);
+        this.deptOptionsQ = res.data;
+      });
+    },
     // 人员姓名选中
     qingRen(name) {
       this.form.peopleName = name;
@@ -736,24 +1004,28 @@ export default {
     selectPeo(data) {
       this.form.unitId = data.id;
       this.form.unitName = data.label;
+      this.form.peopleId = null;
       this.getRen(this.form.unitId);
     },
     // 一级审批单位触发
     selectPeo1(data) {
       this.form.unitId1 = data.id;
       this.form.unitName1 = data.label;
+      this.form.peopleId1 = null;
       this.getRen1(this.form.unitId1);
     },
     // 二级审批单位触发
     selectPeo2(data) {
       this.form.unitId2 = data.id;
       this.form.unitName2 = data.label;
+      this.form.peopleId2 = null;
       this.getRen2(this.form.unitId2);
     },
     // 三级审批单位触发
     selectPeo3(data) {
       this.form.unitId3 = data.id;
       this.form.unitName3 = data.label;
+      this.form.peopleId3 = null;
       this.getRen3(this.form.unitId3);
     },
     // 获取部门列表
@@ -774,6 +1046,7 @@ export default {
     // 取消按钮
     cancel() {
       this.open = false;
+      this.openXiu = false;
       this.reset();
     },
     // 表单重置
@@ -838,19 +1111,39 @@ export default {
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
-      this.getBuMeng();
+      if (row.status1 == "1") {
+        this.prohibit = true;
+      } else {
+        this.prohibit = false;
+      }
+      this.getUserQuan();
       this.reset();
       const id = row.id || this.ids;
       getRecuperate(id).then((response) => {
         this.form = response.data;
         this.getRen(this.form.unitId);
-        this.getRen1(this.form.unitId1);
-        this.getRen2(this.form.unitId2);
-        this.getRen3(this.form.unitId3);
-        this.open = true;
+        // 全部人
+        this.getRWenQ();
+        this.openXiu = true;
         this.title = "修改疗养管理";
       });
     },
+    // 归队按钮
+    handleshenpi5() {
+      this.$confirm("是否确认归队?", "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          this.form.status = "1";
+          updateRecuperate(this.form).then((response) => {
+            this.$modal.msgSuccess("归队成功");
+            this.getList();
+          });
+        })
+        .catch(() => {});
+    },
     /** 提交按钮 */
     submitForm() {
       this.$refs["form"].validate((valid) => {
@@ -858,7 +1151,7 @@ export default {
           if (this.form.id != null) {
             updateRecuperate(this.form).then((response) => {
               this.$modal.msgSuccess("修改成功");
-              this.open = false;
+              this.openXiu = false;
               this.getList();
             });
           } else {
@@ -908,15 +1201,14 @@ export default {
     },
     // 审批弹出层内容
     handleshenpi1(row) {
-      this.getBuMeng();
+      this.getUserQuan();
       this.reset();
       const id = row.id || this.ids;
       getRecuperate(id).then((response) => {
         this.form = response.data;
         this.getRen(this.form.unitId);
-        this.getRen1(this.form.unitId1);
-        this.getRen2(this.form.unitId2);
-        this.getRen3(this.form.unitId3);
+        // 全部人
+        this.getRWenQ();
         this.opene = true;
       });
     },
@@ -968,10 +1260,6 @@ export default {
 };
 </script>
 <style scoped>
-/* 对话框背景颜色 */
-::v-deep .el-dialog {
-  background: #004d86 !important;
-}
 ::v-deep .el-textarea__inner {
   width: 920px;
   height: 104px;
@@ -990,7 +1278,7 @@ export default {
 ::v-deep .el-form-item__label {
   font: 16px;
   color: #fff;
-  width: 100px !important;
+  width: 115px !important;
 }
 ::v-deep .el-input__inner {
   /* width: 200px !important;
@@ -1099,9 +1387,9 @@ export default {
   padding: 18px 42px 30px 0px;
   margin-right: 30px;
 }
-/* 增加按钮弹框 */
 ::v-deep .el-dialog {
-  width: 1060px !important;
+  width: 1100px !important;
+  background: #004d86 !important;
 }
 ::v-deep .el-dialog__body {
   padding: none !important;
@@ -1120,4 +1408,8 @@ export default {
 ::v-deep input:-moz-placeholder {
   color: #bdbdbd4f !important;
 }
+::v-deep .el-input.is-disabled .el-input__inner {
+  background-color: transparent !important;
+  color: #fff;
+}
 </style>

+ 1 - 1
src/views/thought/getready/index.vue

@@ -1172,7 +1172,7 @@ export default {
 }
 
 ::v-deep .el-input__inner {
-  height: 36px !important;
+  /* height: 36px !important; */
   color: white;
   background-color: #00365f !important;
 }

+ 1 - 1
src/views/thought/parliament/index.vue

@@ -986,7 +986,7 @@ export default {
   margin-right: 7px !important;
 }
 ::v-deep .el-input__inner {
-  height: 36px !important;
+  /* height: 36px !important; */
   color: white;
   background-color: #00365f !important;
 }

+ 1 - 1
src/views/thought/talk/index.vue

@@ -1127,7 +1127,7 @@ export default {
   margin-right: 7px !important;
 }
 ::v-deep .el-input__inner {
-  height: 36px !important;
+  /* height: 36px !important; */
   color: white;
   background-color: #00365f !important;
 }

+ 1 - 1
src/views/thought/weekjob/index.vue

@@ -1411,7 +1411,7 @@ export default {
   margin-right: 7px !important;
 }
 ::v-deep .el-input__inner {
-  height: 36px !important;
+  /* height: 36px !important; */
   color: white;
   background-color: #00365f !important;
 }

+ 418 - 0
src/views/workingArrangements/worktaskplan/index.vue

@@ -0,0 +1,418 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="任务名称" prop="taskName">
+        <el-input
+          v-model="queryParams.taskName"
+          placeholder="请输入任务名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="任务开始时间" prop="startTime">
+        <el-date-picker clearable
+          v-model="queryParams.startTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="请选择任务开始时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="任务结束时间" prop="endTime">
+        <el-date-picker clearable
+          v-model="queryParams.endTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="请选择任务结束时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="任务附件" prop="annex">
+        <el-input
+          v-model="queryParams.annex"
+          placeholder="请输入任务附件"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="任务备注" prop="remarkInfo">
+        <el-input
+          v-model="queryParams.remarkInfo"
+          placeholder="请输入任务备注"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['workingArrangements:worktaskplan:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['workingArrangements:worktaskplan:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['workingArrangements:worktaskplan:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['workingArrangements:worktaskplan:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="worktaskplanList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="任务计划ID" align="center" prop="id" />
+      <el-table-column label="任务名称" align="center" prop="taskName" />
+      <el-table-column label="任务开始时间" align="center" prop="startTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="任务结束时间" align="center" prop="endTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.endTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="任务附件" align="center" prop="annex" />
+      <el-table-column label="任务备注" align="center" prop="remarkInfo" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['workingArrangements:worktaskplan:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['workingArrangements:worktaskplan:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改任务计划基本信息对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="任务名称" prop="taskName">
+          <el-input v-model="form.taskName" placeholder="请输入任务名称" />
+        </el-form-item>
+        <el-form-item label="任务开始时间" prop="startTime">
+          <el-date-picker clearable
+            v-model="form.startTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请选择任务开始时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="任务结束时间" prop="endTime">
+          <el-date-picker clearable
+            v-model="form.endTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请选择任务结束时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="任务附件" prop="annex">
+          <el-input v-model="form.annex" placeholder="请输入任务附件" />
+        </el-form-item>
+        <el-form-item label="任务备注" prop="remarkInfo">
+          <el-input v-model="form.remarkInfo" placeholder="请输入任务备注" />
+        </el-form-item>
+        <el-divider content-position="center">任务计划执行详情信息</el-divider>
+        <el-row :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddBdglWorkTaskPlanDetail">添加</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteBdglWorkTaskPlanDetail">删除</el-button>
+          </el-col>
+        </el-row>
+        <el-table :data="bdglWorkTaskPlanDetailList" :row-class-name="rowBdglWorkTaskPlanDetailIndex" @selection-change="handleBdglWorkTaskPlanDetailSelectionChange" ref="bdglWorkTaskPlanDetail">
+          <el-table-column type="selection" width="50" align="center" />
+          <el-table-column label="序号" align="center" prop="index" width="50"/>
+          <el-table-column label="单位ID" prop="unitId" width="150">
+            <template slot-scope="scope">
+              <el-input v-model="scope.row.unitId" placeholder="请输入单位ID" />
+            </template>
+          </el-table-column>
+          <el-table-column label="任务执行人" prop="peopleName" width="150">
+            <template slot-scope="scope">
+              <el-input v-model="scope.row.peopleName" placeholder="请输入任务执行人" />
+            </template>
+          </el-table-column>
+          <el-table-column label="任务描述" prop="taskDescription" width="150">
+            <template slot-scope="scope">
+              <el-input v-model="scope.row.taskDescription" placeholder="请输入任务描述" />
+            </template>
+          </el-table-column>
+          <el-table-column label="任务执行情况0.待审核1.未完成2.已完成3.驳回" prop="taskStatus" width="150">
+            <template slot-scope="scope">
+              <el-select v-model="scope.row.taskStatus" placeholder="请选择任务执行情况0.待审核1.未完成2.已完成3.驳回">
+                <el-option label="请选择字典生成" value="" />
+              </el-select>
+            </template>
+          </el-table-column>
+          <el-table-column label="任务反馈时间" prop="feedbackTime" width="240">
+            <template slot-scope="scope">
+              <el-date-picker clearable v-model="scope.row.feedbackTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择任务反馈时间" />
+            </template>
+          </el-table-column>
+          <el-table-column label="反馈内容" prop="feedbackDescription" width="150">
+            <template slot-scope="scope">
+              <el-input v-model="scope.row.feedbackDescription" placeholder="请输入反馈内容" />
+            </template>
+          </el-table-column>
+        </el-table>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listWorktaskplan, getWorktaskplan, delWorktaskplan, addWorktaskplan, updateWorktaskplan } from "@/api/workingArrangements/worktaskplan";
+
+export default {
+  name: "Worktaskplan",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 子表选中数据
+      checkedBdglWorkTaskPlanDetail: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 任务计划基本信息表格数据
+      worktaskplanList: [],
+      // 任务计划执行详情表格数据
+      bdglWorkTaskPlanDetailList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        taskName: null,
+        startTime: null,
+        endTime: null,
+        annex: null,
+        remarkInfo: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        taskName: [
+          { required: true, message: "任务名称不能为空", trigger: "blur" }
+        ],
+        startTime: [
+          { required: true, message: "任务开始时间不能为空", trigger: "blur" }
+        ],
+        endTime: [
+          { required: true, message: "任务结束时间不能为空", trigger: "blur" }
+        ],
+        annex: [
+          { required: true, message: "任务附件不能为空", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询任务计划基本信息列表 */
+    getList() {
+      this.loading = true;
+      listWorktaskplan(this.queryParams).then(response => {
+        this.worktaskplanList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        taskName: null,
+        startTime: null,
+        endTime: null,
+        annex: null,
+        remarkInfo: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null
+      };
+      this.bdglWorkTaskPlanDetailList = [];
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加任务计划基本信息";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getWorktaskplan(id).then(response => {
+        this.form = response.data;
+        this.bdglWorkTaskPlanDetailList = response.data.bdglWorkTaskPlanDetailList;
+        this.open = true;
+        this.title = "修改任务计划基本信息";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          this.form.bdglWorkTaskPlanDetailList = this.bdglWorkTaskPlanDetailList;
+          if (this.form.id != null) {
+            updateWorktaskplan(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addWorktaskplan(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除任务计划基本信息编号为"' + ids + '"的数据项?').then(function() {
+        return delWorktaskplan(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+	/** 任务计划执行详情序号 */
+    rowBdglWorkTaskPlanDetailIndex({ row, rowIndex }) {
+      row.index = rowIndex + 1;
+    },
+    /** 任务计划执行详情添加按钮操作 */
+    handleAddBdglWorkTaskPlanDetail() {
+      let obj = {};
+      obj.unitId = "";
+      obj.peopleName = "";
+      obj.taskDescription = "";
+      obj.taskStatus = "";
+      obj.feedbackTime = "";
+      obj.feedbackDescription = "";
+      this.bdglWorkTaskPlanDetailList.push(obj);
+    },
+    /** 任务计划执行详情删除按钮操作 */
+    handleDeleteBdglWorkTaskPlanDetail() {
+      if (this.checkedBdglWorkTaskPlanDetail.length == 0) {
+        this.$modal.msgError("请先选择要删除的任务计划执行详情数据");
+      } else {
+        const bdglWorkTaskPlanDetailList = this.bdglWorkTaskPlanDetailList;
+        const checkedBdglWorkTaskPlanDetail = this.checkedBdglWorkTaskPlanDetail;
+        this.bdglWorkTaskPlanDetailList = bdglWorkTaskPlanDetailList.filter(function(item) {
+          return checkedBdglWorkTaskPlanDetail.indexOf(item.index) == -1
+        });
+      }
+    },
+    /** 复选框选中数据 */
+    handleBdglWorkTaskPlanDetailSelectionChange(selection) {
+      this.checkedBdglWorkTaskPlanDetail = selection.map(item => item.index)
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('workingArrangements/worktaskplan/export', {
+        ...this.queryParams
+      }, `worktaskplan_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>