Преглед на файлове

更改首页字体样式,完成战备值班,军车值班多条数据添加,战备值班数据添加,人员进出,公共样式

sunyanqiang преди 3 години
родител
ревизия
d22388b49e

+ 26 - 19
src/api/combatduty/Quantitative.js

@@ -1,50 +1,57 @@
 import request from '@/utils/request'
 // 获取基地值班的信息
 export function getTodayzhiban() {
-    return request({
-      url: '/combatduty/quantistatis/todayzhiban',
-      method: 'get',
-    })
+  return request({
+    url: '/combatduty/quantistatis/todayzhiban',
+    method: 'get',
+  })
 }
 
 // 获取大队值班接口
-export function greatDuty(){
+export function greatDuty() {
+  return request({
+    url: "/combatduty/quantistatis/daduizhiban",
+    method: "get"
+  })
+}
+// 获取大队值班分队数量
+export function greatDutys() {
   return request({
-    url:"/combatduty/quantistatis/daduizhiban",
-    method:"get"
+    url: "/combatduty/quantistatis/getdaDuiZhiBanNumber",
+    method: "get"
   })
 }
 
 // 获取军车值班接口
-export function militaryDuty() { 
+export function militaryDuty() {
   return request({
-    url:"/combatduty/quantistatis/junchezhiban",
-    method:"get"
+    url: "/combatduty/quantistatis/junchezhiban",
+    method: "get"
   })
 }
 
 // 获取装备值班接口
-export function equipment(){
+export function equipment() {
   return request({
-    url:"/combatduty/quantistatis/zhuangbeizhiban",
-    method:"get"
+    url: "/combatduty/quantistatis/zhuangbeizhiban",
+    method: "get"
   })
 }
 
 // 获取执行任务人员情况接口
-export function zhixingrenwu(){
+export function zhixingrenwu() {
   return request({
-    url:"/combatduty/taskdutyinfo/list",
-    method:"get"
+    url: "/combatduty/taskdutyinfo/list",
+    method: "get"
   })
 }
 
 
 // 获取执行任务人员情况接口
-export function listshow(){
+export function listshow() {
   return request({
-    url:"/combatduty/quantistatis/listshow",
-    method:"get"
+    url: "/combatduty/quantistatis/listshow",
+    method: "get"
   })
 }
 

+ 2 - 2
src/api/combatduty/militarydutyinfo.js

@@ -80,10 +80,10 @@ export function getDept(query) {
 
 
 //车牌号 
-export function getthebus(query) {
+export function getthebus(status) {
   return request({
     url: '/militaryvehicleManagement/thebus/list',
     method: 'get',
-    params: query
+    params: { status: status }
   })
 }

+ 10 - 3
src/api/grassrootsregistration/bdglmeeting.js

@@ -76,7 +76,7 @@ export function getZhuChiRen(data) {
     params: { deptId: data }
   })
 }
-// 查询所在单位首长
+// 查询所在单位首长(用户,不包含自己)
 export function getUser(data) {
   return request({
     url: '/grassrootsregistration/common/getUsers',
@@ -84,7 +84,7 @@ export function getUser(data) {
     params: { deptId: data }
   })
 }
-// 查询所有人员首长
+// 查询所有人员首长(用户)
 export function getUsers(data) {
   return request({
     url: '/grassrootsregistration/common/getUser',
@@ -92,7 +92,14 @@ export function getUsers(data) {
     params: { deptId: data }
   })
 }
-
+// 查询所在单位首长(用户,包含自己)
+export function getUserzs(data) {
+  return request({
+    url: 'system/user/list',
+    method: 'get',
+    params: { deptId: data }
+  })
+}
 // 获取实力情况
 export function getShiLi(query) {
   return request({

BIN
src/assets/css/siyuan_bold.OTF


+ 10 - 1
src/assets/styles/global.css

@@ -1,4 +1,4 @@
-/* 加粗字体 */
+/* 思源字体 */
 @font-face {
   font-family: 'siyuan';
   src: url('../css/siyuan.OTF');
@@ -6,6 +6,14 @@
   font-style: normal;
 }
 
+/* 思源加粗字体 */
+@font-face {
+  font-family: 'siyuanbold';
+  src: url('../css/siyuan_bold.OTF');
+  font-weight: normal;
+  font-style: normal;
+}
+
 /* 正常字体 */
 @font-face {
   font-family: 'fangyuan';
@@ -46,6 +54,7 @@
   font-style: normal;
 }
 
+
 /* 新增表单字体颜色 */
 .el-dialog__body .el-form-item__label {
   color: black;

BIN
src/images/底3.png


+ 22 - 3
src/views/combatduty/Quantitative/index.vue

@@ -123,7 +123,8 @@
               ><span style="margin-right: 10px">数</span><span>量</span>
             </div>
             <div class="wrap-top-left-top-item-right3">
-              {{ this.GreatDuty1.detachmentName }}
+              {{ fenShu }}
+              队
               <!-- 发射一营 -->
             </div>
           </div>
@@ -152,7 +153,7 @@
               <span>数</span>
             </div>
             <div class="wrap-top-left-top-item-right" style="margin-left: 15px">
-              {{ this.GreatDuty1.detachmentPeopleName }}
+              {{ fenZong }}人
             </div>
           </div>
         </div>
@@ -451,7 +452,14 @@
                 <td style="color: #ccc" height="28">{{ index + 1 }}</td>
                 <td style="color: #ccc">{{ item.equipmentName }}</td>
                 <!-- <td style="color: #ccc">{{ item.unitName }}</td> -->
-                <td style="color: #ccc">{{ item.type }}</td>
+                <td style="color: #ccc">
+                  <template>
+                    <dict-tag
+                      :options="dict.type.type_type"
+                      :value="item.type"
+                    />
+                  </template>
+                </td>
                 <td style="color: #ccc">{{ item.equipmentNumber }}</td>
                 <td style="color: #ccc" class="shiyou">
                   {{ item.standbyPosition }}
@@ -471,6 +479,7 @@ import {
   getTodayzhiban,
   // 大队值班接口
   greatDuty,
+  greatDutys,
   // 军车值班接口
   militaryDuty,
   // 装备值班接口
@@ -482,6 +491,7 @@ import {
 } from "@/api/combatduty/Quantitative";
 import { getDicts } from "@/api/system/dict/data";
 export default {
+  dicts: ["type_type"],
   data() {
     return {
       // 基地值班
@@ -501,6 +511,10 @@ export default {
         dictType: "brand",
       },
       ziDian: [],
+      // 分队数量
+      fenShu: "",
+      // 分队总人数
+      fenZong: "",
     };
   },
   created() {
@@ -522,6 +536,10 @@ export default {
       }
       // console.log(res);
     });
+    greatDutys().then((res) => {
+      this.fenShu = res.data[0];
+      this.fenZong = res.data[1];
+    });
     // 查询字典
     this.getdict();
 
@@ -577,6 +595,7 @@ export default {
   text-align: center;
   color: #30fdff;
   line-height: 35px;
+  letter-spacing: 0.2rem;
 }
 #app {
   width: 100%;

+ 4 - 4
src/views/combatduty/basedutyinfo/index.vue

@@ -28,9 +28,9 @@
           @change="handleQuery"
         ></el-date-picker>
       </el-form-item>
-      <el-form-item label="" prop="chiefDutyName">
+      <el-form-item label="" prop="chiefDutyId">
         <el-select
-          v-model="queryParams.chiefDutyName"
+          v-model="queryParams.chiefDutyId"
           filterable
           clearable
           placeholder="请选择值班首长"
@@ -1195,7 +1195,7 @@ export default {
   background: #196299;
   border: none;
   color: #fff;
-      line-height: 12px !important;
+  line-height: 12px !important;
 }
 ::v-deep .el-radio-button:first-child .el-radio-button__inner {
   border-left: none !important;
@@ -1206,7 +1206,7 @@ export default {
   border-color: #006cff !important;
   -webkit-box-shadow: -1px 0 0 0 #006cff !important;
   box-shadow: -1px 0 0 0 #006cff !important;
-      line-height: 12px !important;
+  line-height: 12px !important;
 }
 /* 将水平线设为红色: */
 hr {

+ 1 - 0
src/views/combatduty/grassdutyinfo/index.vue

@@ -127,6 +127,7 @@
             label="值班员职务"
             align="center"
             prop="dutyOffierZw"
+            width="120"
           >
             <template slot-scope="scope">
               <dict-tag

+ 34 - 5
src/views/combatduty/militarydutyinfo/index.vue

@@ -193,7 +193,7 @@
       <el-table-column label="车辆状态" align="center" prop="carStates">
         <template slot-scope="scope">
           <dict-tag
-            :options="dict.type.vehicle_status"
+            :options="dict.type.military"
             :value="scope.row.carStates"
           />
         </template>
@@ -333,7 +333,7 @@
         <el-form-item label="车辆状态" prop="carStates">
           <el-select v-model="form.carStates" placeholder="">
             <el-option
-              v-for="dict in dict.type.vehicle_status"
+              v-for="dict in dict.type.military"
               :key="dict.value"
               :label="dict.label"
               :value="dict.value"
@@ -367,6 +367,9 @@
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm1" v-if="baoCun"
+          >保存并继续编辑</el-button
+        >
         <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel" size="btn">取 消</el-button>
       </div>
@@ -390,7 +393,7 @@ import {
 
 export default {
   name: "Militarydutyinfo",
-  dicts: ["vehicle_status"],
+  dicts: ["military"],
   data() {
     return {
       // 遮罩层
@@ -432,7 +435,15 @@ export default {
       // 表单参数
       form: {},
       // 表单校验
-      rules: {},
+      rules: {
+        attendedTime: [
+          {
+            required: true,
+            message: "值班时间不能为空",
+            trigger: "blur",
+          },
+        ],
+      },
       //人员数据
       rylist: [],
       //单位数据
@@ -440,6 +451,8 @@ export default {
       qdflg: null,
       //车牌号
       buslist: [],
+      // 保存显示隐藏
+      baoCun: true,
     };
   },
   created() {
@@ -475,7 +488,7 @@ export default {
       });
     },
     getthebusfun() {
-      getthebus().then((res) => {
+      getthebus(1).then((res) => {
         if (res.code == 200) {
           this.buslist = res.rows;
         }
@@ -533,6 +546,7 @@ export default {
     /** 新增按钮操作 */
     handleAdd() {
       this.reset();
+      this.baoCun = true;
       this.open = true;
       this.title = "添加军车值班";
       this.qdflg = 1;
@@ -542,12 +556,26 @@ export default {
       this.reset();
       const id = row.id || this.ids;
       getMilitarydutyinfo(id).then((response) => {
+        this.baoCun = false;
         this.form = response.data;
         this.open = true;
         this.title = "修改军车值班";
         this.qdflg = 2;
       });
     },
+    // 保存并继续编辑按钮
+    submitForm1() {
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          this.form.timequjian = this.form.attendedTime;
+          this.form.attendedTime = this.form.attendedTime.join(",");
+          addMilitarydutyinfo(this.form).then((response) => {
+            this.getList();
+          });
+          this.reset();
+        }
+      });
+    },
     /** 提交按钮 */
     submitForm() {
       this.$refs["form"].validate((valid) => {
@@ -611,6 +639,7 @@ export default {
       this.form.carUnitName = val.deptName;
     },
     numberPlateNamechange(val) {
+      this.form.numberPlateId = val.id;
       this.form.numberPlateName = val.vehiclenumber;
       this.form.modelInfo = val.vehiclemodel;
     },

+ 164 - 5
src/views/combatduty/regisdutyinfo/index.vue

@@ -244,13 +244,123 @@
       @pagination="getList"
     />
 
-    <!-- 添加或修改装备登记对话框 -->
+    <!-- 添加装备登记对话框 -->
     <el-dialog
       :title="title"
       :visible.sync="open"
       width="1016px"
       append-to-body
       :close-on-click-modal="false"
+    >
+      <el-form
+        ref="form"
+        :model="form"
+        :rules="rules"
+        label-width="80px"
+        :inline="true"
+      >
+        <div class="jiben">基本信息</div>
+        <el-row
+          v-for="(item, i) in relatives"
+          :key="i"
+          style="margin-bottom: 20px"
+        >
+          <el-form-item label="单位名称" prop="unitName">
+            <el-select v-model="item.unitName" clearable placeholder="">
+              <el-option
+                v-for="dict in deptOptions"
+                :key="dict.deptId"
+                :label="dict.deptName"
+                :value="dict"
+                @click.native="unitNameClick(dict, i)"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <!-- @change="unitNamechange" -->
+          <!-- <el-form-item label="单位ID" prop="unitId">
+          <el-input v-model="form.unitId" placeholder="请输入单位ID" />
+        </el-form-item> -->
+          <el-form-item label="装备名称" prop="equipmentName">
+            <el-input v-model="item.equipmentName" placeholder="" />
+          </el-form-item>
+          <!-- <el-form-item label="装备ID" prop="equipmentId">
+          <el-input v-model="form.equipmentId" placeholder="请输入装备ID" />
+        </el-form-item> -->
+          <el-form-item label="装备数量" prop="equipmentNumber">
+            <el-input
+              v-model="item.equipmentNumber"
+              placeholder=""
+              type="Number"
+            />
+          </el-form-item>
+          <el-form-item label="类型" prop="type">
+            <el-select v-model="item.type" placeholder="">
+              <el-option
+                v-for="dict in dict.type.type_type"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="装备状态" prop="equipmentStates">
+            <el-select v-model="item.equipmentStates" placeholder="">
+              <el-option
+                v-for="dict in dict.type.equipment_status"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="待命位置" prop="standbyPosition">
+            <el-input v-model="item.standbyPosition" placeholder="" />
+          </el-form-item>
+          <el-form-item label="值班日期" prop="attendedTime">
+            <el-date-picker
+              clearable
+              size="small"
+              v-model="item.attendedTime"
+              type="date"
+              value-format="yyyy-MM-dd"
+              placeholder=""
+            >
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item style="margin-left: 156px">
+            <el-button
+              type="primary"
+              icon="el-icon-plus"
+              size="mini"
+              @click="addFormss"
+              v-if="i == relatives.length - 1"
+            ></el-button>
+            <el-button
+              type="danger"
+              icon="el-icon-delete"
+              size="mini"
+              v-if="i > 0"
+              @click="delFormss(i, item.id)"
+            ></el-button>
+          </el-form-item>
+        </el-row>
+        <div class="jiben">装备情况</div>
+        <el-form-item label="" prop="remarks">
+          <el-input v-model="form.remarks" type="textarea" placeholder="" />
+        </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="title"
+      :visible.sync="open1"
+      width="1016px"
+      append-to-body
+      :close-on-click-modal="false"
     >
       <el-form
         ref="form"
@@ -263,9 +373,9 @@
         <el-form-item label="单位名称" prop="unitName">
           <el-select
             v-model="form.unitName"
-            @change="unitNamechange"
             clearable
             placeholder=""
+            @change="unitNamechange"
           >
             <el-option
               v-for="dict in deptOptions"
@@ -275,6 +385,7 @@
             ></el-option>
           </el-select>
         </el-form-item>
+        <!-- @change="unitNamechange" -->
         <!-- <el-form-item label="单位ID" prop="unitId">
           <el-input v-model="form.unitId" placeholder="请输入单位ID" />
         </el-form-item> -->
@@ -395,6 +506,20 @@ export default {
       rules: {},
       //单位数据
       deptOptions: [],
+      // 添加多个基本信息
+      relatives: [
+        {
+          unitId: null,
+          equipmentName: null,
+          equipmentNumber: null,
+          type: null,
+          equipmentStates: null,
+          attendedTime: null,
+          standbyPosition: null,
+        },
+      ],
+      // 修改弹出层显示与隐藏
+      open1: false,
     };
   },
   created() {
@@ -402,9 +527,29 @@ export default {
     this.gettreeselect();
   },
   methods: {
+    // 单位提交
+    unitNameClick(date, i) {
+      this.relatives[i].unitName = date.deptName;
+      this.relatives[i].unitId = date.deptId;
+    },
+    //增加多个基本信息
+    addFormss() {
+      this.relatives.push({
+        unitId: null,
+        equipmentName: null,
+        equipmentNumber: null,
+        type: null,
+        equipmentStates: null,
+        attendedTime: null,
+        standbyPosition: null,
+      });
+    },
+    //删除多个基本信息
+    delFormss(e, id) {
+      this.relatives.splice(e, 1);
+    },
     gettreeselect() {
       getDept().then((res) => {
-        console.log(res);
         if (res.code == 200) {
           this.deptOptions = res.data;
         }
@@ -414,6 +559,7 @@ export default {
     getList() {
       this.loading = true;
       listRegisdutyinfo(this.queryParams).then((response) => {
+        console.log(response);
         this.regisdutyinfoList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -439,6 +585,17 @@ export default {
         attendedTime: null,
         remarks: null,
       };
+      this.relatives = [
+        {
+          unitId: null,
+          equipmentName: null,
+          equipmentNumber: null,
+          type: null,
+          equipmentStates: null,
+          attendedTime: null,
+          standbyPosition: null,
+        },
+      ];
       this.resetForm("form");
     },
     /** 搜索按钮操作 */
@@ -469,7 +626,7 @@ export default {
       const id = row.id || this.ids;
       getRegisdutyinfo(id).then((response) => {
         this.form = response.data;
-        this.open = true;
+        this.open1 = true;
         this.title = "修改装备登记";
       });
     },
@@ -480,10 +637,12 @@ export default {
           if (this.form.id != null) {
             updateRegisdutyinfo(this.form).then((response) => {
               this.$modal.msgSuccess("修改成功");
-              this.open = false;
+              this.open1 = false;
               this.getList();
             });
           } else {
+            this.form.regisDutyList = this.relatives;
+            // console.log(this.form);
             addRegisdutyinfo(this.form).then((response) => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;

+ 33 - 18
src/views/combatduty/taskdutyinfo/index.vue

@@ -461,10 +461,21 @@
         <!-- <el-form-item>
           <FileUpload v-model="form.taskdutyFus" />
         </el-form-item> -->
-        <div v-for="item in this.form.taskdutyFus" :key="item" style="margin-bottom:10px">
-          <span class="wordfile" style="color: white; margin-left: 10px">{{item.filename}}</span>
+        <div
+          v-for="item in this.form.taskdutyFus"
+          :key="item"
+          style="margin-bottom: 10px"
+        >
+          <span class="wordfile" style="color: white; margin-left: 10px">{{
+            item.filename
+          }}</span>
           <!-- <div> -->
-            <span href="item.filepath" style="color: white; margin-left: 10px;cursor:pointer;" @click="downloadss(item.filepath,item.filename)">下载附件</span>
+          <span
+            href="item.filepath"
+            style="color: white; margin-left: 10px; cursor: pointer"
+            @click="downloadss(item.filepath, item.filename)"
+            >下载附件</span
+          >
           <!-- </div> -->
         </div>
         <div class="jiben">事由</div>
@@ -571,7 +582,7 @@ export default {
     this.getrylist();
   },
   methods: {
-     downloadss(URL,name) {
+    downloadss(URL, name) {
       // console.log(URL)
       let xhr = new XMLHttpRequest();
       xhr.open("get", URL, true);
@@ -727,10 +738,10 @@ export default {
       const id = row.id || this.ids;
       getTaskdutyinfo(id).then((response) => {
         this.form = response.data;
-        this.form.taskdutyFus.forEach(item=>{
-          item.filepath=process.env.VUE_APP_BASE_API+item.filepath
-        })
-        console.log(this.form)
+        this.form.taskdutyFus.forEach((item) => {
+          item.filepath = process.env.VUE_APP_BASE_API + item.filepath;
+        });
+        console.log(this.form);
         this.open1 = true;
         this.title1 = "查看执行任务";
       });
@@ -755,17 +766,17 @@ export default {
       //   this.form.filepath.length - 1
       // );
       console.log(this.form);
-      if(this.form.taskdutyFus){
+      if (this.form.taskdutyFus) {
         this.form.taskdutyFus.forEach((item) => {
-        // 文件路径
-        item.filepath = item.url;
-        item.url=item.filepath;
-        // 文件名称
-        item.filename = item.name;
-        item.name=item.filename
-      });
+          // 文件路径
+          item.filepath = item.url;
+          item.url = item.filepath;
+          // 文件名称
+          item.filename = item.name;
+          item.name = item.filename;
+        });
       }
-      
+
       console.log(this.form);
       this.$refs["form"].validate((valid) => {
         if (valid) {
@@ -977,7 +988,7 @@ export default {
 ::v-deep .el-select-dropdown__item {
   color: white;
 }
-.wordfile{
+.wordfile {
   width: 840px;
   display: inline-block;
   height: 30px;
@@ -987,4 +998,8 @@ export default {
   /* text-align: center; */
   margin-bottom: 10px;
 }
+::v-deep .el-input.is-disabled .el-input__inner {
+  background-color: transparent;
+  color: #fff;
+}
 </style>

+ 534 - 18
src/views/peopleChuRu/bdglLeave/index.vue

@@ -208,7 +208,9 @@
           <el-col
             v-if="scope.row.status2 == 3"
             :title="
-              scope.row.bdglLeaveFus.length > 0 ? [1].specialApproval : ''
+              scope.row.bdglLeaveFus.length > 1
+                ? scope.row.bdglLeaveFus[1].specialApproval
+                : ''
             "
             style="color: #1f73d7"
             >特殊审批</el-col
@@ -247,7 +249,14 @@
             style="color: #ff4949"
             >已驳回</el-col
           >
-          <el-col v-if="scope.row.status3 == 3" style="color: #1f73d7"
+          <el-col
+            v-if="scope.row.status3 == 3"
+            style="color: #1f73d7"
+            :title="
+              scope.row.bdglLeaveFus.length > 2
+                ? scope.row.bdglLeaveFus[2].specialApproval
+                : ''
+            "
             >特殊审批</el-col
           >
         </template>
@@ -285,7 +294,14 @@
             style="color: #ff4949"
             >已驳回</el-col
           >
-          <el-col v-if="scope.row.status4 == 3" style="color: #1f73d7"
+          <el-col
+            v-if="scope.row.status4 == 3"
+            style="color: #1f73d7"
+            :title="
+              scope.row.bdglLeaveFus.length > 3
+                ? scope.row.bdglLeaveFus[3].specialApproval
+                : ''
+            "
             >特殊审批</el-col
           >
           <!-- :title="scope.row.bdglLeaveFus[3].specialApproval" -->
@@ -354,7 +370,7 @@
       :limit.sync="queryParams.pageSize"
       @pagination="getList"
     />
-    <!-- 添加或修改人员请假对话框 -->
+    <!-- 添加人员请假对话框 -->
     <el-dialog
       :title="title"
       :visible.sync="open"
@@ -576,6 +592,470 @@
       </div>
     </el-dialog>
 
+    <!-- 修改人员请假对话框 -->
+    <el-dialog
+      :title="title"
+      :visible.sync="open1"
+      width="500px"
+      append-to-body
+      :close-on-click-modal="false"
+    >
+      <el-form
+        ref="form"
+        :model="form"
+        :rules="rules"
+        label-width="80px"
+        inline
+      >
+        <div class="jiben">基本信息</div>
+
+        <el-form-item label="单位" prop="unitId">
+          <treeselect
+            v-model="form.unitId"
+            :options="deptOptions"
+            placeholder="请选择单位"
+            @select="selectPeo"
+            @open="blurSelect"
+            :disabled="xiugai"
+          />
+        </el-form-item>
+        <el-form-item label="请假人员" prop="peopleId">
+          <!-- <el-input v-model="form.peopleId" placeholder="请输入请假人员" /> -->
+          <el-select
+            v-model="form.peopleId"
+            placeholder="请输入请假人员"
+            ref="headerSearchSelect"
+            :disabled="xiugai"
+          >
+            <el-option
+              v-for="(item, i) in renYuan"
+              :key="i"
+              :label="item.name"
+              :value="item.id"
+              @click.native="qingRen(item.name)"
+              class="input_xiala"
+            >
+            </el-option>
+          </el-select>
+        </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="选择请假开始时间"
+          >
+          </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="选择请假结束时间"
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="请假类型" prop="leaveType">
+          <el-select v-model="form.leaveType" placeholder="请选择请假类型">
+            <!-- <el-option label="请选择字典生成" value="" /> -->
+            <el-option
+              v-for="item in ziDian"
+              :key="item.dictCode"
+              :label="item.dictLabel"
+              :value="item.dictValue"
+              class="input_xiala"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="离队时间" prop="departureTime">
+          <!-- <el-input v-model="form.departureTime" placeholder="请输入离队时间" /> -->
+          <el-date-picker
+            clearable
+            size="small"
+            v-model="form.departureTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请输入离队时间"
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="归队时间" prop="returnTime">
+          <!-- <el-input v-model="form.returnTime" placeholder="请输入归队时间" /> -->
+          <el-date-picker
+            clearable
+            size="small"
+            v-model="form.returnTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请输入归队时间"
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="一级审批人" prop="peopleId2">
+          <!-- <el-input v-model="form.peopleId2" placeholder="请输入二级审批人" /> -->
+          <el-select
+            v-model="form.peopleId1"
+            filterable
+            placeholder="请输入一级审批人"
+            ref="abcdef"
+            :disabled="xiugai"
+          >
+            <el-option
+              v-for="(item, i) in yongHu"
+              :key="i"
+              :label="item.nickName"
+              :value="item.userId"
+              @click.native="oneRen(item.nickName)"
+              class="input_xiala"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="二级审批人" prop="peopleId2">
+          <!-- <el-input v-model="form.peopleId2" placeholder="请输入二级审批人" /> -->
+          <el-select
+            v-model="form.peopleId2"
+            filterable
+            placeholder="请输入二级审批人"
+            ref="abcde"
+            :disabled="xiugai"
+          >
+            <el-option
+              v-for="(item, i) in yongHu"
+              :key="i"
+              :label="item.nickName"
+              :value="item.userId"
+              @click.native="twoRen(item.nickName)"
+              class="input_xiala"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="三级审批人" prop="peopleId3">
+          <!-- <el-input v-model="form.peopleId3" placeholder="请输入三级审批人" /> -->
+          <el-select
+            v-model="form.peopleId3"
+            filterable
+            placeholder="请输入三级审批人"
+            ref="abcd"
+            :disabled="xiugai"
+          >
+            <el-option
+              v-for="(item, i) in yongHu"
+              :key="i"
+              :label="item.nickName"
+              :value="item.userId"
+              @click.native="thereRen(item.nickName)"
+              class="input_xiala"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="四级审批人" prop="peopleId4">
+          <!-- <el-input v-model="form.peopleId4" placeholder="请输入四级审批人" /> -->
+          <el-select
+            v-model="form.peopleId4"
+            filterable
+            placeholder="请输入四级审批人"
+            ref="abc"
+            :disabled="xiugai"
+          >
+            <el-option
+              v-for="(item, i) in yongHu"
+              :key="i"
+              :label="item.nickName"
+              :value="item.userId"
+              @click.native="fourRen(item.nickName)"
+              class="input_xiala"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <div class="jiben">请假原因</div>
+        <el-form-item prop="leaveReason">
+          <el-input
+            v-model="form.leaveReason"
+            type="textarea"
+            placeholder="请输入内容"
+          />
+        </el-form-item>
+        <div class="jiben" v-if="statussp == '1'">驳回原因</div>
+        <el-form-item v-if="statussp == '1'" prop="reasons">
+          <el-input
+            v-model="form.reasons"
+            type="textarea"
+            placeholder="请输入内容"
+          />
+        </el-form-item>
+        <div class="jiben" v-if="statussp == '2'">驳回原因</div>
+        <el-form-item v-if="statussp == '2'" prop="reasons">
+          <el-input
+            v-model="form.reasons"
+            type="textarea"
+            placeholder="请输入内容"
+          />
+        </el-form-item>
+        <div class="jiben" v-if="statussp == '2'">特殊审批原因</div>
+        <el-form-item v-if="statussp == '2'" prop="reasons">
+          <el-input
+            v-model="form.specialApproval"
+            type="textarea"
+            placeholder="请输入内容"
+          />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer" v-if="statussp == '0'">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel" size="btn">取 消</el-button>
+      </div>
+      <div v-if="statussp == '1'" class="dialog-footer" slot="footer">
+        <el-button type="primary" @click="submitForms">通过</el-button>
+        <el-button @click="boHui" size="btn">驳回</el-button>
+      </div>
+    </el-dialog>
+
+    <!-- 审批人员请假对话框 -->
+    <el-dialog
+      :title="title"
+      :visible.sync="open2"
+      width="500px"
+      append-to-body
+      :close-on-click-modal="false"
+    >
+      <el-form
+        ref="form"
+        :model="form"
+        :rules="rules"
+        label-width="80px"
+        inline
+      >
+        <div class="jiben">基本信息</div>
+
+        <el-form-item label="单位" prop="unitId">
+          <treeselect
+            v-model="form.unitId"
+            :options="deptOptions"
+            placeholder="请选择单位"
+            @select="selectPeo"
+            @open="blurSelect"
+            disabled
+          />
+        </el-form-item>
+        <el-form-item label="请假人员" prop="peopleId">
+          <!-- <el-input v-model="form.peopleId" placeholder="请输入请假人员" /> -->
+          <el-select
+            v-model="form.peopleId"
+            placeholder="请输入请假人员"
+            ref="headerSearchSelect"
+            disabled
+          >
+            <el-option
+              v-for="(item, i) in renYuan"
+              :key="i"
+              :label="item.name"
+              :value="item.id"
+              @click.native="qingRen(item.name)"
+              class="input_xiala"
+            >
+            </el-option>
+          </el-select>
+        </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
+          >
+          </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
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="请假类型" prop="leaveType">
+          <el-select
+            v-model="form.leaveType"
+            placeholder="请选择请假类型"
+            disabled
+          >
+            <!-- <el-option label="请选择字典生成" value="" /> -->
+            <el-option
+              v-for="item in ziDian"
+              :key="item.dictCode"
+              :label="item.dictLabel"
+              :value="item.dictValue"
+              class="input_xiala"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="离队时间" prop="departureTime">
+          <!-- <el-input v-model="form.departureTime" placeholder="请输入离队时间" /> -->
+          <el-date-picker
+            clearable
+            size="small"
+            v-model="form.departureTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请输入离队时间"
+            disabled
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="归队时间" prop="returnTime">
+          <!-- <el-input v-model="form.returnTime" placeholder="请输入归队时间" /> -->
+          <el-date-picker
+            clearable
+            size="small"
+            v-model="form.returnTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请输入归队时间"
+            disabled
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="一级审批人" prop="peopleId2">
+          <!-- <el-input v-model="form.peopleId2" placeholder="请输入二级审批人" /> -->
+          <el-select
+            v-model="form.peopleId1"
+            filterable
+            placeholder="请输入一级审批人"
+            ref="abcdef"
+            disabled
+          >
+            <el-option
+              v-for="(item, i) in yongHu"
+              :key="i"
+              :label="item.nickName"
+              :value="item.userId"
+              @click.native="oneRen(item.nickName)"
+              class="input_xiala"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="二级审批人" prop="peopleId2">
+          <!-- <el-input v-model="form.peopleId2" placeholder="请输入二级审批人" /> -->
+          <el-select
+            v-model="form.peopleId2"
+            filterable
+            placeholder="请输入二级审批人"
+            ref="abcde"
+            disabled
+          >
+            <el-option
+              v-for="(item, i) in yongHu"
+              :key="i"
+              :label="item.nickName"
+              :value="item.userId"
+              @click.native="twoRen(item.nickName)"
+              class="input_xiala"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="三级审批人" prop="peopleId3">
+          <!-- <el-input v-model="form.peopleId3" placeholder="请输入三级审批人" /> -->
+          <el-select
+            v-model="form.peopleId3"
+            filterable
+            placeholder="请输入三级审批人"
+            ref="abcd"
+            disabled
+          >
+            <el-option
+              v-for="(item, i) in yongHu"
+              :key="i"
+              :label="item.nickName"
+              :value="item.userId"
+              @click.native="thereRen(item.nickName)"
+              class="input_xiala"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="四级审批人" prop="peopleId4">
+          <!-- <el-input v-model="form.peopleId4" placeholder="请输入四级审批人" /> -->
+          <el-select
+            v-model="form.peopleId4"
+            filterable
+            placeholder="请输入四级审批人"
+            ref="abc"
+            disabled
+          >
+            <el-option
+              v-for="(item, i) in yongHu"
+              :key="i"
+              :label="item.nickName"
+              :value="item.userId"
+              @click.native="fourRen(item.nickName)"
+              class="input_xiala"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <div class="jiben">请假原因</div>
+        <el-form-item prop="leaveReason">
+          <el-input
+            v-model="form.leaveReason"
+            type="textarea"
+            placeholder="请输入内容"
+            disabled
+          />
+        </el-form-item>
+        <div class="jiben" v-if="statussp == '1'">驳回原因</div>
+        <el-form-item v-if="statussp == '1'" prop="reasons">
+          <el-input
+            v-model="form.reasons"
+            type="textarea"
+            placeholder="请输入内容"
+          />
+        </el-form-item>
+        <div class="jiben" v-if="statussp == '2'">驳回原因</div>
+        <el-form-item v-if="statussp == '2'" prop="reasons">
+          <el-input
+            v-model="form.reasons"
+            type="textarea"
+            placeholder="请输入内容"
+          />
+        </el-form-item>
+        <div class="jiben" v-if="statussp == '2'">特殊审批原因</div>
+        <el-form-item v-if="statussp == '2'" prop="reasons">
+          <el-input
+            v-model="form.specialApproval"
+            type="textarea"
+            placeholder="请输入内容"
+          />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer" v-if="statussp == '0'">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel" size="btn">取 消</el-button>
+      </div>
+      <div v-if="statussp == '1'" class="dialog-footer" slot="footer">
+        <el-button type="primary" @click="submitForms">通过</el-button>
+        <el-button @click="boHui" size="btn">驳回</el-button>
+      </div>
+    </el-dialog>
     <!--特殊审批对话框 -->
     <el-dialog
       :title="title"
@@ -597,6 +1077,7 @@
             placeholder="选择单位"
             @select="selectPeo"
             @open="blurSelect"
+            disabled
           />
         </el-form-item>
         <el-form-item label="请假人员" prop="peopleId">
@@ -604,6 +1085,7 @@
             v-model="form.peopleId"
             placeholder="请选择请假人员"
             ref="headerSearchSelect"
+            disabled
           >
             <el-option
               v-for="(item, i) in renYuan"
@@ -624,6 +1106,7 @@
             type="date"
             value-format="yyyy-MM-dd"
             placeholder="选择请假开始时间"
+            disabled
           >
           </el-date-picker>
         </el-form-item>
@@ -635,11 +1118,16 @@
             type="date"
             value-format="yyyy-MM-dd"
             placeholder="选择请假结束时间"
+            disabled
           >
           </el-date-picker>
         </el-form-item>
         <el-form-item label="请假类型" prop="leaveType">
-          <el-select v-model="form.leaveType" placeholder="请选择请假类型">
+          <el-select
+            v-model="form.leaveType"
+            placeholder="请选择请假类型"
+            disabled
+          >
             <el-option
               v-for="item in ziDian"
               :key="item.dictCode"
@@ -656,6 +1144,7 @@
             type="date"
             value-format="yyyy-MM-dd"
             placeholder="请输入离队时间"
+            disabled
           >
           </el-date-picker>
         </el-form-item>
@@ -667,6 +1156,7 @@
             type="date"
             value-format="yyyy-MM-dd"
             placeholder="请输入归队时间"
+            disabled
           >
           </el-date-picker>
         </el-form-item>
@@ -676,6 +1166,7 @@
             filterable
             placeholder="请输入一级审批人"
             ref="abcdef"
+            disabled
           >
             <el-option
               v-for="(item, i) in yongHu"
@@ -693,6 +1184,7 @@
             filterable
             placeholder="请输入二级审批人"
             ref="abcde"
+            disabled
           >
             <el-option
               v-for="(item, i) in yongHu"
@@ -710,6 +1202,7 @@
             filterable
             placeholder="请输入三级审批人"
             ref="abcd"
+            disabled
           >
             <el-option
               v-for="(item, i) in yongHu"
@@ -727,6 +1220,7 @@
             filterable
             placeholder="请输入四级审批人"
             ref="abc"
+            disabled
           >
             <el-option
               v-for="(item, i) in yongHu"
@@ -744,10 +1238,11 @@
             v-model="form.leaveReason"
             type="textarea"
             placeholder="请输入内容"
+            disabled
           />
         </el-form-item>
         <div class="jiben">驳回原因</div>
-        <el-form-item prop="reasons">
+        <el-form-item prop="">
           <el-input
             v-model="form.reasons"
             type="textarea"
@@ -782,7 +1277,7 @@ import {
 } from "@/api/peopleChuRu/bdglLeave";
 
 import {
-  getUser,
+  getUserzs,
   getDept,
   getQuanBu,
 } from "@/api/grassrootsregistration/bdglmeeting";
@@ -915,6 +1410,12 @@ export default {
       shenPis: {},
       // 特殊审批对象
       teShu: {},
+      // 修改弹出层
+      open1: false,
+      // 修改审批人禁止修改
+      xiugai: false,
+      // 审批弹出层显示与隐藏
+      open2: false,
     };
   },
   created() {
@@ -955,6 +1456,7 @@ export default {
       const id = row.id || this.ids;
       getBdglLeave(id).then((response) => {
         this.form = response.data;
+        this.form.specialApproval = null;
         this.getYong(this.form.unitId);
         this.getRen(this.form.unitId);
         this.opens = true;
@@ -973,10 +1475,9 @@ export default {
       const id = row.id || this.ids;
       getBdglLeave(id).then((response) => {
         this.form = response.data;
-        console.log(this.form);
         this.getYong(this.form.unitId);
         this.getRen(this.form.unitId);
-        this.open = true;
+        this.open2 = true;
         this.title = "审批人员请假";
       });
     },
@@ -1036,8 +1537,8 @@ export default {
     },
     // 获取用户列表
     getYong(id) {
-      getUser(id).then((res) => {
-        this.yongHu = res.data;
+      getUserzs(id).then((res) => {
+        this.yongHu = res.rows;
       });
     },
     // 获取人员
@@ -1058,6 +1559,8 @@ export default {
     // 取消按钮
     cancel() {
       this.open = false;
+      this.open1 = false;
+      this.open2 = false;
       this.reset();
     },
     //审批通过按钮
@@ -1065,22 +1568,23 @@ export default {
       if (this.shenPis.shenPiJiBie == "一级") {
         this.form.status1 = 1;
         this.form.contents = "一级审批通过";
+        // console.log("一级");
       } else if (this.shenPis.shenPiJiBie == "二级") {
         this.form.status2 = 1;
         this.form.contents = "二级审批通过";
-        console.log("二级");
+        // console.log("二级");
       } else if (this.shenPis.shenPiJiBie == "三级") {
         this.form.status3 = 1;
         this.form.contents = "三级审批通过";
-        console.log("三级");
+        // console.log("三级");
       } else if (this.shenPis.shenPiJiBie == "四级") {
         this.form.status4 = 1;
         this.form.contents = "四级审批通过";
-        console.log("四级");
+        // console.log("四级");
       }
       updateBdglLeave(this.form).then((response) => {
         this.$modal.msgSuccess("审批成功");
-        this.open = false;
+        this.open2 = false;
         this.getList();
       });
     },
@@ -1103,7 +1607,7 @@ export default {
           }
           updateBdglLeave(this.form).then((response) => {
             this.$modal.msgSuccess("审批成功");
-            this.open = false;
+            this.open2 = false;
             this.getList();
           });
         }
@@ -1201,7 +1705,6 @@ export default {
         contents: null,
         statusd: null,
         rejoin: null,
-        specialApproval: null,
       };
       this.resetForm("form");
     },
@@ -1235,7 +1738,16 @@ export default {
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
+      console.log(row);
       this.statussp = "0";
+      if (
+        row.status1 != 0 ||
+        row.status2 != 0 ||
+        row.status3 != 0 ||
+        row.status4 != 0
+      ) {
+        this.xiugai = true;
+      }
       this.getBuMeng();
       // 获取字典类型
       this.getdict();
@@ -1245,7 +1757,7 @@ export default {
         this.form = response.data;
         this.getYong(this.form.unitId);
         this.getRen(this.form.unitId);
-        this.open = true;
+        this.open1 = true;
         this.title = "修改人员请假";
       });
     },
@@ -1468,4 +1980,8 @@ export default {
 ::v-deep .box {
   background-color: #ffba00 !important;
 }
+::v-deep .el-input.is-disabled .el-input__inner {
+  background-color: transparent;
+  color: #fff;
+}
 </style>

+ 3 - 0
src/views/peopleManage/people/index.vue

@@ -2155,4 +2155,7 @@ export default {
   padding: 0px 18px;
   margin-right: 230px;
 }
+::v-deep img {
+  object-fit: cover;
+}
 </style>

+ 31 - 17
src/views/pt.vue

@@ -354,7 +354,9 @@
           <div class="num1">
             <div class="num2">
               <img src="../images/db.png" alt />
-              <span>待办事项</span>
+              <span style="font-family: siyuanbold; font-size: 15.5px"
+                >待办事项</span
+              >
             </div>
             <ul class="num1-ul">
               <div class="num2-ul-title">
@@ -377,10 +379,11 @@
           <div class="num1">
             <div class="num2">
               <img src="../assets/images/通知公告.png" alt />
-              <span>通知公告</span>
+              <span style="font-family: siyuanbold; font-size: 15.5px"
+                >通知公告</span
+              >
             </div>
-            <div class="addspan" @click="tiaddfun"
-              >查看更多</div>
+            <div class="addspan" @click="tiaddfun">查看更多</div>
             <div class="num1-box">
               <div
                 class="num1-box-div"
@@ -389,7 +392,15 @@
                 @click="tzggfun(item)"
               >
                 <div class="num1-box-l">
-                  <span style="color: #BCBCBC;font-size:14px;font-weight: 400;margin-right:10px">{{item.createTime}}</span>
+                  <span
+                    style="
+                      color: #bcbcbc;
+                      font-size: 14px;
+                      font-weight: 400;
+                      margin-right: 10px;
+                    "
+                    >{{ item.createTime }}</span
+                  >
                   {{ item.noticeTitle }}
                 </div>
                 <div class="num1-box-r">
@@ -741,7 +752,7 @@ export default {
     getlist() {
       listNotice().then((res) => {
         this.noticeList = res.data;
-        console.log(this.noticeList)
+        console.log(this.noticeList);
       });
     },
     getworklist() {
@@ -1125,7 +1136,7 @@ li {
 .demo {
   color: #fff;
   width: 107px;
-  height: 90%;
+  height: 95%;
   background: url("../images/tx.png") no-repeat;
   text-align: center;
   margin-top: 10%;
@@ -1197,10 +1208,10 @@ hr {
 .num1 {
   color: #fff;
   width: 529px;
-  height: 41.5vh;
-  background: url("../images/rd.png") no-repeat;
-  margin-bottom: 20px;
-  padding: 30px 20px 0px 20px;
+  height: 41vh;
+  background: url("../images/底3.png") no-repeat;
+  margin-bottom: 10px;
+  padding: 16px 20px 0px 20px;
   background-size: 100% 100%;
 }
 .num1 img {
@@ -1244,7 +1255,7 @@ hr {
 .num1-box {
   width: 100%;
   height: 86%;
-  margin-top: 10%;
+  margin-top: 5%;
 }
 .num1-box .num1-box-div {
   width: 100%;
@@ -1267,7 +1278,7 @@ hr {
   text-align: left;
   margin-left: 10px;
   text-overflow: ellipsis;
-  white-space: nowrap; 
+  white-space: nowrap;
   overflow: hidden;
 }
 .num1-box-r {
@@ -1281,7 +1292,7 @@ hr {
 .num1-ul {
   width: 100%;
   height: 86%;
-  margin-top: 5%;
+  margin-top: 2%;
 }
 .num1-ul-li {
   width: 100%;
@@ -1386,6 +1397,9 @@ hr {
 .num1 {
   position: relative;
 }
+.num1 .addspan:hover {
+  color: #1d96ff;
+}
 .num1 .addspan {
   width: 80px;
   /* background-color: pink; */
@@ -1397,13 +1411,13 @@ hr {
   font-size: 14px;
   cursor: pointer;
   color: #dcdcdc;
-  background-image: url("../images/查看更多箭头.png");
   background-repeat: no-repeat;
   /* margin-left: 3.5px; */
   background-position: 70px 5px;
   position: absolute;
-  right: 3.7%;
-  top: 4%;
+  right: 1.6%;
+  top: 2%;
+  font-family: siyuan;
 }
 ::v-deep .el-dialog {
   background-color: #004d86;