zxr 2 tahun lalu
induk
melakukan
81b01ed0f7

+ 9 - 2
src/api/PrintsManage/manage.js

@@ -90,7 +90,7 @@ export function listPeople(query) {
 
 //打印获取详情
 export function printCode(data) {
-  return request({  
+  return request({
     url: "/PrintsLog/printlog/printCode",
     method: "POST",
     data: data,
@@ -115,4 +115,11 @@ export function tkbox(data) {
   });
 }
 
-
+// 集中文印统计
+export function printCount(query) {
+  return request({
+    url: "/PrintsManage/manage/printCount",
+    method: "get",
+    params: query
+  });
+}

+ 10 - 1
src/api/barracksManagement/barracks.js

@@ -50,4 +50,13 @@ export function exportBarracks(query) {
     method: 'get',
     params: query
   })
-}
+}
+
+// 营房统计
+export function getnumber(query) {
+  return request({
+    url: '/barracksManagement/barracks/getnumber',
+    method: 'get',
+    params: query
+  })
+}

+ 10 - 0
src/api/materialManagement/WarehouseStatistics.js

@@ -0,0 +1,10 @@
+import request from '@/utils/request'
+
+// 查询物资档案列表
+export function listArchives(query) {
+  return request({
+    url: '/materialManagement/materialRegistration/storageStatistics',
+    method: 'get',
+    params: query
+  })
+}

+ 10 - 2
src/api/peopleManage/people.js

@@ -52,7 +52,7 @@ export function exportPeople(query) {
   })
 }
 
-// 查询部门 
+// 查询部门
 export function getDept(query) {
   return request({
     url: '/system/dept/list',
@@ -66,4 +66,12 @@ export function treeselect() {
     url: '/system/dept/treeselect',
     method: 'get'
   })
-}
+}
+
+// 统计人员人数
+export function countNumber() {
+  return request({
+    url: '/peopleManage/people/countNumber',
+    method: 'get'
+  })
+}

+ 47 - 0
src/api/system/time.js

@@ -0,0 +1,47 @@
+import request from '@/utils/request'
+
+// 查询截止日期设置列表
+export function listTime(query) {
+  return request({
+    url: '/system/time/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询截止日期设置详细
+export function getTime(id) {
+  return request({
+    url: '/system/time/' + id,
+    method: 'get'
+  })
+}
+
+// 新增截止日期设置
+
+export function addTime(data) {
+  return request({
+    url: '/system/time',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改截止日期设置
+
+export function updateTime(data) {
+  return request({
+    url: '/system/time',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除截止日期设置
+
+export function delTime(id) {
+  return request({
+    url: '/system/time/' + id,
+    method: 'delete'
+  })
+}

File diff ditekan karena terlalu besar
+ 149 - 270
src/views/PrintsManage/manage/index.vue


+ 105 - 70
src/views/barracksManagement/barracks/index.vue

@@ -40,8 +40,7 @@
           size="mini"
           @click="handleAdd"
           v-hasPermi="['barracksManagement:barracks:add']"
-          >新增</el-button
-        >
+        >新增</el-button>
       </el-col>
       <!-- <el-col :span="1.5">
         <el-button
@@ -54,7 +53,7 @@
           v-hasPermi="['barracksManagement:barracks:edit']"
           >修改</el-button
         >
-      </el-col> -->
+      </el-col>-->
       <el-col :span="1.5">
         <el-button
           type="danger"
@@ -64,8 +63,7 @@
           :disabled="multiple"
           @click="handleDelete"
           v-hasPermi="['barracksManagement:barracks:remove']"
-          >删除</el-button
-        >
+        >删除</el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -76,28 +74,52 @@
           :loading="exportLoading"
           @click="handleExport"
           v-hasPermi="['barracksManagement:barracks:export']"
-          >导出</el-button
-        >
+        >导出</el-button>
       </el-col>
       <!-- <right-toolbar
         :showSearch.sync="showSearch"
         @queryTable="getList"
-      ></right-toolbar> -->
+      ></right-toolbar>-->
     </el-row>
-
-    <el-table
-      v-loading="loading"
-      :data="barracksList"
-      @selection-change="handleSelectionChange"
-    >
+    <div class="hezi">
+      <div class="tji">营房统计</div>
+      <div style="display: flex; flex-wrap: wrap; padding: 11px 20px">
+        <div style="width:33.3%; display: flex; align-items: center; height: 100px">
+          <div class="div-l" style="flex: 2; text-align: right; margin-right: 30px">
+            <span>公寓</span>
+          </div>
+          <div class="div-r" style="flex: 1; text-align: right; margin-right: 10%">
+            <span>
+              <span style="font-size: 25px; margin-right: 18px">{{ tongJiList.gongYu }}</span>
+            </span>
+          </div>
+        </div>
+        <div style="width:33.3%; display: flex; align-items: center; height: 100px">
+          <div class="div-l" style="flex: 2; text-align: right; margin-right: 30px">
+            <span>宿舍</span>
+          </div>
+          <div class="div-r" style="flex: 1; text-align: right; margin-right: 10%">
+            <span>
+              <span style="font-size: 25px; margin-right: 18px">{{ tongJiList.suShe }}</span>
+            </span>
+          </div>
+        </div>
+        <div style="width:33.3%; display: flex; align-items: center; height: 100px">
+          <div class="div-l" style="flex: 2; text-align: right; margin-right: 30px">
+            <span>营房</span>
+          </div>
+          <div class="div-r" style="flex: 1; text-align: right; margin-right: 10%">
+            <span>
+              <span style="font-size: 25px; margin-right: 18px">{{ tongJiList.yingFang }}</span>
+            </span>
+          </div>
+        </div>
+      </div>
+    </div>
+    <el-table v-loading="loading" :data="barracksList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="序号" type="index" width="50"> </el-table-column>
-      <el-table-column
-        label="坐落号"
-        align="center"
-        prop="number"
-        width="150px"
-      />
+      <el-table-column label="序号" type="index" width="50"></el-table-column>
+      <el-table-column label="坐落号" align="center" prop="number" width="150px" />
       <el-table-column label="分栋号" align="center" prop="number1" />
       <el-table-column label="分栋名称" align="center" prop="name" />
       <el-table-column label="营房用途" align="center" prop="behoof" />
@@ -111,32 +133,21 @@
           <!-- rTime -->
         </template>
       </el-table-column>
-      <el-table-column
-        label="备注"
-        align="center"
-        prop="remark"
-        show-overflow-tooltip
-      />
-      <el-table-column
-        label="操作"
-        align="center"
-        class-name="small-padding fixed-width"
-      >
+      <el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
             size="btu"
             type="text"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['barracksManagement:barracks:edit']"
-            >修改</el-button
-          >
+          >修改</el-button>
           <el-button
             size="btd"
             type="text"
             @click="handleDelete(scope.row)"
             v-hasPermi="['barracksManagement:barracks:remove']"
-            >删除</el-button
-          >
+          >删除</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -157,13 +168,7 @@
       append-to-body
       :close-on-click-modal="false"
     >
-      <el-form
-        ref="form"
-        :model="form"
-        :rules="rules"
-        label-width="80px"
-        :inline="true"
-      >
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px" :inline="true">
         <el-form-item label="坐落号" prop="number">
           <el-input v-model="form.number" />
         </el-form-item>
@@ -188,11 +193,7 @@
         <div class="jibens">备注</div>
         <el-form-item prop="remark">
           <!-- <el-input v-model="form.remark" placeholder="请输入备注" /> -->
-          <el-input
-            v-model="form.remark"
-            type="textarea"
-            placeholder="请输入内容"
-          />
+          <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -211,12 +212,21 @@ import {
   addBarracks,
   updateBarracks,
   exportBarracks,
+  getnumber
 } from "@/api/barracksManagement/barracks";
 
 export default {
   name: "Barracks",
   data() {
     return {
+      tongJiList: [
+        { name: "共有营房", num: 0 },
+        { name: "宿舍", num: 0 },
+        { name: "办公用房", num: 0 },
+        { name: "专业用房", num: 0 },
+        { name: "公共用房", num: 0 },
+        { name: "公寓", num: 0 }
+      ],
       // 遮罩层
       loading: true,
       // 导出遮罩层
@@ -249,44 +259,46 @@ export default {
         period: null,
         area: null,
         createtime: null,
-        updatetime: null,
+        updatetime: null
       },
       // 表单参数
       form: {},
       // 表单校验
       rules: {
         number: [
-          { required: true, message: "坐落号不能为空", trigger: "blur" },
+          { required: true, message: "坐落号不能为空", trigger: "blur" }
         ],
         number1: [
-          { required: true, message: "分栋号不能为空", trigger: "blur" },
+          { required: true, message: "分栋号不能为空", trigger: "blur" }
         ],
         name: [
-          { required: true, message: "分栋名称不能为空", trigger: "blur" },
+          { required: true, message: "分栋名称不能为空", trigger: "blur" }
         ],
         behoof: [
-          { required: true, message: "营房用途不能为空", trigger: "blur" },
+          { required: true, message: "营房用途不能为空", trigger: "blur" }
         ],
         statusQuo: [
-          { required: true, message: "利用现状不能为空", trigger: "blur" },
+          { required: true, message: "利用现状不能为空", trigger: "blur" }
         ],
         period: [
-          { required: true, message: "建筑年代不能为空", trigger: "blur" },
-        ],
-        area: [
-          { required: true, message: "建筑面积不能为空", trigger: "blur" },
+          { required: true, message: "建筑年代不能为空", trigger: "blur" }
         ],
-      },
+        area: [{ required: true, message: "建筑面积不能为空", trigger: "blur" }]
+      }
     };
   },
   created() {
     this.getList();
+    getnumber().then(res => {
+      this.tongJiList = res.data;
+      console.log(res, 11);
+    });
   },
   methods: {
     /** 查询营房档案列表 */
     getList() {
       this.loading = true;
-      listBarracks(this.queryParams).then((response) => {
+      listBarracks(this.queryParams).then(response => {
         this.barracksList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -310,7 +322,7 @@ export default {
         area: null,
         remark: null,
         createtime: null,
-        updatetime: null,
+        updatetime: null
       };
       this.resetForm("form");
     },
@@ -326,7 +338,7 @@ export default {
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.id);
+      this.ids = selection.map(item => item.id);
       this.single = selection.length !== 1;
       this.multiple = !selection.length;
     },
@@ -340,7 +352,7 @@ export default {
     handleUpdate(row) {
       this.reset();
       const id = row.id || this.ids;
-      getBarracks(id).then((response) => {
+      getBarracks(id).then(response => {
         this.form = response.data;
         this.open = true;
         this.title = "修改营房档案";
@@ -348,16 +360,16 @@ export default {
     },
     /** 提交按钮 */
     submitForm() {
-      this.$refs["form"].validate((valid) => {
+      this.$refs["form"].validate(valid => {
         if (valid) {
           if (this.form.id != null) {
-            updateBarracks(this.form).then((response) => {
+            updateBarracks(this.form).then(response => {
               this.$modal.msgSuccess("修改成功");
               this.open = false;
               this.getList();
             });
           } else {
-            addBarracks(this.form).then((response) => {
+            addBarracks(this.form).then(response => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;
               this.getList();
@@ -389,13 +401,13 @@ export default {
           this.exportLoading = true;
           return exportBarracks(queryParams);
         })
-        .then((response) => {
+        .then(response => {
           this.$download.name(response.msg);
           this.exportLoading = false;
         })
         .catch(() => {});
-    },
-  },
+    }
+  }
 };
 </script>
 <style scoped>
@@ -498,4 +510,27 @@ export default {
   width: 200px;
   height: 36px;
 }
-</style>
+.hezi {
+  margin-bottom: 13px;
+  margin-top: 15px;
+  position: relative;
+  background: rgb(0, 60, 105);
+  color: #fff;
+  font-size: 18px;
+  font-weight: 600;
+}
+
+.tji {
+  width: 176px;
+  height: 36px;
+  text-align: center;
+  line-height: 36px;
+  position: absolute;
+  top: -18px;
+  right: 87px;
+  color: #fff;
+  font-size: 18px;
+  font-weight: 600;
+  background: #004d86;
+}
+</style>

+ 63 - 83
src/views/bdglregular/regularcountinfo/index.vue

@@ -41,42 +41,18 @@
         >
           <!-- <el-table-column type="selection" width="55" align="center" /> -->
           <el-table-column label="序号" align="center" type="index" />
-          <el-table-column
-            label="受检单位"
-            align="center"
-            prop="inspectedUnit"
-          />
-          <el-table-column
-            label="检查单位"
-            align="center"
-            prop="unitCheck"
-          ></el-table-column>
-          <el-table-column
-            label="状态"
-            align="center"
-            prop="currentState"
-          ></el-table-column>
+          <el-table-column label="受检单位" align="center" prop="inspectedUnit" />
+          <el-table-column label="检查单位" align="center" prop="unitCheck"></el-table-column>
+          <el-table-column label="状态" align="center" prop="currentState"></el-table-column>
           <el-table-column label="减分" align="center" prop="score">
             <template slot-scope="scope">
               <div style="color: rgb(255 106 0)">{{ scope.row.score }}</div>
             </template>
           </el-table-column>
-          <el-table-column
-            label="事由"
-            show-overflow-tooltip
-            align="center"
-            prop="question"
-          />
-          <el-table-column
-            label="整改时间"
-            align="center"
-            prop="rectificationTime"
-            width="180"
-          >
+          <el-table-column label="事由" show-overflow-tooltip align="center" prop="question" />
+          <el-table-column label="整改时间" align="center" prop="rectificationTime" width="180">
             <template slot-scope="scope">
-              <span>
-                {{ parseTime(scope.row.rectificationTime, "{y}-{m}-{d}") }}
-              </span>
+              <span>{{ parseTime(scope.row.rectificationTime, "{y}-{m}-{d}") }}</span>
             </template>
           </el-table-column>
         </el-table>
@@ -116,7 +92,7 @@ import {
   pendingacceptance,
   completeproportion,
   unitproportion,
-  getRegularinfo,
+  getRegularinfo
 } from "@/api/bdglregular/regularcountinfo";
 import * as echarts from "echarts";
 import Cookies from "js-cookie";
@@ -126,7 +102,7 @@ export default {
     return {
       peopleList: [],
       peopleList2: [],
-      peopleList3: [],
+      peopleList3: []
     };
   },
   created() {
@@ -143,31 +119,31 @@ export default {
   },
   methods: {
     getlist() {
-      unitrank().then((res) => {
+      unitrank().then(res => {
         if (res.code == 200) {
           this.peopleList = res.data;
 
-          this.peopleList.forEach((item) => {
+          this.peopleList.forEach(item => {
             return (item.zongfen = item.zongfen.split(".")[0]);
           });
-          this.peopleList.forEach((item) => {
+          this.peopleList.forEach(item => {
             return (item.subscore = item.subscore.split(".")[0]);
           });
-          this.peopleList.forEach((item) => {
+          this.peopleList.forEach(item => {
             return (item.addscore = item.addscore.split(".")[0]);
           });
         }
       });
     },
     getlist2() {
-      pendingacceptance().then((res) => {
+      pendingacceptance().then(res => {
         if (res.code == 200) {
           this.peopleList2 = res.data;
         }
       });
     },
     getlist3() {
-      completeproportion().then((res) => {
+      completeproportion().then(res => {
         if (res.code == 200) {
           var myChart = echarts.init(
             document.getElementById("foot-left-content")
@@ -176,22 +152,22 @@ export default {
             title: {
               text: "",
               subtext: "",
-              left: "",
+              left: ""
             },
             tooltip: {
               trigger: "item",
-              formatter: "{a} <br/>{b} : {c} ({d}%)",
+              formatter: "{a} <br/>{b} : {c} ({d}%)"
             },
-            color: ["#5470c6", "#fac858", "#ee6666", "#91cc75"],
+            color: ["#5470c6", "#fac858", "#ee6666", "#91cc75", "#409EFF"],
             legend: {
               orient: "vertical",
               right: "0",
               top: "10%",
               itemGap: 20,
               textStyle: {
-                color: "#fff",
+                color: "#fff"
               },
-              data: ["待处理", "待验收", "未通过", "已通过"],
+              data: ["待处理", "待验收", "未通过", "已通过", "已逾期"]
             },
             series: [
               {
@@ -206,9 +182,9 @@ export default {
                     textStyle: {
                       fontWeight: 300,
                       fontSize: 16,
-                      color: "#fff",
-                    },
-                  },
+                      color: "#fff"
+                    }
+                  }
                 },
                 data: [
                   {
@@ -216,42 +192,46 @@ export default {
                       res.data[0].daiyanshou == 0
                         ? null
                         : res.data[0].daiyanshou,
-                    name: "待验收",
+                    name: "待验收"
                   },
                   {
                     value:
                       res.data[0].daichuli == 0 ? null : res.data[0].daichuli,
-                    name: "待处理",
+                    name: "待处理"
                   },
                   {
                     value:
                       res.data[0].weitongguo == 0
                         ? null
                         : res.data[0].weitongguo,
-                    name: "未通过",
+                    name: "未通过"
                   },
                   {
                     value:
                       res.data[0].yitongguo == 0 ? null : res.data[0].yitongguo,
-                    name: "已通过",
+                    name: "已通过"
                   },
+                  {
+                    value: res.data[0].yiYuQi == 0 ? null : res.data[0].yiYuQi,
+                    name: "已逾期"
+                  }
                 ],
                 emphasis: {
                   itemStyle: {
                     shadowBlur: 10,
                     shadowOffsetX: 0,
-                    shadowColor: "rgba(0, 0, 0, 0.5)",
-                  },
+                    shadowColor: "rgba(0, 0, 0, 0.5)"
+                  }
                 },
                 itemStyle: {
                   normal: {
                     //饼状图阴影,值越大阴影亮度越高
                     shadowBlur: 5,
-                    shadowColor: "#93DDFF",
-                  },
-                },
-              },
-            ],
+                    shadowColor: "#93DDFF"
+                  }
+                }
+              }
+            ]
           };
           if (
             res.data[0].daiyanshou == 0 &&
@@ -261,7 +241,7 @@ export default {
           ) {
             option.color = ["#255F8A"];
             option.tooltip = {
-              show: false,
+              show: false
             };
             option.series[0].data = [{ value: 0, name: "无" }];
           }
@@ -272,7 +252,7 @@ export default {
     },
     getlist4() {},
     echarfun() {
-      unitproportion().then((res) => {
+      unitproportion().then(res => {
         if (res.code == 200) {
           this.peopleList3 = res.data;
           var roseCharts = document.getElementsByClassName("block");
@@ -290,13 +270,13 @@ export default {
                   color: "#ffff",
                   // fontSize: 12,
                   fontStyle: "normal",
-                  fontWeight: "normal",
-                },
+                  fontWeight: "normal"
+                }
               },
               color: ["#5470c6", "#fac858", "#ee6666", "#91cc75"],
               tooltip: {
                 trigger: "item",
-                formatter: "{a} <br/>{b} : {c} ({d}%)",
+                formatter: "{a} <br/>{b} : {c} ({d}%)"
               },
               // legend: {
               //   orient: "vertical",
@@ -322,9 +302,9 @@ export default {
                       textStyle: {
                         fontWeight: 300,
                         fontSize: 16,
-                        color: "#fff",
-                      },
-                    },
+                        color: "#fff"
+                      }
+                    }
                   },
                   data: [
                     {
@@ -333,7 +313,7 @@ export default {
                           ? null
                           : this.peopleList3[i].daiyanshou,
                       name: "待验收",
-                      id: this.peopleList3[i].deptId,
+                      id: this.peopleList3[i].deptId
                     },
                     {
                       value:
@@ -341,7 +321,7 @@ export default {
                           ? null
                           : this.peopleList3[i].daichuli,
                       name: "待处理",
-                      id: this.peopleList3[i].deptId,
+                      id: this.peopleList3[i].deptId
                     },
                     {
                       value:
@@ -349,7 +329,7 @@ export default {
                           ? null
                           : this.peopleList3[i].weitongguo,
                       name: "未通过",
-                      id: this.peopleList3[i].deptId,
+                      id: this.peopleList3[i].deptId
                     },
                     {
                       value:
@@ -357,25 +337,25 @@ export default {
                           ? null
                           : this.peopleList3[i].yitongguo,
                       name: "已通过",
-                      id: this.peopleList3[i].deptId,
-                    },
+                      id: this.peopleList3[i].deptId
+                    }
                   ],
                   emphasis: {
                     itemStyle: {
                       shadowBlur: 10,
                       shadowOffsetX: 0,
-                      shadowColor: "rgba(0, 0, 0, 0.5)",
-                    },
+                      shadowColor: "rgba(0, 0, 0, 0.5)"
+                    }
                   },
                   itemStyle: {
                     normal: {
                       //饼状图阴影,值越大阴影亮度越高
                       shadowBlur: 5,
-                      shadowColor: "#93DDFF",
-                    },
-                  },
-                },
-              ],
+                      shadowColor: "#93DDFF"
+                    }
+                  }
+                }
+              ]
             };
             if (
               this.peopleList3[i].daiyanshou == 0 &&
@@ -385,7 +365,7 @@ export default {
             ) {
               option.color = ["#255F8A"];
               option.tooltip = {
-                show: false,
+                show: false
               };
               option.series[0].data = [{ value: 0, name: "无" }];
             }
@@ -401,7 +381,7 @@ export default {
         .push({
           path: "/bdglregular/regularinfo",
           // query: { id: row.inspectedUnitId,inspectedUnitId:row.inspectedUnitId,currentState:currentState },
-          query: { obj: row },
+          query: { obj: row }
         })
         .catch(() => {});
     },
@@ -412,7 +392,7 @@ export default {
         this.$router
           .push({
             path: "/bdglregular/regularinfo",
-            query: { obj: param.data },
+            query: { obj: param.data }
           })
           .catch(() => {});
       }
@@ -423,12 +403,12 @@ export default {
         this.$router
           .push({
             path: "/bdglregular/regularinfo",
-            query: { obj: param.data },
+            query: { obj: param.data }
           })
           .catch(() => {});
       }
-    },
-  },
+    }
+  }
 };
 </script>
 

+ 65 - 77
src/views/bdglregular/specialcountinfo/index.vue

@@ -41,42 +41,26 @@
         >
           <!-- <el-table-column type="selection" width="55" align="center" /> -->
           <el-table-column label="序号" align="center" type="index" />
-          <el-table-column
-            label="受检单位"
-            align="center"
-            prop="inspectedUnit"
-          />
+          <el-table-column label="受检单位" align="center" prop="inspectedUnit" />
           <!-- <el-table-column
             label="检查单位"
             align="center"
             prop="unitCheck"
           ></el-table-column>-->
-          <el-table-column
-            label="状态"
-            align="center"
-            prop="currentState"
-          ></el-table-column>
+          <el-table-column label="状态" align="center" prop="currentState"></el-table-column>
           <el-table-column label="减分" align="center" prop="score">
             <template slot-scope="scope">
               <div style="color: rgb(255 106 0)">{{ scope.row.score }}</div>
             </template>
           </el-table-column>
-          <el-table-column
-            label="事由"
-            show-overflow-tooltip
-            align="center"
-            prop="question"
-          />
-          <el-table-column
-            label="整改时间"
-            align="center"
-            prop="rectificationTime"
-            width="180"
-          >
+          <el-table-column label="事由" show-overflow-tooltip align="center" prop="question" />
+          <el-table-column label="整改时间" align="center" prop="rectificationTime" width="180">
             <template slot-scope="scope">
-              <span>{{
+              <span>
+                {{
                 parseTime(scope.row.rectificationTime, "{y}-{m}-{d}")
-              }}</span>
+                }}
+              </span>
             </template>
           </el-table-column>
         </el-table>
@@ -115,7 +99,7 @@ import {
   unitrank,
   pendingacceptance,
   completeproportion,
-  unitproportion,
+  unitproportion
 } from "@/api/bdglregular/specialcountinfo";
 import * as echarts from "echarts";
 export default {
@@ -123,7 +107,7 @@ export default {
     return {
       peopleList: [],
       peopleList2: [],
-      peopleList3: [],
+      peopleList3: []
     };
   },
   created() {
@@ -136,30 +120,30 @@ export default {
   },
   methods: {
     getlist() {
-      unitrank().then((res) => {
+      unitrank().then(res => {
         if (res.code == 200) {
           this.peopleList = res.data;
-          this.peopleList.forEach((item) => {
+          this.peopleList.forEach(item => {
             return (item.addscore = item.addscore.split(".")[0]);
           });
-          this.peopleList.forEach((item) => {
+          this.peopleList.forEach(item => {
             return (item.zongfen = item.zongfen.split(".")[0]);
           });
-          this.peopleList.forEach((item) => {
+          this.peopleList.forEach(item => {
             return (item.subscore = item.subscore.split(".")[0]);
           });
         }
       });
     },
     getlist2() {
-      pendingacceptance().then((res) => {
+      pendingacceptance().then(res => {
         if (res.code == 200) {
           this.peopleList2 = res.data;
         }
       });
     },
     getlist3() {
-      completeproportion().then((res) => {
+      completeproportion().then(res => {
         if (res.code == 200) {
           var myChart = echarts.init(
             document.getElementById("foot-left-content")
@@ -169,22 +153,22 @@ export default {
             title: {
               text: "",
               subtext: "",
-              left: "",
+              left: ""
             },
             tooltip: {
               trigger: "item",
-              formatter: "{a} <br/>{b} : {c} ({d}%)",
+              formatter: "{a} <br/>{b} : {c} ({d}%)"
             },
-            color: ["#fac858", "#5470c6", "#ee6666", "#91cc75"],
+            color: ["#fac858", "#5470c6", "#ee6666", "#91cc75", "#409EFF"],
             legend: {
               orient: "vertical",
               right: "0",
               top: "10%",
               itemGap: 20,
               textStyle: {
-                color: "#fff",
+                color: "#fff"
               },
-              data: ["待处理", "待验收", "未通过", "已通过"],
+              data: ["待处理", "待验收", "未通过", "已通过", "已逾期"]
             },
             series: [
               {
@@ -199,9 +183,9 @@ export default {
                     textStyle: {
                       fontWeight: 300,
                       fontSize: 16,
-                      color: "#fff",
-                    },
-                  },
+                      color: "#fff"
+                    }
+                  }
                 },
                 data: [
                   {
@@ -209,42 +193,46 @@ export default {
                       res.data[0].daiyanshou == 0
                         ? null
                         : res.data[0].daiyanshou,
-                    name: "待验收",
+                    name: "待验收"
                   },
                   {
                     value:
                       res.data[0].daichuli == 0 ? null : res.data[0].daichuli,
-                    name: "待处理",
+                    name: "待处理"
                   },
                   {
                     value:
                       res.data[0].weitongguo == 0
                         ? null
                         : res.data[0].weitongguo,
-                    name: "未通过",
+                    name: "未通过"
                   },
                   {
                     value:
                       res.data[0].yitongguo == 0 ? null : res.data[0].yitongguo,
-                    name: "已通过",
+                    name: "已通过"
                   },
+                  {
+                    value: res.data[0].yuqi == 0 ? null : res.data[0].yuqi,
+                    name: "已逾期"
+                  }
                 ],
                 emphasis: {
                   itemStyle: {
                     shadowBlur: 10,
                     shadowOffsetX: 0,
-                    shadowColor: "rgba(0, 0, 0, 0.5)",
-                  },
+                    shadowColor: "rgba(0, 0, 0, 0.5)"
+                  }
                 },
                 itemStyle: {
                   normal: {
                     //饼状图阴影,值越大阴影亮度越高
                     shadowBlur: 5,
-                    shadowColor: "#93DDFF",
-                  },
-                },
-              },
-            ],
+                    shadowColor: "#93DDFF"
+                  }
+                }
+              }
+            ]
           };
           if (
             res.data[0].daiyanshou == 0 &&
@@ -254,7 +242,7 @@ export default {
           ) {
             option.color = ["#255F8A"];
             option.tooltip = {
-              show: false,
+              show: false
             };
             option.series[0].data = [{ value: 0, name: "无" }];
           }
@@ -265,7 +253,7 @@ export default {
     },
     getlist4() {},
     echarfun() {
-      unitproportion().then((res) => {
+      unitproportion().then(res => {
         if (res.code == 200) {
           this.peopleList3 = res.data;
           var roseCharts = document.getElementsByClassName("block");
@@ -283,13 +271,13 @@ export default {
                   color: "#ffff",
                   // fontSize: 12,
                   fontStyle: "normal",
-                  fontWeight: "normal",
-                },
+                  fontWeight: "normal"
+                }
               },
               color: ["#fac858", "#5470c6", "#ee6666", "#91cc75"],
               tooltip: {
                 trigger: "item",
-                formatter: "{a} <br/>{b} : {c} ({d}%)",
+                formatter: "{a} <br/>{b} : {c} ({d}%)"
               },
               // legend: {
               //   orient: "vertical",
@@ -315,9 +303,9 @@ export default {
                       textStyle: {
                         fontWeight: 300,
                         fontSize: 16,
-                        color: "#fff",
-                      },
-                    },
+                        color: "#fff"
+                      }
+                    }
                   },
                   data: [
                     {
@@ -326,7 +314,7 @@ export default {
                           ? null
                           : this.peopleList3[i].daiyanshou,
                       name: "待验收",
-                      id: this.peopleList3[i].deptId,
+                      id: this.peopleList3[i].deptId
                     },
                     {
                       value:
@@ -334,7 +322,7 @@ export default {
                           ? null
                           : this.peopleList3[i].daichuli,
                       name: "待处理",
-                      id: this.peopleList3[i].deptId,
+                      id: this.peopleList3[i].deptId
                     },
                     {
                       value:
@@ -342,7 +330,7 @@ export default {
                           ? null
                           : this.peopleList3[i].weitonguo,
                       name: "未通过",
-                      id: this.peopleList3[i].deptId,
+                      id: this.peopleList3[i].deptId
                     },
                     {
                       value:
@@ -350,25 +338,25 @@ export default {
                           ? null
                           : this.peopleList3[i].yitongguo,
                       name: "已通过",
-                      id: this.peopleList3[i].deptId,
-                    },
+                      id: this.peopleList3[i].deptId
+                    }
                   ],
                   emphasis: {
                     itemStyle: {
                       shadowBlur: 10,
                       shadowOffsetX: 0,
-                      shadowColor: "rgba(0, 0, 0, 0.5)",
-                    },
+                      shadowColor: "rgba(0, 0, 0, 0.5)"
+                    }
                   },
                   itemStyle: {
                     normal: {
                       //饼状图阴影,值越大阴影亮度越高
                       shadowBlur: 5,
-                      shadowColor: "#93DDFF",
-                    },
-                  },
-                },
-              ],
+                      shadowColor: "#93DDFF"
+                    }
+                  }
+                }
+              ]
             };
             if (
               this.peopleList3[i].daiyanshou == 0 &&
@@ -378,7 +366,7 @@ export default {
             ) {
               option.color = ["#255F8A"];
               option.tooltip = {
-                show: false,
+                show: false
               };
               option.series[0].data = [{ value: 0, name: "无" }];
             }
@@ -393,7 +381,7 @@ export default {
         .push({
           path: "/bdglregular/specialinfo",
           // query: { id: row.inspectedUnitId },
-          query:{obj: row }
+          query: { obj: row }
         })
         .catch(() => {});
     },
@@ -403,7 +391,7 @@ export default {
         this.$router
           .push({
             path: "/bdglregular/specialinfo",
-            query: { obj: param.data },
+            query: { obj: param.data }
           })
           .catch(() => {});
       }
@@ -414,12 +402,12 @@ export default {
         this.$router
           .push({
             path: "/bdglregular/specialinfo",
-            query: { obj: param.data },
+            query: { obj: param.data }
           })
           .catch(() => {});
       }
-    },
-  },
+    }
+  }
 };
 </script>
 

+ 418 - 0
src/views/materialManagement/WarehouseStatistics/index.vue

@@ -0,0 +1,418 @@
+<template>
+  <div class="app-container">
+    <div class="hezi">
+      <div class="tji">库房统计</div>
+      <div style="display: flex; flex-wrap: wrap; padding: 11px 20px">
+        <div
+          style="width: 25%; display: flex; align-items: center; height: 100px"
+          v-for="item in tongJiList"
+          :key="item.name"
+        >
+          <div
+            class="div-l"
+            style="flex: 1.5; text-align: left; margin-left:20px; margin-right: 30px"
+          >
+            <span>{{ item.name }}:</span>
+          </div>
+          <div class="div-r" style="flex: 2; text-align: left; margin-right: 120px">
+            <span>
+              <span style="font-size: 25px; margin-right: 18px">{{ item.num }}</span>
+            </span>
+          </div>
+        </div>
+      </div>
+    </div>
+    <div>
+      <ul>
+        <li v-for="(item, i) in lieList" :key="i + ' '">
+          <div class="names">{{ item.dictLabel }}</div>
+          <div class="btn">
+            <el-button size="btJS" @click="chuku(item.dictValue)">出库</el-button>
+            <el-button size="btJS" @click="ruku(item.dictLabel)">入库</el-button>
+          </div>
+        </li>
+      </ul>
+    </div>
+    <!-- 添加或修改物资入库登记对话框 -->
+    <el-dialog
+      :title="title"
+      :visible.sync="open"
+      width="1300px"
+      append-to-body
+      :close-on-click-modal="false"
+    >
+      <el-table
+        :data="materialRegistrationList"
+        :header-cell-style="{ background: '#003C69', color: 'white', }"
+        v-if="jilunum==1"
+      >
+        <el-table-column type="selection" width="55" align="center" />
+        <el-table-column label="序号" type="index" width="50" align="center">
+          <template scope="scope">
+            <span>
+              {{
+              (queryParams.pageNum - 1) * queryParams.pageSize +
+              scope.$index +
+              1
+              }}
+            </span>
+          </template>
+        </el-table-column>
+        <!-- <el-table-column label="物品类型" align="center" prop="wuPinType">
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.category"
+            :value="scope.row.wuPinType"
+          />
+        </template>
+        </el-table-column>-->
+        <el-table-column label="物品名称" align="center" prop="name" />
+        <el-table-column label="条形码编号" align="center" prop="barcode" />
+        <el-table-column label="物品规格" align="center" prop="materialSpecification" />
+        <el-table-column label="物品型号" align="center" prop="materialXh" />
+        <!-- <el-table-column label="营具类型" align="center" prop="yingJuType">
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.camp_equipment"
+            :value="scope.row.yingJuType"
+          />
+        </template>
+        </el-table-column>-->
+        <!-- <el-table-column
+        label="责任单位"
+        align="center"
+        prop="responsibilityUnit"
+        />-->
+        <el-table-column label="库房" align="center" prop="warehouse" />
+        <el-table-column label="价值" align="center" prop="price" />
+        <el-table-column label="入库数量" align="center" prop="putInt" />
+        <!-- <el-table-column label="创建人" align="center" prop="createName" /> -->
+        <el-table-column label="入库时间" align="center" prop="storageTime" width="180">
+          <template slot-scope="scope">
+            <span>{{ parseTime(scope.row.storageTime, "{y}-{m}-{d}") }}</span>
+          </template>
+        </el-table-column>
+        <!-- <el-table-column label="入库编号" align="center" prop="inboundNo" /> -->
+        <!-- <el-table-column label="存放位置" align="center" prop="storageLocation" /> -->
+        <el-table-column label="购买时间" align="center" prop="buyingTime" width="180">
+          <template slot-scope="scope">
+            <span>{{ parseTime(scope.row.buyingTime, "{y}-{m}-{d}") }}</span>
+          </template>
+        </el-table-column>
+        <!-- <el-table-column label="备注" align="center" prop="remark" /> -->
+        <!-- <el-table-column label="库房" align="center" prop="warehouse">
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.storage_room"
+            :value="scope.row.warehouse"
+          />
+        </template>
+        </el-table-column>-->
+        <!-- <el-table-column label="档案id" align="center" prop="archivesId" /> -->
+        <!-- <el-table-column
+        label="操作"
+        align="center"
+        class-name="small-padding fixed-width"
+        width="150px"
+      >
+        <template slot-scope="scope">
+          <el-button
+            size="btu"
+            type="text"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['materialManagement:materialRegistration:edit']"
+            >修改</el-button
+          >
+          <el-button
+            size="btd"
+            type="text"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['materialManagement:materialRegistration:remove']"
+            >删除</el-button
+          >
+        </template>
+        </el-table-column>-->
+      </el-table>
+      <el-table
+        :data="distributionList"
+        v-if="jilunum==2"
+        :header-cell-style="{ background: '#003C69', color: 'white' }"
+      >
+        <el-table-column type="selection" width="55" align="center" />
+        <el-table-column label="序号" align="center">
+          <template scope="scope">
+            <span>
+              {{
+              (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
+              }}
+            </span>
+          </template>
+        </el-table-column>
+        <!-- <el-table-column label="物品类别" align="center" prop="wuPinType">
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.category"
+            :value="scope.row.wuPinType"
+          />
+        </template>
+        </el-table-column>-->
+        <el-table-column label="物品名称" align="center" prop="name" />
+        <el-table-column label="条形码编号" align="center" prop="barcode" />
+        <el-table-column label="物品规格" align="center" prop="materialSpecification" />
+        <el-table-column label="物品型号" align="center" prop="materialXh" />
+        <el-table-column label="营具类型" align="center" prop="yingJuType">
+          <!-- <template slot-scope="scope">
+          <dict-tag :options="dict.type.camp_equipment" :value="scope.row.yingJuType" />
+          </template>-->
+        </el-table-column>
+        <!-- <el-table-column
+        label="责任单位"
+        align="center"
+        prop="responsibilityUnit"
+        />-->
+        <el-table-column label="出库数量" align="center" prop="putOut" />
+        <el-table-column label="价值" align="center" prop="price" />
+        <el-table-column label="发放时间" align="center" prop="putOutTime" width="120">
+          <template slot-scope="scope">
+            <span>{{ parseTime(scope.row.putOutTime, "{y}-{m}-{d}") }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="发放单位" align="center" prop="responsibilityUnit" width="150px" />
+        <el-table-column label="发放对象" align="center" prop="outPeople"></el-table-column>
+        <el-table-column label="接收单位" align="center" prop="outUnit" width="150px" />
+        <el-table-column label="接收人" align="center" prop="recipient" />
+        <el-table-column label="存放位置" align="center" prop="storageLocation" />
+        <!-- <el-table-column label="备注" align="center" prop="remark" /> -->
+        <el-table-column label="库房" align="center" prop="warehouse">
+          <template slot-scope="scope">
+            <dict-tag :options="dict.type.storage_room" :value="scope.row.warehouse" />
+          </template>
+        </el-table-column>
+        <el-table-column label="库存数量" align="center" prop="total" />
+        <!-- <el-table-column
+          label="操作"
+          align="center"
+          class-name="small-padding fixed-width"
+          width="120"
+        >
+          <template slot-scope="scope">
+            <el-button
+              size="btu"
+              type="text"
+              @click="handleUpdate(scope.row)"
+              v-hasPermi="['materialManagement:distribution:edit']"
+            >修改</el-button>
+            <el-button
+              size="btd"
+              type="text"
+              @click="handleDelete(scope.row)"
+              v-hasPermi="['materialManagement:distribution:remove']"
+            >删除</el-button>
+          </template>
+        </el-table-column>-->
+      </el-table>
+      <pagination
+        v-show="total > 0"
+        v-if="distributionList.length>=1"
+        :total="total"
+        :page.sync="queryParams.pageNum"
+        :limit.sync="queryParams.pageSize"
+        @pagination="getchulist"
+      />
+      <pagination
+        v-show="total > 0"
+        v-if="materialRegistrationList.length>=1"
+        :total="total"
+        :page.sync="queryParams.pageNum"
+        :limit.sync="queryParams.pageSize"
+        @pagination="getrulist"
+      />
+      <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>
+  </div>
+</template>
+
+<script>
+import { listArchives } from "@/api/materialManagement/WarehouseStatistics";
+import { listMaterialRegistration } from "@/api/materialManagement/materialRegistration";
+import { listDistribution } from "@/api/materialManagement/distribution";
+
+export default {
+  dicts: ["category", "camp_equipment", "storage_room", "distribution_object"],
+  data() {
+    return {
+      lieList: [
+        { deptName: "fdb" },
+        { deptName: "fdb" },
+        { deptName: "fdb" },
+        { deptName: "fdb" },
+        { deptName: "fdb" }
+      ],
+      tongJiList: [],
+      open: false,
+      title: "",
+      // 总条数
+      total: 0,
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        wuPinType: null,
+        name: null,
+        materialSpecification: null,
+        materialXh: null,
+        yingJuType: null,
+        responsibilityUnit: null,
+        personLiable: null,
+        putInt: null,
+        createName: null,
+        storageTime: null,
+        inboundNo: null,
+        storageLocation: null,
+        buyingTime: null,
+        price: null,
+        warehouse: null,
+        archivesId: null
+      },
+      materialRegistrationList: [],
+      distributionList: [],
+      jilunum: 0
+    };
+  },
+  created() {
+    listArchives().then(res => {
+      this.lieList = res.data.date;
+      this.tongJiList = [{ name: "总库房数", num: res.data.number }];
+      console.log(res.data, 111);
+    });
+  },
+  methods: {
+    ruku(e) {
+      this.queryParams.warehouse = e;
+      this.getrulist();
+      this.open = true;
+      this.title = "入库记录";
+      this.jilunum = 1;
+      this.queryParams.pageNum = 1;
+      this.queryParams.pageSize = 10;
+    },
+    getrulist() {
+      this.distributionList = [];
+      listMaterialRegistration(this.queryParams).then(response => {
+        this.materialRegistrationList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    chuku(e) {
+      this.queryParams.warehouse = e;
+      this.getchulist();
+      this.jilunum = 2;
+      this.title = "出库记录";
+      this.open = true;
+      this.queryParams.pageNum = 1;
+      this.queryParams.pageSize = 10;
+    },
+    getchulist() {
+      this.materialRegistrationList = [];
+      listDistribution(this.queryParams).then(response => {
+        this.distributionList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+        this.jilunum = 2;
+        this.title = "出库记录";
+        this.open = true;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+    }
+  }
+};
+</script>
+
+<style scoped>
+.names {
+  color: #fff;
+  font-size: 14px;
+  text-align: center;
+  padding: 26px 26px 38px 26px;
+  letter-spacing: 1px;
+}
+.btn {
+  text-align: center;
+}
+ul {
+  /* justify-content: space-between; */
+  padding: 0 22px;
+  display: flex;
+  flex-wrap: wrap;
+}
+.span {
+  display: flex;
+  flex-wrap: wrap;
+}
+
+li {
+  list-style: none;
+  background: url("../../../assets/images/book.png") no-repeat;
+  height: 140px;
+  width: 222px;
+  /* margin: 20px 0; */
+  margin-bottom: 20px;
+  background-size: 100% 100%;
+  flex: 0 0 16%;
+  margin-right: 10px;
+}
+.hezi {
+  margin-bottom: 13px;
+  margin-top: 15px;
+  position: relative;
+  background: rgb(0, 60, 105);
+  color: #fff;
+  font-size: 18px;
+  font-weight: 600;
+}
+
+.tji {
+  width: 176px;
+  height: 36px;
+  text-align: center;
+  line-height: 36px;
+  position: absolute;
+  top: -18px;
+  right: 87px;
+  color: #fff;
+  font-size: 18px;
+  font-weight: 600;
+  background: #004d86;
+}
+/* 对话框背景颜色 */
+::v-deep .el-dialog {
+  background: #004d86 !important;
+}
+::v-deep .el-textarea__inner {
+  width: 965px;
+  height: 104px;
+}
+::v-deep .el-dialog__header {
+  border-bottom: 1px solid #718a9d;
+}
+::v-deep .el-dialog__title {
+  color: #fff;
+  font: 18px;
+}
+::v-deep .el-dialog__headerbtn .el-dialog__close {
+  color: #fff;
+}
+::v-deep .el-dialog__body {
+  overflow: auto;
+}
+::v-deep .pagination-container {
+  margin-top: 20px;
+  height: 50px;
+}
+</style>

+ 109 - 0
src/views/peopleManage/PersonnelStatistics/index.vue

@@ -0,0 +1,109 @@
+<template>
+  <div class="app-container">
+    <div class="hezi">
+      <div class="tji">发射大队人员总统计</div>
+      <div style="display: flex; flex-wrap: wrap; padding: 11px 20px">
+        <div
+          style="width: 25%; display: flex; align-items: center; height: 100px"
+          v-for="item in tongJiList"
+          :key="item.name"
+        >
+          <div class="div-l" style="flex: 2; text-align: right; margin-right: 30px">
+            <span>{{ item.name }}</span>
+          </div>
+          <div class="div-r" style="flex: 1; text-align: right; margin-right: 120px">
+            <span>
+              <span style="font-size: 25px; margin-right: 18px">{{ item.num }}</span>人
+            </span>
+          </div>
+        </div>
+      </div>
+    </div>
+    <el-table :data="peopleList" :header-cell-style="{ background: '#003C69', color: 'white' }">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="单位名称" align="center" prop="name" />
+      <el-table-column label="军官" align="center" prop="zbgb" />
+      <el-table-column label="士官" align="center" prop="zbsb"></el-table-column>
+      <el-table-column label="义务兵" align="center" prop="zbyw" />
+      <el-table-column label="各单位人数" align="center">
+        <template scope="scope">
+          <span v-if="scope.row.type==2">
+            {{
+            scope.row.zs
+            }}
+          </span>
+        </template>
+      </el-table-column>
+      <el-table-column label="营级总人数" align="center">
+        <template scope="scope">
+          <span v-if="scope.row.type==1">
+            {{
+            scope.row.zs
+            }}
+          </span>
+        </template>
+      </el-table-column>
+      <!-- <el-table-column label="各单位人数" align="center" prop="zs" v-if />
+      <el-table-column label="营级总人数" align="center" prop="zs" />-->
+    </el-table>
+  </div>
+</template>
+
+<script>
+import { countNumber } from "@/api/peopleManage/people";
+export default {
+  data() {
+    return {
+      tongJiList: [
+        { name: "总人数", num: 0 },
+        { name: "军官", num: 0 },
+        { name: "士官", num: 0 },
+        { name: "义务兵", num: 0 }
+      ],
+      peopleList: []
+    };
+  },
+  created() {
+    countNumber().then(res => {
+      this.tongJiList.forEach(item => {
+        if (item.name == "军官") {
+          item.num = res.data.zbgb;
+        } else if (item.name == "总人数") {
+          item.num = res.data.zongRenShu;
+        } else if (item.name == "士官") {
+          item.num = res.data.zbsb;
+        } else if (item.name == "义务兵") {
+          item.num = res.data.zbyw;
+        }
+      });
+      this.peopleList = res.data.各单位;
+    });
+  }
+};
+</script>
+
+<style scoped>
+.hezi {
+  margin-bottom: 13px;
+  margin-top: 15px;
+  position: relative;
+  background: rgb(0, 60, 105);
+  color: #fff;
+  font-size: 18px;
+  font-weight: 600;
+}
+
+.tji {
+  width: 176px;
+  height: 36px;
+  text-align: center;
+  line-height: 36px;
+  position: absolute;
+  top: -18px;
+  right: 87px;
+  color: #fff;
+  font-size: 18px;
+  font-weight: 600;
+  background: #004d86;
+}
+</style>

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

@@ -1046,7 +1046,8 @@ import {
   exportPeople,
   getDept,
   listDept,
-  treeselect
+  treeselect,
+  countNumber
 } from "@/api/peopleManage/people";
 import Cookies from "js-cookie";
 
@@ -1094,6 +1095,7 @@ export default {
       title: "",
       // 是否显示弹出层
       open: false,
+      open1: false,
       // 查询参数
       queryParams: {
         pageNum: 1,

+ 349 - 0
src/views/system/time/index.vue

@@ -0,0 +1,349 @@
+<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="time">
+        <el-date-picker
+          clearable
+          v-model="queryParams.time"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="请选择截止日期"
+          @change="handleQuery"
+        ></el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button icon="el-icon-refresh" size="btr" @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="['system:time: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="['system:time: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="['system:time: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="['system:time:export']"
+        >导出</el-button>
+      </el-col>-->
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table
+      v-loading="loading"
+      :data="timeList"
+      :header-cell-style="{ background: '#003c69', color: 'white' }"
+      @selection-change="handleSelectionChange"
+    >
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="序号" type="index" width="50" align="center">
+        <template scope="scope">
+          <span>
+            {{
+            (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
+            }}
+          </span>
+        </template>
+      </el-table-column>
+      <!-- <el-table-column label="id" align="center" prop="id" /> -->
+      <!-- <el-table-column label="截止日期" align="center" prop="time" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.time, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>-->
+      <el-table-column label="是否开启" align="center" prop="time">
+        <template slot-scope="scope">
+          <span v-if="scope.row.time == '0'">关闭</span>
+          <span v-else>开启</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="修改人" align="center" prop="updateName" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="btu"
+            type="text"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:time:edit']"
+          >修改</el-button>
+          <!-- <el-button
+            size="btd"
+            type="text"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:time: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"
+      :closeOnClickModal="false"
+      :expand-on-click-node="false"
+      width="500px"
+      append-to-body
+    >
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="是否开启" prop="time">
+          <!-- <el-input v-model="form.setnum" placeholder="请输入设置是否开启" /> -->
+          <el-radio v-model="form.time" :label="0">关闭</el-radio>
+          <el-radio v-model="form.time" :label="1">开启</el-radio>
+        </el-form-item>
+        <!-- <el-form-item label="修改人" prop="updateName">
+          <el-input v-model="form.updateName" placeholder="请输入修改人名字" />
+        </el-form-item>-->
+        <!-- <el-form-item label="截止日期" prop="time">
+          <el-date-picker
+            clearable
+            v-model="form.time"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请选择截止日期"
+          ></el-date-picker>
+        </el-form-item>-->
+      </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 {
+  listTime,
+  getTime,
+  delTime,
+  addTime,
+  updateTime
+} from "@/api/system/time";
+
+export default {
+  name: "Time",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 截止日期设置
+      timeList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        time: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {}
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询截止日期设置列表 */
+    getList() {
+      this.loading = true;
+      listTime(this.queryParams).then(response => {
+        this.timeList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        time: null
+      };
+      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;
+      getTime(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改截止日期设置";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateTime(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addTime(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 delTime(ids);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download(
+        "system/time/export",
+        {
+          ...this.queryParams
+        },
+        `time_${new Date().getTime()}.xlsx`
+      );
+    }
+  }
+};
+</script>
+<style scoped>
+::v-deep .el-dialog {
+  background: #004d86 !important;
+}
+::v-deep .el-textarea__inner {
+  width: 930px;
+  height: 104px;
+  margin-left: 23px;
+}
+::v-deep .el-input.is-disabled .el-input__inner {
+  background: #004d86 !important;
+}
+::v-deep .el-dialog__header {
+  border-bottom: 1px solid #718a9d;
+}
+::v-deep .el-dialog__title {
+  color: #fff;
+  font: 18px;
+}
+::v-deep .el-dialog__headerbtn .el-dialog__close {
+  color: #fff;
+}
+.el-form-item ::v-deep .el-input__inner {
+  width: 200px;
+  height: 36px;
+  background: transparent !important;
+  color: #fff;
+  border: 1px solid #fff !important;
+}
+::v-deep .el-date-editor.el-input {
+  width: 200px;
+  height: 36px;
+}
+/* 状态 */
+.el-radio {
+  color: rgb(204, 198, 198);
+}
+</style>

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini