sunyanqiang 3 years ago
parent
commit
4ac437f2c7

+ 1 - 1
src/api/militaryvehicleManagement/privateAccessLog.js

@@ -50,4 +50,4 @@ export function exportPrivateAccessLog(query) {
     method: 'get',
     params: query
   })
-}
+}

+ 7 - 0
src/api/militaryvehicleManagement/privateCar.js

@@ -50,4 +50,11 @@ export function exportPrivateCar(query) {
     method: 'get',
     params: query
   })
+}
+// 查询所有人员
+export function getRenYuanCar() {
+  return request({
+    url: '/peopleManage/people/list',
+    method: 'get',
+  })
 }

+ 484 - 212
src/views/militaryvehicleManagement/driver/index.vue

@@ -1,16 +1,13 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="人员" prop="peopleId">
-        <el-input
-          v-model="queryParams.peopleId"
-          placeholder="请输入人员"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="单位" prop="unitId">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
+      <el-form-item prop="unitId">
         <el-input
           v-model="queryParams.unitId"
           placeholder="请输入单位"
@@ -19,123 +16,17 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="联系方式" prop="contact">
-        <el-input
-          v-model="queryParams.contact"
-          placeholder="请输入联系方式"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="驾驶证号" prop="driversLicense">
-        <el-input
-          v-model="queryParams.driversLicense"
-          placeholder="请输入驾驶证号"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="生日" prop="birthDate">
-        <el-input
-          v-model="queryParams.birthDate"
-          placeholder="请输入生日"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="入伍时间" prop="enlistDate">
-        <el-input
-          v-model="queryParams.enlistDate"
-          placeholder="请输入入伍时间"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="军衔" prop="rankId">
-        <el-input
-          v-model="queryParams.rankId"
-          placeholder="请输入军衔"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="驾龄" prop="drivingAge">
-        <el-input
-          v-model="queryParams.drivingAge"
-          placeholder="请输入驾龄"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="准驾车型" prop="drivingModel">
-        <el-input
-          v-model="queryParams.drivingModel"
-          placeholder="请输入准驾车型"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="初领日期" prop="date1">
-        <el-date-picker clearable size="small"
-          v-model="queryParams.date1"
-          type="date"
-          value-format="yyyy-MM-dd"
-          placeholder="选择初领日期">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label="核发日期" prop="date2">
-        <el-date-picker clearable size="small"
-          v-model="queryParams.date2"
-          type="date"
-          value-format="yyyy-MM-dd"
-          placeholder="选择核发日期">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label="有效日期" prop="date3">
-        <el-date-picker clearable size="small"
-          v-model="queryParams.date3"
-          type="date"
-          value-format="yyyy-MM-dd"
-          placeholder="选择有效日期">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label="审验结果" prop="result">
-        <el-input
-          v-model="queryParams.result"
-          placeholder="请输入审验结果"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="职业技能" prop="createtime">
-        <el-input
-          v-model="queryParams.createtime"
-          placeholder="请输入职业技能"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="职业技能" prop="updatetime">
-        <el-input
-          v-model="queryParams.updatetime"
-          placeholder="请输入职业技能"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
       </el-form-item>
     </el-form>
 
@@ -148,7 +39,8 @@
           size="mini"
           @click="handleAdd"
           v-hasPermi="['militaryvehicleManagement:driver:add']"
-        >新增</el-button>
+          >新增</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -159,7 +51,8 @@
           :disabled="single"
           @click="handleUpdate"
           v-hasPermi="['militaryvehicleManagement:driver:edit']"
-        >修改</el-button>
+          >修改</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -170,7 +63,8 @@
           :disabled="multiple"
           @click="handleDelete"
           v-hasPermi="['militaryvehicleManagement:driver:remove']"
-        >删除</el-button>
+          >删除</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -181,65 +75,123 @@
           :loading="exportLoading"
           @click="handleExport"
           v-hasPermi="['militaryvehicleManagement:driver:export']"
-        >导出</el-button>
+          >导出</el-button
+        >
       </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" :data="driverList" @selection-change="handleSelectionChange">
+    <el-table
+      v-loading="loading"
+      :data="driverList"
+      @selection-change="handleSelectionChange"
+      :header-cell-style="{ background: '#003C69', color: 'white' }"
+    >
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label=" " align="center" prop="id" />
-      <el-table-column label="人员" align="center" prop="peopleId" />
-      <el-table-column label="单位" align="center" prop="unitId" />
-      <el-table-column label="联系方式" align="center" prop="contact" />
-      <el-table-column label="驾驶证号" align="center" prop="driversLicense" />
-      <el-table-column label="生日" align="center" prop="birthDate" />
-      <el-table-column label="入伍时间" align="center" prop="enlistDate" />
-      <el-table-column label="性别" align="center" prop="sexList" />
-      <el-table-column label="军衔" align="center" prop="rankId" />
+      <el-table-column label="序号" align="center" prop="id" />
+      <el-table-column label="单位" align="center" prop="unitName" />
+      <el-table-column label="姓名" align="center" prop="peopleName" />
+      <el-table-column
+        label="联系方式"
+        align="center"
+        prop="contact"
+        width="180"
+      />
+      <el-table-column
+        label="驾驶证号"
+        align="center"
+        prop="driversLicense"
+        width="180"
+      />
+      <el-table-column
+        label="出生日期"
+        align="center"
+        prop="birthDate"
+        width="180"
+      />
+      <el-table-column
+        label="入伍时间"
+        align="center"
+        prop="enlistDate"
+        width="180"
+      />
+      <el-table-column
+        label="性别"
+        align="center"
+        prop="sexList"
+        :formatter="sexLian"
+      />
+      <el-table-column
+        label="军衔"
+        align="center"
+        prop="rankId"
+        :formatter="ranks"
+      />
       <el-table-column label="驾龄" align="center" prop="drivingAge" />
       <el-table-column label="准驾车型" align="center" prop="drivingModel" />
-      <el-table-column label="初领日期" align="center" prop="date1" width="180">
+      <el-table-column
+        label="初领日期"
+        align="center"
+        prop="chulingriq"
+        width="180"
+      >
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.date1, '{y}-{m}-{d}') }}</span>
+          <span>{{ parseTime(scope.row.chulingriq, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="核发日期" align="center" prop="date2" width="180">
+      <el-table-column
+        label="核发日期"
+        align="center"
+        prop="hefariqi"
+        width="180"
+      >
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.date2, '{y}-{m}-{d}') }}</span>
+          <span>{{ parseTime(scope.row.hefariqi, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="有效日期" align="center" prop="date3" width="180">
+      <el-table-column
+        label="有效日期"
+        align="center"
+        prop="youxiaoriqi"
+        width="180"
+      >
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.date3, '{y}-{m}-{d}') }}</span>
+          <span>{{ parseTime(scope.row.youxiaoriqi, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
       <el-table-column label="审验结果" align="center" prop="result" />
-      <el-table-column label="职业技能" align="center" prop="vocationalSkills" />
-      <el-table-column label="职业技能" align="center" prop="createtime" />
-      <el-table-column label="职业技能" align="center" prop="updatetime" />
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column
+        label="职业技能"
+        align="center"
+        prop="vocationalSkills"
+        :formatter="jiNeng"
+      />
+      <el-table-column
+        label="操作"
+        align="center"
+        class-name="small-padding fixed-width"
+        width="150"
+      >
         <template slot-scope="scope">
           <el-button
-            size="mini"
+            size="btu"
             type="text"
-            icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['militaryvehicleManagement:driver:edit']"
-          >修改</el-button>
+            >修改</el-button
+          >
           <el-button
-            size="mini"
+            size="btd"
             type="text"
-            icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['militaryvehicleManagement:driver:remove']"
-          >删除</el-button>
+            >删除</el-button
+          >
         </template>
       </el-table-column>
     </el-table>
-    
+
     <pagination
-      v-show="total>0"
+      v-show="total > 0"
       :total="total"
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
@@ -248,27 +200,85 @@
 
     <!-- 添加或修改军车司机设置对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="人员" prop="peopleId">
-          <el-input v-model="form.peopleId" placeholder="请输入人员" />
-        </el-form-item>
+      <el-form
+        ref="form"
+        :model="form"
+        :rules="rules"
+        label-width="80px"
+        inline
+      >
         <el-form-item label="单位" prop="unitId">
-          <el-input v-model="form.unitId" placeholder="请输入单位" />
+          <treeselect
+            v-model="form.unitId"
+            :options="treeList"
+            placeholder="选择单位"
+            @select="selectPeo"
+          />
+        </el-form-item>
+        <el-form-item label="姓名" prop="peopleId">
+          <el-select
+            v-model="form.peopleId"
+            placeholder="请输入人员姓名"
+            filterable
+          >
+            <el-option
+              v-for="(item, i) in renYuan"
+              :key="i"
+              :label="item.name"
+              :value="item.id"
+              @click.native="cheRen(item)"
+            >
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="联系方式" prop="contact">
-          <el-input v-model="form.contact" placeholder="请输入联系方式" />
+          <el-input
+            v-model="form.contact"
+            placeholder="请输入联系方式"
+            readonly
+          />
         </el-form-item>
         <el-form-item label="驾驶证号" prop="driversLicense">
-          <el-input v-model="form.driversLicense" placeholder="请输入驾驶证号" />
+          <el-input
+            v-model="form.driversLicense"
+            placeholder="请输入驾驶证号"
+          />
         </el-form-item>
-        <el-form-item label="生日" prop="birthDate">
-          <el-input v-model="form.birthDate" placeholder="请输入生日" />
+        <el-form-item label="出生日期" prop="birthDate">
+          <el-input
+            v-model="form.birthDate"
+            placeholder="请输入生日"
+            readonly
+          />
         </el-form-item>
         <el-form-item label="入伍时间" prop="enlistDate">
-          <el-input v-model="form.enlistDate" placeholder="请输入入伍时间" />
+          <el-input
+            v-model="form.enlistDate"
+            placeholder="请输入入伍时间"
+            readonly
+          />
+        </el-form-item>
+        <el-form-item label="性别" prop="sexList">
+          <el-select v-model="form.sexList" placeholder="请输入性别">
+            <el-option
+              v-for="(item, i) in sex"
+              :key="i"
+              :label="item.dictLabel"
+              :value="item.dictValue"
+            >
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="军衔" prop="rankId">
-          <el-input v-model="form.rankId" placeholder="请输入军衔" />
+          <el-select v-model="form.rankId" placeholder="请输入军衔" filterable>
+            <el-option
+              v-for="(item, i) in rank"
+              :key="i"
+              :label="item.dictLabel"
+              :value="item.dictValue"
+            >
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="驾龄" prop="drivingAge">
           <el-input v-model="form.drivingAge" placeholder="请输入驾龄" />
@@ -276,33 +286,57 @@
         <el-form-item label="准驾车型" prop="drivingModel">
           <el-input v-model="form.drivingModel" placeholder="请输入准驾车型" />
         </el-form-item>
-        <el-form-item label="初领日期" prop="date1">
-          <el-date-picker clearable size="small"
-            v-model="form.date1"
+        <el-form-item label="初领日期" prop="chulingriq">
+          <el-date-picker
+            clearable
+            size="small"
+            v-model="form.chulingriq"
             type="date"
             value-format="yyyy-MM-dd"
-            placeholder="选择初领日期">
+            placeholder="选择初领日期"
+          >
           </el-date-picker>
         </el-form-item>
-        <el-form-item label="核发日期" prop="date2">
-          <el-date-picker clearable size="small"
-            v-model="form.date2"
+        <el-form-item label="核发日期" prop="hefariqi">
+          <el-date-picker
+            clearable
+            size="small"
+            v-model="form.hefariqi"
             type="date"
             value-format="yyyy-MM-dd"
-            placeholder="选择核发日期">
+            placeholder="选择核发日期"
+          >
           </el-date-picker>
         </el-form-item>
-        <el-form-item label="有效日期" prop="date3">
-          <el-date-picker clearable size="small"
-            v-model="form.date3"
+        <el-form-item label="有效日期" prop="youxiaoriqi">
+          <el-date-picker
+            clearable
+            size="small"
+            v-model="form.youxiaoriqi"
             type="date"
             value-format="yyyy-MM-dd"
-            placeholder="选择有效日期">
+            placeholder="选择有效日期"
+          >
           </el-date-picker>
         </el-form-item>
         <el-form-item label="审验结果" prop="result">
           <el-input v-model="form.result" placeholder="请输入审验结果" />
         </el-form-item>
+        <el-form-item label="职业技能" prop="vocationalSkills">
+          <el-select
+            v-model="form.vocationalSkills"
+            placeholder="请输入职业技能"
+            filterable
+          >
+            <el-option
+              v-for="(item, i) in vocational"
+              :key="i"
+              :label="item.dictLabel"
+              :value="item.dictValue"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -313,10 +347,27 @@
 </template>
 
 <script>
-import { listDriver, getDriver, delDriver, addDriver, updateDriver, exportDriver } from "@/api/militaryvehicleManagement/driver";
+import {
+  listDriver,
+  getDriver,
+  delDriver,
+  addDriver,
+  updateDriver,
+  exportDriver,
+} from "@/api/militaryvehicleManagement/driver";
+// 导入树形结构
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
+import { getZhuChiRen, getDept } from "@/api/militaryvehicleManagement/thebus";
+// 查询字典
+import { getDicts } from "@/api/system/dict/data";
 
 export default {
   name: "Driver",
+  components: {
+    Treeselect,
+  },
   data() {
     return {
       // 遮罩层
@@ -359,23 +410,95 @@ export default {
         result: null,
         vocationalSkills: null,
         createtime: null,
-        updatetime: null
+        updatetime: null,
       },
       // 表单参数
       form: {},
       // 表单校验
-      rules: {
-      }
+      rules: {},
+      // 树形列表
+      treeList: [],
+      // 人员列表
+      renYuan: [],
+      // 性别
+      sex: [],
+      // 军衔
+      rank: [],
+      // 职业技能
+      vocational: [],
     };
   },
   created() {
     this.getList();
+    getDicts("sys_user_sex").then((response) => {
+      this.sex = response.data;
+    });
+    getDicts("post_Level").then((response) => {
+      this.rank = response.data;
+    });
+    getDicts("vocational").then((response) => {
+      this.vocational = response.data;
+    });
   },
   methods: {
+    // 字典翻译sex
+    sexLian(row) {
+      var sex = "";
+      this.sex.map((item) => {
+        if (item.dictValue == row.sexList) {
+          sex = item.dictLabel;
+        }
+      });
+      return sex;
+    },
+    // 字典翻译技能
+    jiNeng(row) {
+      var jiNeng = "";
+      this.vocational.map((item) => {
+        if (item.dictValue == row.vocationalSkills) {
+          jiNeng = item.dictLabel;
+        }
+      });
+      return jiNeng;
+    },
+    // 字典翻译军衔
+    ranks(row) {
+      var ranks = "";
+      this.rank.map((item) => {
+        if (item.dictValue == row.rankId) {
+          ranks = item.dictLabel;
+        }
+      });
+      return ranks;
+    },
+    // 选择人员触发
+    cheRen(item) {
+      this.form.peopleName = item.name;
+      this.form.contact = item.phone;
+      this.form.birthDate = item.birthDate;
+      this.form.enlistDate = item.enlistDate;
+    },
+    // 获取人员列表
+    getRen(id) {
+      getZhuChiRen(id).then((res) => {
+        this.renYuan = res.data;
+      });
+    },
+    // 选择部门单位触发
+    selectPeo(data) {
+      this.form.unitName = data.label;
+      this.getRen(data.id);
+    },
+    //  获取单位列表
+    getTreeList() {
+      getDept().then((res) => {
+        this.treeList = res.data;
+      });
+    },
     /** 查询军车司机设置列表 */
     getList() {
       this.loading = true;
-      listDriver(this.queryParams).then(response => {
+      listDriver(this.queryParams).then((response) => {
         this.driverList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -406,7 +529,7 @@ export default {
         result: null,
         vocationalSkills: null,
         createtime: null,
-        updatetime: null
+        updatetime: null,
       };
       this.resetForm("form");
     },
@@ -422,12 +545,13 @@ export default {
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.id)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
+      this.ids = selection.map((item) => item.id);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
     },
     /** 新增按钮操作 */
     handleAdd() {
+      this.getTreeList();
       this.reset();
       this.open = true;
       this.title = "添加军车司机设置";
@@ -435,25 +559,27 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      const id = row.id || this.ids
-      getDriver(id).then(response => {
+      this.getTreeList();
+      const id = row.id || this.ids;
+      getDriver(id).then((response) => {
         this.form = response.data;
+        this.getRen(this.form.unitId);
         this.open = true;
         this.title = "修改军车司机设置";
       });
     },
     /** 提交按钮 */
     submitForm() {
-      this.$refs["form"].validate(valid => {
+      this.$refs["form"].validate((valid) => {
         if (valid) {
           if (this.form.id != null) {
-            updateDriver(this.form).then(response => {
+            updateDriver(this.form).then((response) => {
               this.$modal.msgSuccess("修改成功");
               this.open = false;
               this.getList();
             });
           } else {
-            addDriver(this.form).then(response => {
+            addDriver(this.form).then((response) => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;
               this.getList();
@@ -465,24 +591,170 @@ export default {
     /** 删除按钮操作 */
     handleDelete(row) {
       const ids = row.id || this.ids;
-      this.$modal.confirm('是否确认删除军车司机设置编号为"' + ids + '"的数据项?').then(function() {
-        return delDriver(ids);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => {});
+      this.$modal
+        .confirm('是否确认删除军车司机设置编号为"' + ids + '"的数据项?')
+        .then(function () {
+          return delDriver(ids);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
     },
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;
-      this.$modal.confirm('是否确认导出所有军车司机设置数据项?').then(() => {
-        this.exportLoading = true;
-        return exportDriver(queryParams);
-      }).then(response => {
-        this.$download.name(response.msg);
-        this.exportLoading = false;
-      }).catch(() => {});
-    }
-  }
+      this.$modal
+        .confirm("是否确认导出所有军车司机设置数据项?")
+        .then(() => {
+          this.exportLoading = true;
+          return exportDriver(queryParams);
+        })
+        .then((response) => {
+          this.$download.name(response.msg);
+          this.exportLoading = false;
+        })
+        .catch(() => {});
+    },
+  },
 };
 </script>
+<style scoped>
+/* 对话框背景颜色 */
+::v-deep .el-dialog {
+  background: #004d86 !important;
+  width: 820px !important;
+}
+::v-deep .el-textarea__inner {
+  width: 610px;
+  height: 104px;
+  margin: auto;
+}
+::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-form-item__label {
+  font: 16px;
+  color: #fff;
+  width: 100px !important;
+}
+::v-deep .el-input__inner {
+  /* width: 200px !important;
+  height: 36px; */
+  background: transparent;
+  color: #fff;
+}
+/* 单位框背景颜色 */
+::v-deep .vue-treeselect__control {
+  background: #004d86 !important;
+}
+/* 基本信息背景 */
+.jiben {
+  width: 920px;
+  height: 32px;
+  background-image: url(../../../images/小标题底.png);
+  margin-bottom: 25px;
+  color: #fff;
+  padding-left: 16px;
+  line-height: 32px;
+}
+/*调整表单间距 */
+::v-deep .el-form-item__content {
+  width: 200px;
+}
+::v-deep .el-input__inner {
+  cursor: pointer !important;
+}
+/* 底部确定取消按钮 */
+::v-deep .el-dialog__footer {
+  padding: 30px 60px;
+}
+::v-deep .el-dialog__body {
+  margin: 22px 28px -14px 28px;
+  padding-top: 20px !important;
+  box-sizing: border-box;
+}
+.contents {
+  padding: 0px 40px !important;
+}
+/* 下拉菜单 */
+.el-dropdown-link {
+  cursor: pointer;
+  color: #409eff;
+}
+.el-icon-arrow-down {
+  font-size: 12px;
+}
+/* 下拉菜单字体/背景颜色 */
+.el-select-dropdown__item.hover,
+.el-select-dropdown__item:hover {
+  background-color: #004d86;
+  color: #fff;
+}
+.el-select-dropdown__item {
+  color: #fff;
+}
+/* 时间选择 */
+::v-deep .el-input--small .el-input__inner {
+  width: 200px;
+  height: 36px;
+  line-height: 36px;
+}
+.el-date-editor.el-input {
+  width: 200px;
+  height: 36px;
+  line-height: 36px;
+}
+::v-deep .el-date-editor.el-input .el-input__inner {
+  height: 36px;
+  line-height: 36px;
+}
+/* 单位框背景颜色 */
+::v-deep .vue-treeselect__control {
+  background: #004d86 !important;
+  color: #fff;
+}
+/* 单位下拉菜单选中字体颜色 */
+::v-deep .vue-treeselect__single-value {
+  color: #fff !important;
+}
+/* 分页按钮 */
+::v-deep .el-pagination.is-background .el-pager li {
+  background-color: #004d86;
+  color: #fff;
+}
+::v-deep .el-pagination.is-background .btn-next {
+  background-color: #004d86;
+  color: #fff;
+}
+/* 底部确定取消按钮 */
+::v-deep .el-dialog__footer {
+  padding: 18px 50px;
+  margin-right: 76px;
+}
+::v-deep .el-dialog__body {
+  padding: 30px 60px;
+}
+/* 小手样式 */
+::v-deep .el-table__cell {
+  cursor: pointer;
+}
+.el-button--mini {
+  width: 80px !important;
+  border: 1px solid transparent;
+  padding: 3px 8px;
+  font-size: 14px;
+  line-height: 1.5;
+  border-radius: 3px;
+  color: #fff;
+  background-color: #1890ff;
+}
+</style>

+ 114 - 16
src/views/militaryvehicleManagement/privateAccessLog/index.vue

@@ -183,13 +183,18 @@
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="序号" align="center" prop="id" />
       <el-table-column label="车牌号" align="center" prop="privateCarId" />
-      <el-table-column label="车辆类别" align="center" prop="vehiclecategory" />
+      <el-table-column
+        label="车辆类别"
+        align="center"
+        prop="vehiclecategory"
+        :formatter="carLei"
+      />
       <el-table-column label="车辆型号" align="center" prop="vehiclemodel" />
       <el-table-column label="车辆颜色" align="center" prop="vehiclecolor" />
-      <el-table-column label="车辆所有人" align="center" prop="peopleId" />
+      <el-table-column label="车辆所有人" align="center" prop="peopleName" />
       <el-table-column label="联系方式" align="center" prop="contactnumber" />
-      <el-table-column label="进入时间" align="center" prop="time1" />
-      <el-table-column label="离开时间" align="center" prop="time2" />
+      <el-table-column label="进入时间" align="center" prop="jinrushiajin" />
+      <el-table-column label="离开时间" align="center" prop="likaishitian" />
       <el-table-column
         label="操作"
         align="center"
@@ -197,17 +202,15 @@
       >
         <template slot-scope="scope">
           <el-button
-            size="mini"
+            size="btu"
             type="text"
-            icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['militaryvehicleManagement:privateAccessLog:edit']"
             >修改</el-button
           >
           <el-button
-            size="mini"
+            size="btd"
             type="text"
-            icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['militaryvehicleManagement:privateAccessLog:remove']"
             >删除</el-button
@@ -234,28 +237,73 @@
         inline
       >
         <el-form-item label="车牌号" prop="privateCarId">
-          <el-input v-model="form.privateCarId" placeholder="请输入车牌号" />
+          <el-select v-model="form.privateCarId" placeholder="请输入车牌号">
+            <el-option
+              v-for="(item, i) in carList"
+              :key="i"
+              :label="item.vehiclenumber"
+              :value="item.id"
+              @click.native="chePaiHao(item.vehiclenumber)"
+            >
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="车辆型号" prop="vehiclemodel">
           <el-input v-model="form.vehiclemodel" placeholder="请输入车辆型号" />
         </el-form-item>
-        <el-form-item label="车辆类别" prop="vehiclecolor">
-          <el-input v-model="form.vehiclecolor" placeholder="请输入车辆颜色" />
+        <el-form-item label="车辆类别" prop="vehiclecategory">
+          <el-select
+            v-model="form.vehiclecategory"
+            placeholder="请输入车辆类别"
+          >
+            <el-option
+              v-for="(item, i) in privateCar"
+              :key="i"
+              :label="item.dictLabel"
+              :value="item.dictValue"
+            >
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="车辆颜色" prop="vehiclecolor">
           <el-input v-model="form.vehiclecolor" placeholder="请输入车辆颜色" />
         </el-form-item>
         <el-form-item label="车辆所有人" prop="peopleId">
-          <el-input v-model="form.peopleId" placeholder="请输入车辆所有人" />
+          <el-select v-model="form.peopleId" placeholder="请输入车辆所有人">
+            <el-option
+              v-for="(item, i) in renYuan"
+              :key="i"
+              :label="item.name"
+              :value="item.id"
+              @click.native="suoYouRen(item.name)"
+            >
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="联系方式" prop="contactnumber">
           <el-input v-model="form.contactnumber" placeholder="请输入联系方式" />
         </el-form-item>
-        <el-form-item label="进入时间" prop="time1">
-          <el-input v-model="form.time1" placeholder="请输入进入时间" />
+        <el-form-item label="进入时间" prop="jinrushiajin">
+          <el-date-picker
+            clearable
+            size="small"
+            v-model="form.jinrushiajin"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请输入进入时间"
+          >
+          </el-date-picker>
         </el-form-item>
-        <el-form-item label="离开时间" prop="time2">
-          <el-input v-model="form.time2" placeholder="请输入离开时间" />
+        <el-form-item label="离开时间" prop="likaishitian">
+          <el-date-picker
+            clearable
+            size="small"
+            v-model="form.likaishitian"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请输入离开时间"
+          >
+          </el-date-picker>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -275,6 +323,12 @@ import {
   updatePrivateAccessLog,
   exportPrivateAccessLog,
 } from "@/api/militaryvehicleManagement/privateAccessLog";
+// 查询字典
+import { getDicts } from "@/api/system/dict/data";
+import {
+  getRenYuanCar,
+  listPrivateCar,
+} from "@/api/militaryvehicleManagement/privateCar";
 
 export default {
   name: "PrivateAccessLog",
@@ -325,12 +379,52 @@ export default {
           { required: true, message: "车牌号不能为空", trigger: "blur" },
         ],
       },
+      // 车辆类别
+      privateCar: [],
+      // 人员列表
+      renYuan: [],
+      // 车牌号列表
+      carList: [],
     };
   },
   created() {
     this.getList();
+    getDicts("privateCar").then((response) => {
+      this.privateCar = response.data;
+    });
   },
   methods: {
+    // 车辆类别翻译
+    carLei(row, column) {
+      var carLei = "";
+      this.privateCar.map((item) => {
+        if (item.dictValue == row.vehiclecategory) {
+          carLei = item.dictLabel;
+        }
+      });
+      return carLei;
+    },
+    // 点击车辆所有人选中触发
+    suoYouRen(name) {
+      this.form.peopleName = name;
+    },
+    // 选择车牌号触发
+    chePaiHao(name) {
+      this.form.vehiclenumber = name;
+    },
+    // 获取车牌号列表
+    getCarPai() {
+      listPrivateCar().then((response) => {
+        console.log(response);
+        this.carList = response.rows;
+      });
+    },
+    // 人员列表
+    getRen() {
+      getRenYuanCar().then((response) => {
+        this.renYuan = response.rows;
+      });
+    },
     /** 查询私家车进出查询列表 */
     getList() {
       this.loading = true;
@@ -383,12 +477,16 @@ export default {
     /** 新增按钮操作 */
     handleAdd() {
       this.reset();
+      this.getCarPai();
+      this.getRen();
       this.open = true;
       this.title = "添加私家车进出查询";
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
+      this.getCarPai();
+      this.getRen();
       const id = row.id || this.ids;
       getPrivateAccessLog(id).then((response) => {
         this.form = response.data;

+ 128 - 148
src/views/militaryvehicleManagement/privateCar/index.vue

@@ -16,116 +16,6 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-
-      <!--<el-form-item label="车辆型号" prop="vehiclemodel">
-        <el-input
-          v-model="queryParams.vehiclemodel"
-          placeholder="请输入车辆型号"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="车辆颜色" prop="vehiclecolor">
-        <el-input
-          v-model="queryParams.vehiclecolor"
-          placeholder="请输入车辆颜色"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="车辆所有人" prop="peopleId">
-        <el-input
-          v-model="queryParams.peopleId"
-          placeholder="请输入车辆所有人"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="临时车辆所有人" prop="peopleName">
-        <el-input
-          v-model="queryParams.peopleName"
-          placeholder="请输入临时车辆所有人"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="联系方式" prop="contactnumber">
-        <el-input
-          v-model="queryParams.contactnumber"
-          placeholder="请输入联系方式"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="证件类型" prop="documenttype">
-        <el-select
-          v-model="queryParams.documenttype"
-          placeholder="请选择证件类型"
-          clearable
-          size="small"
-        >
-          <el-option label="请选择字典生成" value="" />
-        </el-select>
-      </el-form-item>
-      <el-form-item label="证件号" prop="certificatenumber">
-        <el-input
-          v-model="queryParams.certificatenumber"
-          placeholder="请输入证件号"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="创建人" prop="adminId">
-        <el-input
-          v-model="queryParams.adminId"
-          placeholder="请输入创建人"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="创建时间" prop="createtime">
-        <el-input
-          v-model="queryParams.createtime"
-          placeholder="请输入创建时间"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="修改时间" prop="updatetime">
-        <el-input
-          v-model="queryParams.updatetime"
-          placeholder="请输入修改时间"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="授权开始时间" prop="authStime">
-        <el-input
-          v-model="queryParams.authStime"
-          placeholder="请输入授权开始时间"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="授权结束时间" prop="authEtime">
-        <el-input
-          v-model="queryParams.authEtime"
-          placeholder="请输入授权结束时间"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item> -->
       <el-form-item>
         <el-button
           type="primary"
@@ -188,10 +78,6 @@
           >导出</el-button
         >
       </el-col>
-      <!-- <right-toolbar
-        :showSearch.sync="showSearch"
-        @queryTable="getList"
-      ></right-toolbar> -->
     </el-row>
 
     <el-table
@@ -202,17 +88,32 @@
     >
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="序号" align="center" prop="id" />
-      <el-table-column label="车辆所有人" align="center" prop="peopleId" />
+      <el-table-column label="车辆所有人" align="center" prop="peopleName" />
       <el-table-column label="车牌号" align="center" prop="vehiclenumber" />
       <el-table-column label="车辆型号" align="center" prop="vehiclemodel" />
       <el-table-column label="车辆颜色" align="center" prop="vehiclecolor" />
-      <el-table-column label="车辆类别" align="center" prop="vehiclecategory" />
+      <el-table-column
+        label="车辆类别"
+        align="center"
+        prop="vehiclecategory"
+        :formatter="carLei"
+      />
       <el-table-column label="联系方式" align="center" prop="contactnumber" />
-      <el-table-column label="证件类型" align="center" prop="documenttype" />
-      <el-table-column label="证件号" align="center" prop="certificatenumber" />
+      <el-table-column
+        label="证件类型"
+        align="center"
+        prop="documenttype"
+        :formatter="zhenJian"
+      />
+      <el-table-column
+        label="证件号"
+        align="center"
+        prop="certificatenumber"
+        width="170"
+      />
       <el-table-column label="备注" align="center" prop="remarks" />
-      <el-table-column label="创建人" align="center" prop="adminId" />
-      <el-table-column label="创建时间" align="center" prop="createtime" />
+      <!-- <el-table-column label="创建人" align="center" prop="adminId" />
+      <el-table-column label="创建时间" align="center" prop="createtime" /> -->
 
       <!-- <el-table-column
         label="临时车辆所有人"
@@ -229,17 +130,15 @@
       >
         <template slot-scope="scope">
           <el-button
-            size="mini"
+            size="btu"
             type="text"
-            icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['militaryvehicleManagement:privateCar:edit']"
             >修改</el-button
           >
           <el-button
-            size="mini"
+            size="btd"
             type="text"
-            icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['militaryvehicleManagement:privateCar:remove']"
             >删除</el-button
@@ -265,11 +164,31 @@
         label-width="80px"
         inline
       >
-        <el-form-item label="车辆类型" prop="vehiclemodel">
-          <el-input v-model="form.vehiclemodel" placeholder="请输入车辆型号" />
+        <el-form-item label="车辆类型" prop="vehiclecategory">
+          <el-select
+            v-model="form.vehiclecategory"
+            placeholder="请输入车辆型号"
+          >
+            <el-option
+              v-for="(item, i) in privateCar"
+              :key="i"
+              :label="item.dictLabel"
+              :value="item.dictValue"
+            >
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="车辆所有人" prop="peopleId">
-          <el-input v-model="form.peopleId" placeholder="请输入车辆所有人" />
+          <el-select v-model="form.peopleId" placeholder="请输入车辆所有人">
+            <el-option
+              v-for="(item, i) in renYuan"
+              :key="i"
+              :label="item.name"
+              :value="item.id"
+              @click.native="suoYouRen(item.name)"
+            >
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="车牌号" prop="vehiclenumber">
           <el-input v-model="form.vehiclenumber" placeholder="请输入车牌号" />
@@ -285,7 +204,13 @@
         </el-form-item>
         <el-form-item label="证件类型" prop="documenttype">
           <el-select v-model="form.documenttype" placeholder="请选择证件类型">
-            <el-option label="请选择字典生成" value="" />
+            <el-option
+              v-for="(item, i) in documentType"
+              :key="i"
+              :label="item.dictLabel"
+              :value="item.dictValue"
+            >
+            </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="证件号" prop="certificatenumber">
@@ -295,10 +220,28 @@
           />
         </el-form-item>
         <el-form-item label="授权开始时间" prop="authStime">
-          <el-input v-model="form.authStime" placeholder="请输入授权开始时间" />
+          <!-- <el-input v-model="form.authStime" placeholder="请输入授权开始时间" /> -->
+          <el-date-picker
+            clearable
+            size="small"
+            v-model="form.authStime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请输入授权开始时间"
+          >
+          </el-date-picker>
         </el-form-item>
         <el-form-item label="授权结束时间" prop="authEtime">
-          <el-input v-model="form.authEtime" placeholder="请输入授权结束时间" />
+          <!-- <el-input v-model="form.authEtime" placeholder="请输入授权结束时间" /> -->
+          <el-date-picker
+            clearable
+            size="small"
+            v-model="form.authEtime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请输入授权结束时间"
+          >
+          </el-date-picker>
         </el-form-item>
         <div class="jiben">备注</div>
         <el-form-item prop="remarks">
@@ -308,23 +251,6 @@
             placeholder="请输入内容"
           />
         </el-form-item>
-        <!-- <el-form-item label="临时车辆所有人" prop="peopleName">
-          <el-input
-            v-model="form.peopleName"
-            placeholder="请输入临时车辆所有人"
-          />
-        </el-form-item>
-
-        <el-form-item label="备注" prop="remarks">
-          <el-input
-            v-model="form.remarks"
-            type="textarea"
-            placeholder="请输入内容"
-          />
-        </el-form-item>
-        <el-form-item label="创建人" prop="adminId">
-          <el-input v-model="form.adminId" placeholder="请输入创建人" />
-        </el-form-item> -->
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -342,8 +268,10 @@ import {
   addPrivateCar,
   updatePrivateCar,
   exportPrivateCar,
+  getRenYuanCar,
 } from "@/api/militaryvehicleManagement/privateCar";
-
+// 查询字典
+import { getDicts } from "@/api/system/dict/data";
 export default {
   name: "PrivateCar",
   data() {
@@ -395,13 +323,63 @@ export default {
         adminId: [
           { required: true, message: "创建人不能为空", trigger: "blur" },
         ],
+        // certificatenumber: [
+        //   { required: true, message: "请输入正确的身份号码", trigger: "blur" },
+        //   {
+        //     pattern:
+        //       /^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
+        //     message: "请输入正确的身份号码",
+        //   },
+        // ],
       },
+      // 车辆类别
+      privateCar: [],
+      // 人员列表
+      renYuan: [],
+      // 证件类别
+      documentType: [],
     };
   },
   created() {
     this.getList();
+    getDicts("privateCar").then((response) => {
+      this.privateCar = response.data;
+    });
+    getDicts("documentType").then((response) => {
+      this.documentType = response.data;
+    });
   },
   methods: {
+    // 证件类型翻译
+    zhenJian(row, column) {
+      var zhenJian = "";
+      this.documentType.map((item) => {
+        if (item.dictValue == row.documenttype) {
+          zhenJian = item.dictLabel;
+        }
+      });
+      return zhenJian;
+    },
+    // 车辆类别翻译
+    carLei(row, column) {
+      var carLei = "";
+      this.privateCar.map((item) => {
+        if (item.dictValue == row.vehiclecategory) {
+          carLei = item.dictLabel;
+        }
+      });
+      return carLei;
+    },
+    // 点击车辆所有人选中触发
+    suoYouRen(name) {
+      this.form.peopleName = name;
+    },
+    // 人员列表
+    getRen() {
+      getRenYuanCar().then((response) => {
+        this.renYuan = response.rows;
+      });
+    },
     /** 查询私家车管理列表 */
     getList() {
       this.loading = true;
@@ -456,6 +434,7 @@ export default {
     },
     /** 新增按钮操作 */
     handleAdd() {
+      this.getRen();
       this.reset();
       this.open = true;
       this.title = "添加私家车管理";
@@ -463,6 +442,7 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
+      this.getRen();
       const id = row.id || this.ids;
       getPrivateCar(id).then((response) => {
         this.form = response.data;

+ 1 - 3
src/views/militaryvehicleManagement/thebus/index.vue

@@ -392,7 +392,7 @@
           />
         </el-form-item>
         <el-form-item label="车牌型号" prop="vehiclemodel">
-          <el-select v-model="form.vehiclemodel" placeholder="请输入是否上牌">
+          <el-select v-model="form.vehiclemodel" placeholder="请输入车牌型号">
             <el-option
               v-for="(item, i) in brand"
               :key="i"
@@ -450,7 +450,6 @@
             >
             </el-option>
           </el-select>
-          <!-- <el-input v-model="form.isListing" placeholder="请输入是否上牌" /> -->
         </el-form-item>
         <el-form-item label="号牌号码" prop="vehiclenumber">
           <el-input v-model="form.vehiclenumber" placeholder="请输入号码" />
@@ -595,7 +594,6 @@ export default {
       this.military = response.data;
     });
     getDicts("brand").then((response) => {
-      console.log(response);
       this.brand = response.data;
     });
   },

+ 388 - 183
src/views/militaryvehicleManagement/thebusAccessLog/index.vue

@@ -1,7 +1,13 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="车牌号" prop="thebusId">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
+      <el-form-item prop="thebusId">
         <el-input
           v-model="queryParams.thebusId"
           placeholder="请输入车牌号"
@@ -10,117 +16,17 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="车牌号" prop="vehiclenumber">
-        <el-input
-          v-model="queryParams.vehiclenumber"
-          placeholder="请输入车牌号"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="车辆型号" prop="vehiclemodel">
-        <el-input
-          v-model="queryParams.vehiclemodel"
-          placeholder="请输入车辆型号"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="车位号" prop="parkingspacenumber">
-        <el-input
-          v-model="queryParams.parkingspacenumber"
-          placeholder="请输入车位号"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="车辆颜色" prop="vehiclecolor">
-        <el-input
-          v-model="queryParams.vehiclecolor"
-          placeholder="请输入车辆颜色"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="人员单位" prop="unitId">
-        <el-input
-          v-model="queryParams.unitId"
-          placeholder="请输入人员单位"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="人员姓名" prop="driverId">
-        <el-input
-          v-model="queryParams.driverId"
-          placeholder="请输入人员姓名"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="联系方式" prop="contactnumber">
-        <el-input
-          v-model="queryParams.contactnumber"
-          placeholder="请输入联系方式"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="外出时间" prop="time1">
-        <el-input
-          v-model="queryParams.time1"
-          placeholder="请输入外出时间"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="返回时间" prop="time2">
-        <el-input
-          v-model="queryParams.time2"
-          placeholder="请输入返回时间"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="返回时间" prop="adminId">
-        <el-input
-          v-model="queryParams.adminId"
-          placeholder="请输入返回时间"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="返回时间" prop="createtime">
-        <el-input
-          v-model="queryParams.createtime"
-          placeholder="请输入返回时间"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="返回时间" prop="updatetime">
-        <el-input
-          v-model="queryParams.updatetime"
-          placeholder="请输入返回时间"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
       </el-form-item>
     </el-form>
 
@@ -133,7 +39,8 @@
           size="mini"
           @click="handleAdd"
           v-hasPermi="['militaryvehicleManagement:thebusAccessLog:add']"
-        >新增</el-button>
+          >新增</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -144,7 +51,8 @@
           :disabled="single"
           @click="handleUpdate"
           v-hasPermi="['militaryvehicleManagement:thebusAccessLog:edit']"
-        >修改</el-button>
+          >修改</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -155,7 +63,8 @@
           :disabled="multiple"
           @click="handleDelete"
           v-hasPermi="['militaryvehicleManagement:thebusAccessLog:remove']"
-        >删除</el-button>
+          >删除</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -166,49 +75,67 @@
           :loading="exportLoading"
           @click="handleExport"
           v-hasPermi="['militaryvehicleManagement:thebusAccessLog:export']"
-        >导出</el-button>
+          >导出</el-button
+        >
       </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+      <!-- <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar> -->
     </el-row>
 
-    <el-table v-loading="loading" :data="thebusAccessLogList" @selection-change="handleSelectionChange">
+    <el-table
+      v-loading="loading"
+      :data="thebusAccessLogList"
+      @selection-change="handleSelectionChange"
+      :header-cell-style="{ background: '#003C69', color: 'white' }"
+    >
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="返回时间" align="center" prop="id" />
-      <el-table-column label="车牌号" align="center" prop="thebusId" />
+      <el-table-column label="序号" align="center" prop="id" />
       <el-table-column label="车牌号" align="center" prop="vehiclenumber" />
-      <el-table-column label="车辆型号" align="center" prop="vehiclemodel" />
-      <el-table-column label="车位号" align="center" prop="parkingspacenumber" />
+      <el-table-column
+        label="车辆型号"
+        align="center"
+        prop="vehiclemodel"
+        :formatter="carXingHao"
+      />
+      <el-table-column
+        label="车位号"
+        align="center"
+        prop="parkingspacenumber"
+      />
       <el-table-column label="车辆颜色" align="center" prop="vehiclecolor" />
-      <el-table-column label="人员单位" align="center" prop="unitId" />
-      <el-table-column label="人员姓名" align="center" prop="driverId" />
+      <el-table-column label="人员单位" align="center" prop="unitName" />
+      <el-table-column label="人员姓名" align="center" prop="driverName" />
       <el-table-column label="联系方式" align="center" prop="contactnumber" />
-      <el-table-column label="外出时间" align="center" prop="time1" />
-      <el-table-column label="返回时间" align="center" prop="time2" />
-      <el-table-column label="返回时间" align="center" prop="adminId" />
-      <el-table-column label="返回时间" align="center" prop="createtime" />
-      <el-table-column label="返回时间" align="center" prop="updatetime" />
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="外出时间" align="center" prop="waichushijian" />
+      <el-table-column label="返回时间" align="center" prop="fanhuishijian" />
+      <el-table-column
+        label="操作"
+        align="center"
+        class-name="small-padding fixed-width"
+      >
         <template slot-scope="scope">
           <el-button
-            size="mini"
+            size="btu"
             type="text"
-            icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['militaryvehicleManagement:thebusAccessLog:edit']"
-          >修改</el-button>
+            >修改</el-button
+          >
           <el-button
-            size="mini"
+            size="btd"
             type="text"
-            icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['militaryvehicleManagement:thebusAccessLog:remove']"
-          >删除</el-button>
+            >删除</el-button
+          >
         </template>
       </el-table-column>
     </el-table>
-    
+
     <pagination
-      v-show="total>0"
+      v-show="total > 0"
       :total="total"
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
@@ -217,39 +144,93 @@
 
     <!-- 添加或修改军车进出查询对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+      <el-form
+        ref="form"
+        :model="form"
+        :rules="rules"
+        label-width="80px"
+        inline
+      >
         <el-form-item label="车牌号" prop="thebusId">
-          <el-input v-model="form.thebusId" placeholder="请输入车牌号" />
-        </el-form-item>
-        <el-form-item label="车牌号" prop="vehiclenumber">
-          <el-input v-model="form.vehiclenumber" placeholder="请输入车牌号" />
+          <el-select v-model="form.thebusId" placeholder="请输入车牌号">
+            <el-option
+              v-for="(item, i) in carList"
+              :key="i"
+              :label="item.vehiclenumber"
+              :value="item.id"
+              @click.native="carPaiHao(item.vehiclenumber)"
+            >
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="车辆型号" prop="vehiclemodel">
-          <el-input v-model="form.vehiclemodel" placeholder="请输入车辆型号" />
+          <el-select v-model="form.vehiclemodel" placeholder="请输入车牌型号">
+            <el-option
+              v-for="(item, i) in brand"
+              :key="i"
+              :label="item.dictLabel"
+              :value="item.dictValue"
+            >
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="车位号" prop="parkingspacenumber">
-          <el-input v-model="form.parkingspacenumber" placeholder="请输入车位号" />
+          <el-input
+            v-model="form.parkingspacenumber"
+            placeholder="请输入车位号"
+          />
         </el-form-item>
         <el-form-item label="车辆颜色" prop="vehiclecolor">
           <el-input v-model="form.vehiclecolor" placeholder="请输入车辆颜色" />
         </el-form-item>
         <el-form-item label="人员单位" prop="unitId">
-          <el-input v-model="form.unitId" placeholder="请输入人员单位" />
+          <treeselect
+            v-model="form.unitId"
+            :options="treeList"
+            placeholder="选择单位"
+            @select="selectPeo"
+          />
         </el-form-item>
         <el-form-item label="人员姓名" prop="driverId">
-          <el-input v-model="form.driverId" placeholder="请输入人员姓名" />
+          <el-select
+            v-model="form.driverId"
+            placeholder="请输入人员姓名"
+            filterable
+          >
+            <el-option
+              v-for="(item, i) in renYuan"
+              :key="i"
+              :label="item.name"
+              :value="item.id"
+              @click.native="cheRen(item.name)"
+            >
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="联系方式" prop="contactnumber">
           <el-input v-model="form.contactnumber" placeholder="请输入联系方式" />
         </el-form-item>
-        <el-form-item label="外出时间" prop="time1">
-          <el-input v-model="form.time1" placeholder="请输入外出时间" />
+        <el-form-item label="外出时间" prop="waichushijian">
+          <el-date-picker
+            clearable
+            size="small"
+            v-model="form.waichushijian"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请输入外出时间"
+          >
+          </el-date-picker>
         </el-form-item>
-        <el-form-item label="返回时间" prop="time2">
-          <el-input v-model="form.time2" placeholder="请输入返回时间" />
-        </el-form-item>
-        <el-form-item label="返回时间" prop="adminId">
-          <el-input v-model="form.adminId" placeholder="请输入返回时间" />
+        <el-form-item label="返回时间" prop="fanhuishijian">
+          <el-date-picker
+            clearable
+            size="small"
+            v-model="form.fanhuishijian"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请输入返回时间"
+          >
+          </el-date-picker>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -261,10 +242,30 @@
 </template>
 
 <script>
-import { listThebusAccessLog, getThebusAccessLog, delThebusAccessLog, addThebusAccessLog, updateThebusAccessLog, exportThebusAccessLog } from "@/api/militaryvehicleManagement/thebusAccessLog";
+import {
+  listThebusAccessLog,
+  getThebusAccessLog,
+  delThebusAccessLog,
+  addThebusAccessLog,
+  updateThebusAccessLog,
+  exportThebusAccessLog,
+} from "@/api/militaryvehicleManagement/thebusAccessLog";
+import {
+  listThebus,
+  getZhuChiRen,
+  getDept,
+} from "@/api/militaryvehicleManagement/thebus";
+// 查询字典
+import { getDicts } from "@/api/system/dict/data";
+// 导入树形结构
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 
 export default {
   name: "ThebusAccessLog",
+  components: {
+    Treeselect,
+  },
   data() {
     return {
       // 遮罩层
@@ -303,26 +304,79 @@ export default {
         time2: null,
         adminId: null,
         createtime: null,
-        updatetime: null
+        updatetime: null,
       },
       // 表单参数
       form: {},
       // 表单校验
       rules: {
         thebusId: [
-          { required: true, message: "车牌号不能为空", trigger: "blur" }
+          { required: true, message: "车牌号不能为空", trigger: "blur" },
         ],
-      }
+      },
+      // 车牌号列表
+      carList: [],
+      // 车牌型号
+      brand: [],
+      // 树形列表
+      treeList: [],
+      // 人员列表
+      renYuan: [],
     };
   },
   created() {
     this.getList();
+    getDicts("brand").then((response) => {
+      this.brand = response.data;
+    });
   },
   methods: {
+    // 字典翻译车辆类型
+    carXingHao(row) {
+      var carXingHao = "";
+      this.brand.map((item) => {
+        if (item.dictValue == row.vehiclemodel) {
+          carXingHao = item.dictLabel;
+        }
+      });
+      return carXingHao;
+    },
+    // 选择车辆人员触发
+    cheRen(name) {
+      this.form.driverName = name;
+    },
+    // 获取人员列表
+    getRen(id) {
+      getZhuChiRen(id).then((res) => {
+        this.renYuan = res.data;
+      });
+    },
+    //  获取单位列表
+    getTreeList() {
+      getDept().then((res) => {
+        this.treeList = res.data;
+      });
+    },
+    // 选择部门单位触发
+    selectPeo(data) {
+      this.form.unitName = data.label;
+      this.getRen(data.id);
+    },
+    // 车牌号触发
+    carPaiHao(name) {
+      this.form.vehiclenumber = name;
+    },
+    // 查询车牌号列表
+    getCarPaiList() {
+      listThebus().then((response) => {
+        console.log(response);
+        this.carList = response.rows;
+      });
+    },
     /** 查询军车进出查询列表 */
     getList() {
       this.loading = true;
-      listThebusAccessLog(this.queryParams).then(response => {
+      listThebusAccessLog(this.queryParams).then((response) => {
         this.thebusAccessLogList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -349,7 +403,7 @@ export default {
         time2: null,
         adminId: null,
         createtime: null,
-        updatetime: null
+        updatetime: null,
       };
       this.resetForm("form");
     },
@@ -365,38 +419,43 @@ export default {
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.id)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
+      this.ids = selection.map((item) => item.id);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
     },
     /** 新增按钮操作 */
     handleAdd() {
+      this.getTreeList();
+      this.getCarPaiList();
       this.reset();
       this.open = true;
       this.title = "添加军车进出查询";
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
+      this.getTreeList();
+      this.getCarPaiList();
       this.reset();
-      const id = row.id || this.ids
-      getThebusAccessLog(id).then(response => {
+      const id = row.id || this.ids;
+      getThebusAccessLog(id).then((response) => {
         this.form = response.data;
+        this.getRen(this.form.unitId);
         this.open = true;
         this.title = "修改军车进出查询";
       });
     },
     /** 提交按钮 */
     submitForm() {
-      this.$refs["form"].validate(valid => {
+      this.$refs["form"].validate((valid) => {
         if (valid) {
           if (this.form.id != null) {
-            updateThebusAccessLog(this.form).then(response => {
+            updateThebusAccessLog(this.form).then((response) => {
               this.$modal.msgSuccess("修改成功");
               this.open = false;
               this.getList();
             });
           } else {
-            addThebusAccessLog(this.form).then(response => {
+            addThebusAccessLog(this.form).then((response) => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;
               this.getList();
@@ -408,24 +467,170 @@ export default {
     /** 删除按钮操作 */
     handleDelete(row) {
       const ids = row.id || this.ids;
-      this.$modal.confirm('是否确认删除军车进出查询编号为"' + ids + '"的数据项?').then(function() {
-        return delThebusAccessLog(ids);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => {});
+      this.$modal
+        .confirm('是否确认删除军车进出查询编号为"' + ids + '"的数据项?')
+        .then(function () {
+          return delThebusAccessLog(ids);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
     },
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;
-      this.$modal.confirm('是否确认导出所有军车进出查询数据项?').then(() => {
-        this.exportLoading = true;
-        return exportThebusAccessLog(queryParams);
-      }).then(response => {
-        this.$download.name(response.msg);
-        this.exportLoading = false;
-      }).catch(() => {});
-    }
-  }
+      this.$modal
+        .confirm("是否确认导出所有军车进出查询数据项?")
+        .then(() => {
+          this.exportLoading = true;
+          return exportThebusAccessLog(queryParams);
+        })
+        .then((response) => {
+          this.$download.name(response.msg);
+          this.exportLoading = false;
+        })
+        .catch(() => {});
+    },
+  },
 };
 </script>
+<style scoped>
+/* 对话框背景颜色 */
+::v-deep .el-dialog {
+  background: #004d86 !important;
+  width: 820px !important;
+}
+::v-deep .el-textarea__inner {
+  width: 610px;
+  height: 104px;
+  margin: auto;
+}
+::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-form-item__label {
+  font: 16px;
+  color: #fff;
+  width: 100px !important;
+}
+::v-deep .el-input__inner {
+  /* width: 200px !important;
+  height: 36px; */
+  background: transparent;
+  color: #fff;
+}
+/* 单位框背景颜色 */
+::v-deep .vue-treeselect__control {
+  background: #004d86 !important;
+}
+/* 基本信息背景 */
+.jiben {
+  width: 920px;
+  height: 32px;
+  background-image: url(../../../images/小标题底.png);
+  margin-bottom: 25px;
+  color: #fff;
+  padding-left: 16px;
+  line-height: 32px;
+}
+/*调整表单间距 */
+::v-deep .el-form-item__content {
+  width: 200px;
+}
+::v-deep .el-input__inner {
+  cursor: pointer !important;
+}
+/* 底部确定取消按钮 */
+::v-deep .el-dialog__footer {
+  padding: 30px 60px;
+}
+::v-deep .el-dialog__body {
+  margin: 22px 28px -14px 28px;
+  padding-top: 20px !important;
+  box-sizing: border-box;
+}
+.contents {
+  padding: 0px 40px !important;
+}
+/* 下拉菜单 */
+.el-dropdown-link {
+  cursor: pointer;
+  color: #409eff;
+}
+.el-icon-arrow-down {
+  font-size: 12px;
+}
+/* 下拉菜单字体/背景颜色 */
+.el-select-dropdown__item.hover,
+.el-select-dropdown__item:hover {
+  background-color: #004d86;
+  color: #fff;
+}
+.el-select-dropdown__item {
+  color: #fff;
+}
+/* 时间选择 */
+::v-deep .el-input--small .el-input__inner {
+  width: 200px;
+  height: 36px;
+  line-height: 36px;
+}
+.el-date-editor.el-input {
+  width: 200px;
+  height: 36px;
+  line-height: 36px;
+}
+::v-deep .el-date-editor.el-input .el-input__inner {
+  height: 36px;
+  line-height: 36px;
+}
+/* 单位框背景颜色 */
+::v-deep .vue-treeselect__control {
+  background: #004d86 !important;
+  color: #fff;
+}
+/* 单位下拉菜单选中字体颜色 */
+::v-deep .vue-treeselect__single-value {
+  color: #fff !important;
+}
+/* 分页按钮 */
+::v-deep .el-pagination.is-background .el-pager li {
+  background-color: #004d86;
+  color: #fff;
+}
+::v-deep .el-pagination.is-background .btn-next {
+  background-color: #004d86;
+  color: #fff;
+}
+/* 底部确定取消按钮 */
+::v-deep .el-dialog__footer {
+  padding: 18px 50px;
+  margin-right: 76px;
+}
+::v-deep .el-dialog__body {
+  padding: 30px 60px;
+}
+/* 小手样式 */
+::v-deep .el-table__cell {
+  cursor: pointer;
+}
+.el-button--mini {
+  width: 80px !important;
+  border: 1px solid transparent;
+  padding: 3px 8px;
+  font-size: 14px;
+  line-height: 1.5;
+  border-radius: 3px;
+  color: #fff;
+  background-color: #1890ff;
+}
+</style>

+ 324 - 144
src/views/militaryvehicleManagement/thebusConfig/index.vue

@@ -1,77 +1,33 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="人员类型" prop="peopleType">
-        <el-select v-model="queryParams.peopleType" placeholder="请选择人员类型" clearable size="small">
-          <el-option label="请选择字典生成" value="" />
-        </el-select>
-      </el-form-item>
-      <el-form-item label="外出授权大门是否自动开启" prop="authAutoOpen">
-        <el-input
-          v-model="queryParams.authAutoOpen"
-          placeholder="请输入外出授权大门是否自动开启"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="车辆回营是否组队设置回场" prop="carAutoBack">
-        <el-input
-          v-model="queryParams.carAutoBack"
-          placeholder="请输入车辆回营是否组队设置回场"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="未授权车辆进营区是否开门" prop="noauthOpen">
-        <el-input
-          v-model="queryParams.noauthOpen"
-          placeholder="请输入未授权车辆进营区是否开门"
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
+      <el-form-item prop="peopleType">
+        <el-select
+          v-model="queryParams.peopleType"
+          placeholder="请选择审批模板名称"
           clearable
           size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="同一车辆通过同一门禁多长时间内不记录" prop="time1">
-        <el-input
-          v-model="queryParams.time1"
-          placeholder="请输入同一车辆通过同一门禁多长时间内不记录"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="同一车辆通过同一门禁多长时间后再次记录" prop="time2">
-        <el-input
-          v-model="queryParams.time2"
-          placeholder="请输入同一车辆通过同一门禁多长时间后再次记录"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="默认审批人单位" prop="defaultUnitId">
-        <el-input
-          v-model="queryParams.defaultUnitId"
-          placeholder="请输入默认审批人单位"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="默认审批人" prop="defaultPeopleId">
-        <el-input
-          v-model="queryParams.defaultPeopleId"
-          placeholder="请输入默认审批人"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
+        >
+          <el-option label="请选择字典生成" value="" />
+        </el-select>
       </el-form-item>
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
       </el-form-item>
     </el-form>
 
@@ -84,7 +40,8 @@
           size="mini"
           @click="handleAdd"
           v-hasPermi="['militaryvehicleManagement:thebusConfig:add']"
-        >新增</el-button>
+          >新增</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -95,7 +52,8 @@
           :disabled="single"
           @click="handleUpdate"
           v-hasPermi="['militaryvehicleManagement:thebusConfig:edit']"
-        >修改</el-button>
+          >修改</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -106,7 +64,8 @@
           :disabled="multiple"
           @click="handleDelete"
           v-hasPermi="['militaryvehicleManagement:thebusConfig:remove']"
-        >删除</el-button>
+          >删除</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -117,23 +76,28 @@
           :loading="exportLoading"
           @click="handleExport"
           v-hasPermi="['militaryvehicleManagement:thebusConfig:export']"
-        >导出</el-button>
+          >导出</el-button
+        >
       </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" :data="thebusConfigList" @selection-change="handleSelectionChange">
+    <el-table
+      v-loading="loading"
+      :data="thebusConfigList"
+      @selection-change="handleSelectionChange"
+      :header-cell-style="{ background: '#003C69', color: 'white' }"
+    >
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="默认审批人" align="center" prop="id" />
-      <el-table-column label="人员类型" align="center" prop="peopleType" />
-      <el-table-column label="外出授权大门是否自动开启" align="center" prop="authAutoOpen" />
-      <el-table-column label="车辆回营是否组队设置回场" align="center" prop="carAutoBack" />
-      <el-table-column label="未授权车辆进营区是否开门" align="center" prop="noauthOpen" />
-      <el-table-column label="同一车辆通过同一门禁多长时间内不记录" align="center" prop="time1" />
-      <el-table-column label="同一车辆通过同一门禁多长时间后再次记录" align="center" prop="time2" />
-      <el-table-column label="默认审批人单位" align="center" prop="defaultUnitId" />
-      <el-table-column label="默认审批人" align="center" prop="defaultPeopleId" />
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="序号" align="center" prop="id" />
+      <el-table-column label="审批模板名称" align="center" prop="peopleType" />
+      <el-table-column label="一级审批人" align="center" prop="authAutoOpen" />
+      <el-table-column label="二级审批人" align="center" prop="carAutoBack" />
+      <el-table-column label="三级审批人" align="center" prop="noauthOpen" />
+      <el-table-column
+        label="操作"
+        align="center"
+        class-name="small-padding fixed-width"
+      >
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -141,20 +105,22 @@
             icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['militaryvehicleManagement:thebusConfig:edit']"
-          >修改</el-button>
+            >修改</el-button
+          >
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['militaryvehicleManagement:thebusConfig:remove']"
-          >删除</el-button>
+            >删除</el-button
+          >
         </template>
       </el-table-column>
     </el-table>
-    
+
     <pagination
-      v-show="total>0"
+      v-show="total > 0"
       :total="total"
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
@@ -163,33 +129,70 @@
 
     <!-- 添加或修改军车管理设置对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="人员类型" prop="peopleType">
-          <el-select v-model="form.peopleType" placeholder="请选择人员类型">
-            <el-option label="请选择字典生成" value="" />
-          </el-select>
-        </el-form-item>
-        <el-form-item label="外出授权大门是否自动开启" prop="authAutoOpen">
-          <el-input v-model="form.authAutoOpen" placeholder="请输入外出授权大门是否自动开启" />
-        </el-form-item>
-        <el-form-item label="车辆回营是否组队设置回场" prop="carAutoBack">
-          <el-input v-model="form.carAutoBack" placeholder="请输入车辆回营是否组队设置回场" />
-        </el-form-item>
-        <el-form-item label="未授权车辆进营区是否开门" prop="noauthOpen">
-          <el-input v-model="form.noauthOpen" placeholder="请输入未授权车辆进营区是否开门" />
-        </el-form-item>
-        <el-form-item label="同一车辆通过同一门禁多长时间内不记录" prop="time1">
-          <el-input v-model="form.time1" placeholder="请输入同一车辆通过同一门禁多长时间内不记录" />
-        </el-form-item>
-        <el-form-item label="同一车辆通过同一门禁多长时间后再次记录" prop="time2">
-          <el-input v-model="form.time2" placeholder="请输入同一车辆通过同一门禁多长时间后再次记录" />
-        </el-form-item>
-        <el-form-item label="默认审批人单位" prop="defaultUnitId">
-          <el-input v-model="form.defaultUnitId" placeholder="请输入默认审批人单位" />
-        </el-form-item>
-        <el-form-item label="默认审批人" prop="defaultPeopleId">
-          <el-input v-model="form.defaultPeopleId" placeholder="请输入默认审批人" />
-        </el-form-item>
+      <el-form
+        ref="form"
+        :model="form"
+        :rules="rules"
+        label-width="80px"
+        inline
+      >
+        <div class="box3">
+          <el-form v-for="(item1, e) in checkShop" :key="e">
+            <div>
+              <el-form-item label="" prop="">
+                <el-input
+                  v-model="item1.peopleName"
+                  placeholder="检查人"
+                ></el-input>
+              </el-form-item>
+              <el-form-item label="" prop="">
+                <el-input
+                  v-model="item1.foremanName"
+                  placeholder="领班员"
+                ></el-input>
+              </el-form-item>
+              <el-form-item label="" prop="">
+                <el-input
+                  v-model="item1.sentryName"
+                  placeholder="哨兵姓名"
+                ></el-input>
+              </el-form-item>
+              <el-form-item label="" prop="">
+                <el-date-picker
+                  v-model="item1.examineDate"
+                  type="date"
+                  :editable="false"
+                  size="mini"
+                  placeholder="选择日期"
+                  value-format="yyyy-MM-dd"
+                >
+                </el-date-picker>
+              </el-form-item>
+              <el-form-item label="" prop="">
+                <el-input
+                  v-model="item1.dialogue"
+                  placeholder="检查情况"
+                ></el-input>
+              </el-form-item>
+              <el-form-item>
+                <el-button
+                  type="primary"
+                  icon="el-icon-plus"
+                  size="mini"
+                  @click="addForms"
+                  v-if="e == checkShop.length - 1"
+                ></el-button>
+                <el-button
+                  type="primary"
+                  icon="el-icon-delete"
+                  size="mini"
+                  v-if="e > 0"
+                  @click="delForms(e)"
+                ></el-button>
+              </el-form-item>
+            </div>
+          </el-form>
+        </div>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -200,7 +203,14 @@
 </template>
 
 <script>
-import { listThebusConfig, getThebusConfig, delThebusConfig, addThebusConfig, updateThebusConfig, exportThebusConfig } from "@/api/militaryvehicleManagement/thebusConfig";
+import {
+  listThebusConfig,
+  getThebusConfig,
+  delThebusConfig,
+  addThebusConfig,
+  updateThebusConfig,
+  exportThebusConfig,
+} from "@/api/militaryvehicleManagement/thebusConfig";
 
 export default {
   name: "ThebusConfig",
@@ -237,23 +247,47 @@ export default {
         time1: null,
         time2: null,
         defaultUnitId: null,
-        defaultPeopleId: null
+        defaultPeopleId: null,
       },
       // 表单参数
       form: {},
       // 表单校验
-      rules: {
-      }
+      rules: {},
+      //添加对话框查铺表格为空
+      checkShop: [
+        {
+          peopleName: null,
+          foremanName: null,
+          sentryName: null,
+          examineDate: null,
+          dialogue: null,
+        },
+      ],
     };
   },
   created() {
     this.getList();
   },
   methods: {
+    // 删除对话框查铺
+    delForms(i) {
+      this.checkShop.splice(i, 1);
+    },
+
+    // 增加对话框查铺
+    addForms() {
+      this.checkShop.push({
+        peopleName: null,
+        foremanName: null,
+        sentryName: null,
+        examineDate: null,
+        dialogue: null,
+      });
+    },
     /** 查询军车管理设置列表 */
     getList() {
       this.loading = true;
-      listThebusConfig(this.queryParams).then(response => {
+      listThebusConfig(this.queryParams).then((response) => {
         this.thebusConfigList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -275,7 +309,7 @@ export default {
         time1: null,
         time2: null,
         defaultUnitId: null,
-        defaultPeopleId: null
+        defaultPeopleId: null,
       };
       this.resetForm("form");
     },
@@ -291,9 +325,9 @@ export default {
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.id)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
+      this.ids = selection.map((item) => item.id);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
     },
     /** 新增按钮操作 */
     handleAdd() {
@@ -304,8 +338,8 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      const id = row.id || this.ids
-      getThebusConfig(id).then(response => {
+      const id = row.id || this.ids;
+      getThebusConfig(id).then((response) => {
         this.form = response.data;
         this.open = true;
         this.title = "修改军车管理设置";
@@ -313,16 +347,16 @@ export default {
     },
     /** 提交按钮 */
     submitForm() {
-      this.$refs["form"].validate(valid => {
+      this.$refs["form"].validate((valid) => {
         if (valid) {
           if (this.form.id != null) {
-            updateThebusConfig(this.form).then(response => {
+            updateThebusConfig(this.form).then((response) => {
               this.$modal.msgSuccess("修改成功");
               this.open = false;
               this.getList();
             });
           } else {
-            addThebusConfig(this.form).then(response => {
+            addThebusConfig(this.form).then((response) => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;
               this.getList();
@@ -334,24 +368,170 @@ export default {
     /** 删除按钮操作 */
     handleDelete(row) {
       const ids = row.id || this.ids;
-      this.$modal.confirm('是否确认删除军车管理设置编号为"' + ids + '"的数据项?').then(function() {
-        return delThebusConfig(ids);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => {});
+      this.$modal
+        .confirm('是否确认删除军车管理设置编号为"' + ids + '"的数据项?')
+        .then(function () {
+          return delThebusConfig(ids);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
     },
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;
-      this.$modal.confirm('是否确认导出所有军车管理设置数据项?').then(() => {
-        this.exportLoading = true;
-        return exportThebusConfig(queryParams);
-      }).then(response => {
-        this.$download.name(response.msg);
-        this.exportLoading = false;
-      }).catch(() => {});
-    }
-  }
+      this.$modal
+        .confirm("是否确认导出所有军车管理设置数据项?")
+        .then(() => {
+          this.exportLoading = true;
+          return exportThebusConfig(queryParams);
+        })
+        .then((response) => {
+          this.$download.name(response.msg);
+          this.exportLoading = false;
+        })
+        .catch(() => {});
+    },
+  },
 };
 </script>
+<style scoped>
+/* 对话框背景颜色 */
+::v-deep .el-dialog {
+  background: #004d86 !important;
+  width: 820px !important;
+}
+::v-deep .el-textarea__inner {
+  width: 610px;
+  height: 104px;
+  margin: auto;
+}
+::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-form-item__label {
+  font: 16px;
+  color: #fff;
+  width: 100px !important;
+}
+::v-deep .el-input__inner {
+  /* width: 200px !important;
+  height: 36px; */
+  background: transparent;
+  color: #fff;
+}
+/* 单位框背景颜色 */
+::v-deep .vue-treeselect__control {
+  background: #004d86 !important;
+}
+/* 基本信息背景 */
+.jiben {
+  width: 920px;
+  height: 32px;
+  background-image: url(../../../images/小标题底.png);
+  margin-bottom: 25px;
+  color: #fff;
+  padding-left: 16px;
+  line-height: 32px;
+}
+/*调整表单间距 */
+::v-deep .el-form-item__content {
+  width: 200px;
+}
+::v-deep .el-input__inner {
+  cursor: pointer !important;
+}
+/* 底部确定取消按钮 */
+::v-deep .el-dialog__footer {
+  padding: 30px 60px;
+}
+::v-deep .el-dialog__body {
+  margin: 22px 28px -14px 28px;
+  padding-top: 20px !important;
+  box-sizing: border-box;
+}
+.contents {
+  padding: 0px 40px !important;
+}
+/* 下拉菜单 */
+.el-dropdown-link {
+  cursor: pointer;
+  color: #409eff;
+}
+.el-icon-arrow-down {
+  font-size: 12px;
+}
+/* 下拉菜单字体/背景颜色 */
+.el-select-dropdown__item.hover,
+.el-select-dropdown__item:hover {
+  background-color: #004d86;
+  color: #fff;
+}
+.el-select-dropdown__item {
+  color: #fff;
+}
+/* 时间选择 */
+::v-deep .el-input--small .el-input__inner {
+  width: 200px;
+  height: 36px;
+  line-height: 36px;
+}
+.el-date-editor.el-input {
+  width: 200px;
+  height: 36px;
+  line-height: 36px;
+}
+::v-deep .el-date-editor.el-input .el-input__inner {
+  height: 36px;
+  line-height: 36px;
+}
+/* 单位框背景颜色 */
+::v-deep .vue-treeselect__control {
+  background: #004d86 !important;
+  color: #fff;
+}
+/* 单位下拉菜单选中字体颜色 */
+::v-deep .vue-treeselect__single-value {
+  color: #fff !important;
+}
+/* 分页按钮 */
+::v-deep .el-pagination.is-background .el-pager li {
+  background-color: #004d86;
+  color: #fff;
+}
+::v-deep .el-pagination.is-background .btn-next {
+  background-color: #004d86;
+  color: #fff;
+}
+/* 底部确定取消按钮 */
+::v-deep .el-dialog__footer {
+  padding: 18px 50px;
+  margin-right: 76px;
+}
+::v-deep .el-dialog__body {
+  padding: 30px 60px;
+}
+/* 小手样式 */
+::v-deep .el-table__cell {
+  cursor: pointer;
+}
+.el-button--mini {
+  width: 80px !important;
+  border: 1px solid transparent;
+  padding: 3px 8px;
+  font-size: 14px;
+  line-height: 1.5;
+  border-radius: 3px;
+  color: #fff;
+  background-color: #1890ff;
+}
+</style>

+ 56 - 32
src/views/peopleChuRu/bdglLeave/index.vue

@@ -118,7 +118,11 @@
           <el-col v-if="scope.row.status1 == 2" :title="scope.row.reasons"
             >已驳回</el-col
           >
-          <el-col v-if="scope.row.status1 == 3">特殊审批</el-col>
+          <el-col
+            v-if="scope.row.status1 == 3"
+            :title="scope.row.bdglLeaveFus[0].specialApproval"
+            >特殊审批</el-col
+          >
         </template></el-table-column
       >
       <el-table-column
@@ -139,7 +143,11 @@
           <el-col v-if="scope.row.status2 == 2" :title="scope.row.reasons"
             >已驳回</el-col
           >
-          <el-col v-if="scope.row.status2 == 3">特殊审批</el-col>
+          <el-col
+            v-if="scope.row.status2 == 3"
+            :title="scope.row.bdglLeaveFus[1].specialApproval"
+            >特殊审批</el-col
+          >
         </template>
       </el-table-column>
       <el-table-column
@@ -160,7 +168,11 @@
           <el-col v-if="scope.row.status3 == 2" :title="scope.row.reasons"
             >已驳回</el-col
           >
-          <el-col v-if="scope.row.status3 == 3">特殊审批</el-col>
+          <el-col
+            v-if="scope.row.status3 == 3"
+            :title="scope.row.bdglLeaveFus[2].specialApproval"
+            >特殊审批</el-col
+          >
         </template>
       </el-table-column>
       <el-table-column
@@ -181,7 +193,11 @@
           <el-col v-if="scope.row.status4 == 2" :title="scope.row.reasons"
             >已驳回</el-col
           >
-          <el-col v-if="scope.row.status4 == 3">特殊审批</el-col>
+          <el-col
+            v-if="scope.row.status4 == 3"
+            :title="scope.row.bdglLeaveFus[3].specialApproval"
+            >特殊审批</el-col
+          >
         </template>
       </el-table-column>
       <el-table-column
@@ -729,9 +745,6 @@ export default {
         leaveType: [
           { required: true, message: "请假类型不能为空", trigger: "blur" },
         ],
-        specialApproval: [
-          { required: true, message: "审批原因不能为空", trigger: "blur" },
-        ],
       },
       // 特殊审批表单验证
       rulesform: {
@@ -739,7 +752,11 @@ export default {
           { required: true, message: "请填写驳回原因", trigger: "blur" },
         ],
         specialApproval: [
-          { required: true, message: "审批原因不能为空", trigger: "blur" },
+          {
+            required: true,
+            message: "审批原因不能为空",
+            trigger: "blur",
+          },
         ],
       },
       // 树形结构列表
@@ -756,6 +773,8 @@ export default {
       ziDian: [],
       // 审批状态
       ziDians: [],
+      // 特殊审批通过验证
+      trueng: true,
     };
   },
   created() {
@@ -933,32 +952,36 @@ export default {
     },
     //超级审批通过按钮
     TSsubmitForms() {
-      this.bdglLeaveList.forEach((item) => {
-        if (item.shenPiJiBie == "一级") {
-          this.form.status1 = 3;
-          this.form.common = "1";
-          this.form.contents = "一级审批通过";
-        } else if (item.shenPiJiBie == "二级") {
-          this.form.status2 = 3;
-          this.form.common = "2";
-          this.form.contents = "二级审批通过";
-        } else if (item.shenPiJiBie == "三级") {
-          this.form.status3 = 3;
-          this.form.common = "3";
-          this.form.contents = "三级审批通过";
-        } else if (item.shenPiJiBie == "四级") {
-          this.form.status4 = 3;
-          this.form.common = "4";
-          this.form.contents = "四级审批通过";
+      this.$refs["forms"].validateField("specialApproval", (valid) => {
+        if (!valid) {
+          this.bdglLeaveList.forEach((item) => {
+            if (item.shenPiJiBie == "一级") {
+              this.form.status1 = 3;
+              this.form.common = "1";
+              this.form.contents = "一级审批通过";
+            } else if (item.shenPiJiBie == "二级") {
+              this.form.status2 = 3;
+              this.form.common = "2";
+              this.form.contents = "二级审批通过";
+            } else if (item.shenPiJiBie == "三级") {
+              this.form.status3 = 3;
+              this.form.common = "3";
+              this.form.contents = "三级审批通过";
+            } else if (item.shenPiJiBie == "四级") {
+              this.form.status4 = 3;
+              this.form.common = "4";
+              this.form.contents = "四级审批通过";
+            }
+          });
+          if (this.form.id != null) {
+            updateBdglLeave(this.form).then((response) => {
+              this.$modal.msgSuccess("审批成功");
+              this.opens = false;
+              this.getList();
+            });
+          }
         }
       });
-      if (this.form.id != null) {
-        updateBdglLeave(this.form).then((response) => {
-          this.$modal.msgSuccess("审批成功");
-          this.opens = false;
-          this.getList();
-        });
-      }
     },
     // 超级审批驳回按钮
     TSboHui() {
@@ -1022,6 +1045,7 @@ export default {
         contents: null,
         statusd: null,
         rejoin: null,
+        specialApproval: null,
       };
       this.resetForm("form");
     },

+ 0 - 0
src/views/regulations/directoryinfo/index1.vue → src/views/regulations/directoryinfo/index.vue


+ 255 - 165
src/views/regulations/fileinfo/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="flexlayout">
+  <div class="flexlayout guizhangzhidu">
     <!-- 文件区域 左边-->
     <div class="tablesfile">
       <div class="jichu">文件</div>
@@ -9,58 +9,80 @@
         @selection-change="handleSelectionChange"
         :header-cell-style="{ background: '#003C69', color: 'white' }"
       >
-        <el-table-column label="序号" type="index" width="50">
+        <el-table-column label="序号" type="index" width="100">
         </el-table-column>
         <el-table-column
           label="文件"
           align="center"
-          width="600"
+          width="650"
           prop="directory"
           class="fileNAME"
         >
           <template slot-scope="scope">
-            <div>
+            <div style="display: flex; flex-warp: warp; margin-top: 10px">
+              <div style="padding-left: 20px" class="uploadPeople">
+                <!-- 根据后缀名控制图片显示doc还是pdf形式 -->
+                <img
+                  v-if="scope.row.parentDirId == '.pdf'"
+                  src="../../../images/PDF.png"
+                  alt=""
+                />
+                <img
+                  v-else-if="scope.row.parentDirId == '.doc'"
+                  src="../../../images/doc.png"
+                  alt=""
+                />
+              </div>
               <!-- 文件名称 fileName -->
-              <div style="text-align: start; text-indent: 4em">
-                {{ scope.row.fileName }}
+              <div>
+                <div style="text-align: start; width: 100%;margin-left:20px">
+                  {{ scope.row.fileName }}
+                </div>
+                <!-- 上传人 createUser -->
+                <!-- 页数 theNumberPages-->
+                <!-- 时间 createTime -->
+                <!-- 阅读量 readVolume -->
+                <div>
+                  <span
+                    style="
+                      font-size: 14px;
+                      color: rgba(204, 204, 204, 1);
+                      margin-right: 30px;
+                      margin-left: 0px;
+                      width:150px;
+                      margin-left:20px
+                    "
+                    >上传人:{{ scope.row.createUser }}</span
+                  >
+                  <span
+                    style="
+                      font-size: 14px;
+                      color: rgba(204, 204, 204, 1);
+                      margin-right: 30px;
+                      width:150px;
+                    "
+                    >页数:{{ scope.row.theNumberPages }}</span
+                  >
+                  <span
+                    style="
+                      font-size: 14px;
+                      color: rgba(204, 204, 204, 1);
+                      margin-right: 30px;
+                      width:150px
+                    "
+                    >时间:{{ scope.row.createTime }}</span
+                  >
+                  <span
+                    style="
+                      font-size: 14px;
+                      color: rgba(204, 204, 204, 1);
+                      margin-right: 30px;
+                      width:150px
+                    "
+                    >阅读量:{{ scope.row.readVolume }}</span
+                  >
+                </div>
               </div>
-              <!-- 上传人 createUser -->
-              <!-- 页数 theNumberPages-->
-              <!-- 时间 createTime -->
-              <!-- 阅读量 readVolume -->
-              <span
-                style="
-                  font-size: 14px;
-                  color: rgba(204, 204, 204, 1);
-                  margin-right: 30px;
-                  margin-left: -105px;
-                "
-                >上传人:{{ scope.row.createUser }}</span
-              >
-              <span
-                style="
-                  font-size: 14px;
-                  color: rgba(204, 204, 204, 1);
-                  margin-right: 30px;
-                "
-                >页数:{{ scope.row.theNumberPages }}</span
-              >
-              <span
-                style="
-                  font-size: 14px;
-                  color: rgba(204, 204, 204, 1);
-                  margin-right: 30px;
-                "
-                >时间:2022-03-05{{ scope.row.createTime }}</span
-              >
-              <span
-                style="
-                  font-size: 14px;
-                  color: rgba(204, 204, 204, 1);
-                  margin-right: 30px;
-                "
-                >阅读量:145{{ scope.row.readVolume }}</span
-              >
             </div>
           </template>
         </el-table-column>
@@ -68,13 +90,22 @@
           label="操作"
           align="center"
           class-name="small-padding fixed-width"
+          label-width="150px"
         >
           <template slot-scope="scope">
-            <el-button size="read" type="text" @click="ViewRead(scope.row)">
+            <el-button
+              size="read"
+              type="text"
+              @click.native="ViewRead(scope.row)"
+            >
               <span>
                 <!-- <iframe :src="'http://192.168.5.177:8080'+scope.row.parentDirName" target="_blank">阅读</iframe> -->
-                <a :href="'http://192.168.5.177:8080'+scope.row.parentDirName" target="_blank">阅读</a>
-                </span>
+                <a
+                  :href="'http://192.168.5.177:8080' + scope.row.parentDirName"
+                  target="_blank"
+                  >阅读</a
+                >
+              </span>
             </el-button>
             <el-button
               size="reads"
@@ -85,14 +116,8 @@
                 <a :href="scope.row.parentDirName" download>下载</a>
               </span>
             </el-button>
-            <el-button
-              size="dels"
-              type="text"
-              @click="handledels(scope.row)"
-            >
-              <span>
-                删除
-              </span>
+            <el-button size="dels" type="text" @click="handledels(scope.row)">
+              <span> 删除 </span>
             </el-button>
           </template>
         </el-table-column>
@@ -139,7 +164,6 @@
             prop="subclassification"
           />
           <el-table-column label="文件" align="center" prop="documentsNumber" />
-          <!-- <el-table-column label="更新时间" align="center" prop="updateTime" /> -->
           <el-table-column
             label="更新时间"
             align="center"
@@ -154,7 +178,7 @@
                 <span>添加</span>
               </el-button>
               <el-button
-                size="del"
+                size="dels"
                 type="text"
                 @click="handleDelete(scope.row)"
               >
@@ -176,23 +200,67 @@
       <div class="Ranking">
         <div class="jichu">排行</div>
         <table style="color: white">
-          <tr class="borderBottom">
-            <td class="numbers">1</td>
-            <td class="find">作战类</td>
-            <td class="readnumber">上周阅读量 2305</td>
-            <td class="thisweek">
-              本周阅读量 <span style="color: red">2306</span>
+          <tr class="borderBottom" v-for="(item,index) in Ranking" :key="item.directory_id">
+            <!-- 作战类 documentCategory -->
+            <!-- 上月阅读量 readnumber1 -->
+            <!-- 本月阅读量 readnumber2 -->
+            <!-- 排序 -->
+            <td class="numbers">{{index+1}}</td>
+            <!-- 作战类类别 -->
+            <td class="find">{{item.documentCategory}}</td>
+            <!-- 上周阅读量 -->
+            <td class="readnumber">
+              上月阅读量 <span style="margin-left: 5px">{{item.readnumber1}}</span>
             </td>
-          </tr>
-          <tr class="borderBottom">
-            <td class="numbers">1</td>
-            <td class="find">作战类</td>
-            <td class="readnumber">上周阅读量 2305</td>
-            <td class="thisweek">
-              本周阅读量 <span style="color: red">2306</span>
+            <!-- 本周阅读量 -->  
+            <td class="thisweek" style="position:relative">
+              <!-- <img src="../../../images/upRow.png" alt="" style="position:absolute;top:18px;right:158px" > -->
+              <!-- <img src="../../../images/downRow.png" alt=""  style="position:absolute;top:17px;right:158px"> -->
+              本月阅读量 <span style="color: red; margin-left: 5px">{{item. readnumber2}}</span>
             </td>
           </tr>
         </table>
+        <!-- <el-table
+          v-loading="loading"
+          :data="list"
+          @selection-change="handleSelectionChange"
+          :header-cell-style="{ background: '#003C69', color: 'white' }"
+          class="RankingTables"
+        >
+          <el-table-column label="排名" type="index" width="50">
+          </el-table-column>
+          <el-table-column label="类别" align="center" prop="directory">
+            <template slot-scope="scope">
+              <div
+                @click="mulus(scope.row)"
+                :class="scope.row.subclassification == 0 ? '' : 'undeline'"
+              >
+                {{ scope.row.directory }}
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="上周阅读量"
+            align="center"
+            prop="subclassification"
+          />
+          <el-table-column
+            label="本周阅读量"
+            align="center"
+            class-name="small-padding fixed-width"
+          >
+          <template slot-scope="scope">
+            <div style="position:relative"> -->
+              <!-- 阅读量增长箭头 -->
+            <!-- <img src="../../../images/upRow.png" alt="" style="position:absolute;top:5px;right:130px" > 
+            阅读量下降箭头
+            <img src="../../../images/downRow.png" alt=""  style="position:absolute;top:5px;right:130px"> -->
+            <!-- 本周阅读量
+            {{scope.row.read}}
+            </div>
+          </template>
+          </el-table-column>
+        </el-table> -->
       </div>
       <!-- 上传文件弹框 -->
       <div class="big">
@@ -254,21 +322,7 @@
               </el-select>
             </el-form-item>
             <el-form-item style="margin-left: 30px; margin-top: 30px">
-              <FileUpload v-model="form.file" @names="namess(name)" />
-              <!-- <div>
-                <label for="fileInput">
-                  <i aria-hidden="true" class="cursor">上传文件</i>
-                </label>
-                <input
-                  v-show="false"
-                  type="file"
-                  id="fileInput"
-                  @change="handleFileChange"
-                  name="file"
-                  ref="file"
-                />
-              </div> -->
-              <!-- <input type="file" id="people-export" ref="inputer" @change="fileUpload"/> -->
+              <FileUpload v-model="form.file" />
             </el-form-item>
           </el-form>
           <div slot="footer" class="dialog-footer">
@@ -343,26 +397,33 @@
 
 <script>
 import {
+  // 获取文件列表接口
   listFileinfo,
+  // 修改文件列表接口
   getFileinfo,
+  // 删除文件列表接口
   delFileinfo,
   // 上传文件
   addFileinfo,
+  // 修改文件列表接口
   updateFileinfo,
+  // 导出文件列表接口
   exportFileinfo,
+  // 获取排行接口
+  rankList
 } from "@/api/regulations/fileinfo";
-import FileUpload from "../../../components/FileUpload/index.vue"
 import {
+  // 查询目录列表接口
   listDirectoryinfo,
+  // 添加目录列表接口
   addDirectoryinfo,
+  // 删除目录列表接口
   delDirectoryinfo,
 } from "@/api/regulations/directoryinfo";
-import { getToken } from "@/utils/auth";
 export default {
   name: "Fileinfo",
   data() {
     return {
-      props:["name"],
       list: [
         {
           id: 1,
@@ -377,24 +438,10 @@ export default {
           file: "文件",
         },
       ],
-      lists: [
-        {
-          id: 1,
-          name: "李四",
-          age: 20,
-          file: "文件",
-          time: 2020,
-        },
-        {
-          id: 2,
-          name: "张三",
-          age: 20,
-          file: "文件",
-          time: 2020,
-        },
-      ],
-      total: 10,
-      total1: "",
+      // 分页器1
+      total: 0,
+      // 分页器2
+      total1: 0,
       queryParams: {
         pageNum: 1,
         pageSize: 5,
@@ -441,27 +488,39 @@ export default {
       loading1: false,
       // 文件
       file: {},
+      //文件类型判断
+      fileType: 1,
+      // 添加子分类名称
+      title2: "",
+      // 添加新建分类名称
+      title1: "",
+      // 添加上传文件名称
+      title: "",
+      // 排行数据
+      Ranking:[]
     };
   },
-  components:{
-    FileUpload
-  },
   created() {
     this.getList();
     // 获取目录接口
     this.ListDirectoryinfo();
+    // 获取排行目录接口
+    rankList().then(res=>{
+      console.log(res)
+      this.Ranking=res.data
+      console.log(this.Ranking)
+    })
   },
   methods: {
-    handledels(row){
-      console.log(row.id)
-    },
-    namess(name){
-      console.log(name)
+    // 文件删除按钮操作
+    handledels(row) {
+      delFileinfo(row.id).then((res) => {
+        this.getList();
+      });
     },
     // 子分类id
     soncategory(id) {
       this.form.directoryId = id;
-      console.log(id);
     },
     // 获取目录列表
     ListDirectoryinfo() {
@@ -471,22 +530,21 @@ export default {
         this.directory = res.rows;
         this.total1 = res.rows.length;
         this.loading = false;
-        console.log(this.directory);
+        // console.log(this.directory);
       });
     },
-    // 点击目录
+    // 点击目录根据子目录的数量控制他是否可以点进去进行渲染
     mulus(row) {
-      console.log(row.id);
       this.parentId = row.id;
       listDirectoryinfo({ parentId: this.parentId }).then((res) => {
         console.log(res.rows);
-        res.rows.forEach((item)=>{
-            if(item.subclassification==0){
-              this.directory=res.rows
-            }else{
-              return
-            }
-        })
+        res.rows.forEach((item) => {
+          if (item.subclassification == 0) {
+            this.directory = res.rows;
+          } else {
+            return;
+          }
+        });
         // if (res.rows[0].subclassification == 0) {
         //   this.directory = res.rows;
         // } else {
@@ -501,7 +559,6 @@ export default {
     },
     // 选中父目录之后
     chooseDirect(id) {
-      // this.form.subclassification=""
       this.subclassification = [];
       this.parentId = id;
       // 获取到父目录id了
@@ -514,7 +571,7 @@ export default {
       this.loading = true;
       listFileinfo(this.queryParams).then((response) => {
         this.fileinfoList = response.rows;
-        console.log(this.fileinfoList)
+        console.log(this.fileinfoList);
         this.total = response.total;
         this.loading = false;
       });
@@ -574,17 +631,31 @@ export default {
         this.title = "修改规章制度文件记录";
       });
     },
-    /** 提交按钮 */
+    /** 上传文件提交按钮 */
     submitForm() {
       this.$refs["form"].validate((valid) => {
-        console.log(this.form);
+        // console.log(this.form);
         if (valid) {
-          this.form.fileName=this.form.file[0].name
-          this.form.parentDirName=this.form.file[0].url
-          addFileinfo(this.form, this.file).then((response) => {
+          console.log(this.form.file[0]);
+          // 文件名
+          this.form.fileName = this.form.file[0].name;
+          // 路径
+          this.form.parentDirName = this.form.file[0].url;
+          // 后缀
+          this.form.parentDirId = this.form.file[0].houZUI;
+          // 页数
+          this.form.theNumberPages = this.form.file[0].pageCount;
+          // 文件大小
+          this.form.fileSize = this.form.file[0].fileLength;
+          // 目录名称
+          this.form.directoryName = this.form.directory;
+          //输出结果
+          console.log(this.form);
+          // 上传文件接口
+          addFileinfo(this.form).then((response) => {
             this.$modal.msgSuccess("上传成功");
             this.open = false;
-             this.getList()
+            this.getList();
             // this.listDirectoryinfo();
           });
         }
@@ -655,7 +726,7 @@ export default {
       this.reset();
       this.open = true;
       this.title = "上传文件";
-      this.ListDirectoryinfo();
+      // this.ListDirectoryinfo();
     },
     // 目录管理
     mange() {
@@ -680,7 +751,15 @@ export default {
       this.reset();
     },
     // 阅读按钮操作
-    ViewRead() {
+    ViewRead(row) {
+      // console.log(row.id)
+      // console.log(row)
+      row.common = "1";
+      console.log(row);
+      updateFileinfo(row).then((res) => {
+        this.getList();
+      });
+      // console.log(this.fileinfoList);
       // window.open("www.baidu.com","_self");
     },
     // 下载按钮操作
@@ -700,10 +779,12 @@ export default {
 }
 /* 文件表格 */
 .tablesfile {
-  width: 50%;
   height: 100vh;
   background: #00365f;
-  margin-left: 30px;
+  width: calc(100% - 695px);
+  position: absolute;
+  left: 20px;
+  top: 20px;
 }
 /* 弹性布局 */
 .flexlayout {
@@ -711,20 +792,23 @@ export default {
   justify-content: space-around;
   align-items: flex-start;
   height: 100%;
-  width: 100vw;
-  position: fixed;
+  display: flex;
+  width: 100%;
+  margin: 20px 20px 0;
 }
 /* 目录 */
 .catalog {
-  width: 43vw;
+  width: 100%;
   height: 45vh;
   position: relative;
   background-color: #00365f;
 }
-.dialog-footer .el-button{
+/* 弹框按钮 */
+.dialog-footer .el-button {
   width: 60px;
   height: 30px;
 }
+/* 分页器样式 */
 .pagination {
   position: absolute;
   bottom: 20px;
@@ -732,32 +816,23 @@ export default {
 }
 /* 排行 */
 .Ranking {
-  width: 43vw;
+  width: 100%;
   height: 45vh;
   right: 12%;
   top: 45%;
   background-color: #00365f;
   margin-top: 10px;
 }
-/* 下载按钮 */
-/* .downloadfile { */
-/* background-image: url("../../../images/uploads.png"); */
-/* background: rgba(29, 150, 255, 1);
-  display: inline-block;
-  width: 67px;
-  height: 30px;
-  border-radius: 5px;
-  line-height: 30px;
-  text-align: center;
-  font-size: 14px;
-  margin-right: 10px;
-  /* margin-r */
-/* }  */
+/* 右边栏样式 */
 .rights {
-  width: 50%;
   height: 100vh;
-  margin-left: 30px;
+  width: 632px;
+  float: right;
+  position: absolute;
+  top: 20px;
+  right: 20px;
 }
+
 /* 阅读 */
 .el-button--read {
   color: #ffffff;
@@ -769,6 +844,7 @@ export default {
   line-height: 5px;
   margin-right: 10px;
 }
+/* 阅读按钮1样式 */
 .el-button--reads {
   color: #ffffff;
   width: 67px;
@@ -783,6 +859,7 @@ export default {
   line-height: 5px;
   margin-right: 10px;
 }
+/* 删除按钮样式 */
 .el-button--dels {
   color: #ffffff;
   width: 60px;
@@ -796,6 +873,7 @@ export default {
   line-height: 5px;
   margin-right: 10px;
 }
+/* 查看按钮样式 */
 .el-button--reads .chakan {
   margin-left: 7px;
 }
@@ -871,7 +949,7 @@ table {
   border-radius: 4px;
   font-size: 14px;
   text-align: center;
-  margin-left: 480px;
+  margin-left: 300px;
 }
 /* 目录管理 */
 .manage {
@@ -885,6 +963,7 @@ table {
   border-radius: 4px;
   margin-left: 10px;
 }
+/* 弹框样式修改 */
 ::v-deep .el-dialog {
   background-color: #004d86 !important;
 }
@@ -962,10 +1041,10 @@ table {
 }
 /* 添加按钮 */
 .el-button--add {
-  width: 46px !important;
+  width: 55px !important;
   border: 1px solid transparent;
   padding: 3px 8px;
-  font-size: 14px;  
+  font-size: 14px;
   line-height: 1.5;
   border-radius: 3px;
   color: #fff;
@@ -976,7 +1055,7 @@ table {
   width: 46px !important;
   border: 1px solid transparent;
   padding: 3px 8px;
-  font-size: 14px;  
+  font-size: 14px;
   line-height: 1.5;
   border-radius: 3px;
   color: #fff;
@@ -989,7 +1068,7 @@ table {
   cursor: pointer;
 }
 /* 序号居中 */
-::v-deep .el-table_1_column_1 {
+::v-deep .el-table_1_column_1,.el-table_3_column_9 {
   text-align: center;
 }
 ::v-deep .el-table_2_column_4 {
@@ -1018,8 +1097,19 @@ table {
 html,
 body,
 #app {
-    height: 100%;
-    margin: 0;
-    padding: 0;
+  height: 100%;
+  margin: 0;
+  padding: 0;
+}
+/* .el-table td.el-table__cell div {
+  margin: auto;
+} */
+/* 下拉框样式 */
+::v-deep .guizhangzhidu .el-select-dropdown .el-select-dropdown__wrap .el-scrollbar__view{
+  background-color: white !important;
+  text-indent: 1em !important;
+}
+.uploadPeople{
+  /* margin-left: 10px; */
 }
 </style>

+ 6 - 23
src/views/workingArrangements/planTask/index.vue

@@ -123,7 +123,7 @@
         @queryTable="getList"
       ></right-toolbar>
     </el-row>
-
+    <!-- 渲染table表格 -->
     <el-table
       v-loading="loading"
       :data="planTaskList"
@@ -229,7 +229,7 @@
         </template>
       </el-table-column>
     </el-table>
-
+    <!-- 分页器 -->
     <pagination
       v-show="total > 0"
       :total="total"
@@ -469,7 +469,7 @@
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
-    <!-- 进度查看弹框 -->
+    <!-- 单人进度查看弹框 -->
     <el-dialog
       :title="title"
       :visible.sync="open2"
@@ -546,30 +546,13 @@
           />
         </el-form-item> -->
         <div class="thistext">{{ singleTable.contents }}</div>
-        <!-- <div class="jiben">执行人信息</div>
-        <el-table
-          :data="tableData"
-          border
-          style="width: 100%; background: #004d86"
-        >
-          <el-table-column prop="date" label="执行人" width="180">
-          </el-table-column>
-          <el-table-column prop="name" label="任务周期" width="180">
-          </el-table-column>
-          <el-table-column prop="address" label="进度"></el-table-column>
-          <el-table-column prop="date" label="完成时间" width="180">
-          </el-table-column>
-          <el-table-column prop="name" label="状态" width="180">
-          </el-table-column>
-          <el-table-column prop="address" label="下载"></el-table-column>
-        </el-table> -->
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm2">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
-    <!-- 进度查看1弹框 -->
+    <!-- 多人进度查看弹框 -->
     <el-dialog
       :title="title"
       :visible.sync="open3"
@@ -879,6 +862,7 @@ export default {
     // 查询计划类型
     getdict() {
       getDicts(this.dictType.dictType).then((res) => {
+        console.log(res);
         this.ziDian = res.data;
       });
     },
@@ -1124,13 +1108,12 @@ export default {
       });
     },
     submitForm1() {
-      console.log(this.Progress)
       this.Progress.fileName=this.Progress.file[0].name
       this.Progress.file=this.Progress.file[0].url
       this.$refs["Progress"].validate((valid) => {
         if (valid) {
-          console.log(this.jinduId);
           this.Progress.schedule = this.Progress.planProgress;
+          console.log(this.Progress)
           uploadProgress(this.Progress).then((res1) => {
             console.log(res1);
             this.$modal.msgSuccess("上传成功");

+ 5 - 19
src/views/workingArrangements/workTask/index.vue

@@ -184,7 +184,7 @@
             @click="handleChakan(scope.row)"
             v-if="scope.row.common == 1"
           >
-            <!-- 单人进度 -->
+            <!-- 单人进度查看 -->
             <span class="chakan">查看</span>
           </el-button>
           <el-button
@@ -193,7 +193,7 @@
             @click="handleChakan1(scope.row)"
             v-if="scope.row.common == 2 || scope.row.common == 0"
           >
-            <!-- 多人进度 -->
+            <!-- 多人进度查看 -->
             <span class="chakan">进度查看</span>
           </el-button>
           <el-button
@@ -420,7 +420,7 @@
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
-    <!-- 进度查看弹框 -->
+    <!-- 单人进度查看弹框 -->
     <el-dialog
       :title="title"
       :visible.sync="open2"
@@ -478,24 +478,9 @@
             >下载附件</a
           >
         </el-form-item>
-        <!-- <a :href="singleTable.planProgress.file" style="color:white">下载附件</a> -->
         <div class="jiben">备注</div>
-        <!-- <el-form-item prop="remark">
-          <el-input
-            v-model="ProgressLook.remark"
-            type="textarea"
-            placeholder="请输入内容"
-          />
-        </el-form-item> -->
         <div class="thistext">{{ singleTable.remark }}</div>
         <div class="jiben">任务描述</div>
-        <!-- <el-form-item prop="contents">
-          <el-input
-            v-model="ProgressLook.contents"
-            type="textarea"
-            placeholder="请输入内容"
-          />
-        </el-form-item> -->
         <div class="thistext">{{ singleTable.contents }}</div>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -503,7 +488,7 @@
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
-    <!-- 进度查看1弹框 -->
+    <!-- 多人进度查看弹框 -->
     <el-dialog
       :title="title"
       :visible.sync="open3"
@@ -1358,4 +1343,5 @@ export default {
   text-overflow: ellipsis;
   white-space: nowrap;
 }
+
 </style>