浏览代码

Merge branch 'V0.0.4' of http://10.87.21.221:8000/jzyd_yyds/soc_web into V0.0.4

coys 1 年之前
父节点
当前提交
91352922ce

+ 14 - 0
src/components/RightToolbar/index.vue

@@ -1,6 +1,9 @@
 <template>
   <div class="top-right-btn" :style="style">
     <el-row>
+      <el-tooltip class="item" effect="dark" :content="showOrgTree ? '隐藏机构':'显示机构'" placement="top" v-if="orgTree">
+        <el-button size="mini" circle :icon="showOrgTree ? 'el-icon-s-fold': 'el-icon-s-unfold'" @click="toggleOrgTree()" />
+      </el-tooltip>
       <el-tooltip class="item" effect="dark" :content="showSearch ? '折叠搜索' : '展开搜索'" placement="top" v-if="search">
         <el-button size="mini" circle :icon="showSearch ? 'el-icon-top':'el-icon-bottom'" @click="toggleSearch()" />
       </el-tooltip>
@@ -35,6 +38,10 @@ export default {
     };
   },
   props: {
+    showOrgTree: {
+      type: Boolean,
+      default: true,
+    },
     showSearch: {
       type: Boolean,
       default: true,
@@ -42,6 +49,10 @@ export default {
     columns: {
       type: Array,
     },
+    orgTree: {
+      type: Boolean,
+      default: true,
+    },
     search: {
       type: Boolean,
       default: true,
@@ -69,6 +80,9 @@ export default {
     }
   },
   methods: {
+    toggleOrgTree(){
+      this.$emit("update:showOrgTree", !this.showOrgTree);
+    },
     // 搜索
     toggleSearch() {
       this.$emit("update:showSearch", !this.showSearch);

+ 6 - 6
src/views/core/edu/task/dialog.newTask.vue

@@ -27,17 +27,17 @@
             </el-col>
             <el-col :span="12">
               <el-form-item  prop="trainingStartDateTime" label="培训开始时间">
-                <el-date-picker required v-model="formData.trainingStartDateTime" :picker-options="startDatepickerOptions"
+                <el-date-picker style="width:100%" required v-model="formData.trainingStartDateTime" :picker-options="startDatepickerOptions"
                                 format="yyyy-MM-dd HH:mm"
-                                type="datetime" placeholder="选择日期"  @change="startDateChanged">
+                                type="datetime" placeholder="选择培训开始时间"  @change="startDateChanged">
                 </el-date-picker>
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item prop="trainingEndDateTime" label="培训结束时间">
-                <el-date-picker required v-model="formData.trainingEndDateTime" :picker-options="endDatepickerOptions" @change="endDateChanged"
+                <el-date-picker style="width:100%" required v-model="formData.trainingEndDateTime" :picker-options="endDatepickerOptions" @change="endDateChanged"
                                 format="yyyy-MM-dd HH:mm"
-                                type="datetime" placeholder="选择日期">
+                                type="datetime" placeholder="选择培训结束时间">
                 </el-date-picker>
               </el-form-item>
             </el-col>
@@ -156,8 +156,8 @@ export default {
         type: [{required: true, message: "请输入培训类型"}],
         content: [{required: true, message: "请输入培训内容"}],
         absenceList: [{required: true, type: "array", message: "请选择参会人员"}],
-        startDate: [{required: true, message: "请输入培训开始时间"}],
-        endDate: [{required: true, message: "请输入培训结束时间"}],
+        trainingStartDateTime: [{required: true, message: "请选择培训开始时间"}],
+        trainingEndDateTime: [{required: true, message: "请选择培训结束时间"}],
         note: [{required: true, message: "请输入培训总结"}],
         imageList: [{required: true, message: "请上传培训图片"}],
         // fileList: [{required: true, message: "请上传培训文件"}],

+ 0 - 204
src/views/core/letter/letterAudit/dialog.letterview.vue

@@ -1,204 +0,0 @@
-<template>
-  <div class="edu-training-edit">
-    <DialogCom :title="title" @close="onHide" :visible.sync="isShow" width="800px">
-      <div class="page-body">
-        <el-form ref="form" :model="formData"  label-width="150px">
-          <el-row>
-            <el-col :span="24">
-              <el-form-item  label="介绍信名称:">
-                {{formData.letterName}}
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item   label="介绍信有效期限:">
-                {{formData.startTimeStr}}~{{formData.endTimeStr}}
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item label="创建机构:">
-                {{formData.orgName}}
-              </el-form-item>
-            </el-col>
-<!--            <el-col :span="24">
-              <el-form-item label="接待机构:">
-                {{formData.orgNames}}
-              </el-form-item>
-            </el-col>-->
-
-          <el-form-item label="介绍信文件:" >
-            <K-file-upload ref="upload" :defaultValue="formFileListDefualtValue" :disabled="true"  :isShowUploadBtn="false" v-model="formData.letterFile"/>
-          </el-form-item>
-
-          <el-form-item label="备注:" >
-            {{formData.description}}
-          </el-form-item>
-          </el-row>
-          <el-table  :data="formData.userInfos">
-            <el-table-column label="人员姓名" align="center" prop="userName" />
-            <el-table-column label="单位" align="center" prop="companyName" />
-            <el-table-column label="证据号码" align="center" prop="idCard">
-            </el-table-column>
-            <el-table-column label="证件" align="center" prop="imgFile" >
-              <template slot-scope="scope">
-                <img width="50" height="50" :src="splitImgFilePath(scope.row.imgFile,0)">
-                <img width="50" height="50" :src="splitImgFilePath(scope.row.imgFile,1)">
-              </template>
-            </el-table-column>
-          </el-table>
-          <el-row v-if="!showAudit">
-            <el-form-item label="审核:"  prop="checkStatus">
-              {{formData.checkLog.checkStatus==null?"":formData.checkLog.checkStatus===1?"通过":"不通过"}}
-            </el-form-item>
-            <el-form-item label="审核意见:"  prop="checkRemark">
-             {{formData.checkLog.checkRemark}}
-            </el-form-item>
-          </el-row>
-
-
-          <el-row v-if="showAudit">
-            <el-form-item label="审核:"  prop="checkStatus">
-              <template>
-                <el-radio-group v-model="formData.checkLog.checkStatus">
-                  <el-radio  :label="1">通过</el-radio>
-                  <el-radio  :label="2">不通过</el-radio>
-                </el-radio-group>
-              </template>
-            </el-form-item>
-          <el-form-item label="审核意见:"  prop="checkRemark">
-            <el-input v-model="formData.checkLog.checkRemark" type="textarea" placeholder="请输入内容" />
-          </el-form-item>
-          </el-row>
-        </el-form>
-      </div>
-
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="onHide">取 消</el-button>
-        <el-button type="primary" @click="submitForm" v-if="showAudit">确 定</el-button>
-      </div>
-    </DialogCom>
-  </div>
-
-</template>
-<script>
-import {mapState, mapMutations} from "vuex";
-import { getLetter,auditLetter} from "@/api/core/letter";
-import KFileUpload from "@/components/K-FileUpload";
-export default {
-  components: {KFileUpload},
-  data() {
-    const params = this.$route.params;
-    return {
-      id: params ? params.id : null,
-      isShow: false,
-      formData: this.reset(),
-      formFileListDefualtValue: [],
-      open: false,
-      userInfo:this.resetUserInfo(),
-      imageList:[],
-      title:null,
-      index:null,
-      showAudit:false
-    };
-  },
-  dicts: ['letter_status'],
-  props: {},
-  watch: {},
-  created() {
-  },
-  computed: {
-    ...mapState(["loginUser", "org",]),
-
-  },
-  methods: {
-    ...mapMutations([]),
-    reset(other = {}) {
-      return {
-        letterName:null,
-        orgIds:null,
-        startTime: null,
-        endTime: null,
-        fileList: [],
-        userInfos:[],
-        checkLog:this.resetCheckLog(),
-        letterFile:null,
-        startTimeStr:null,
-        endTimeStr:null,
-        orgName:null,
-        orgNames:null,
-        description:null,
-        ...other,
-      };
-    },
-    resetUserInfo(){
-      return {
-        userName: null,
-        companyName:null,
-        idCard:null,
-        imgFile:null,
-      }
-    },
-    resetCheckLog(){
-      return {
-        id: null,
-        checkUser:null,
-        checkTime:null,
-        checkStatus:null,
-        checkRemark:null,
-        letterId:null,
-        orgId:null,
-        status:null,
-      }
-    },
-    splitImgFilePath(imgPaths,index){
-      if(imgPaths==null){
-        return null;
-      }
-      return imgPaths.split(',')[index];
-    },
-    async show(id,type, other = {}) {
-      this.isShow = true;
-      if(type===0){
-        this.title = "介绍信详情";
-        this.showAudit=false;
-      }else{
-        this.title = "介绍信审批";
-        this.showAudit=true;
-      }
-          getLetter(id).then(response => {
-          this.formData = response.data;
-          this.userInfo = response.data.userInfos;
-          this.formFileListDefualtValue = response.data.letterFile;
-        });
-
-
-    },
-    onHide() {
-      this.isShow = false;
-      this.showAudit=false;
-      this.formData = this.reset();
-     /* this.userInfo = this.resetUserInfo();*/
-      this.$emit('closed')
-    },
-    submitForm(){
-       if(this.formData.checkLog.checkStatus==null){
-         this.$message.error("请选择审核状态");
-         return;
-       }
-       if(this.formData.checkLog.checkStatus==2&&!this.formData.checkLog.checkRemark){
-         this.$message.error("请填写审批意见");
-         return;
-       }
-       auditLetter(this.formData).then(response => {
-         this.$modal.msgSuccess("审批成功");
-       });
-       this.onHide();
-    },
-  },
-  mounted() {
-  },
-};
-</script>
-
-
-
-

+ 0 - 258
src/views/core/letter/letterAudit/index.vue

@@ -1,258 +0,0 @@
-<template>
-  <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
-      <el-form-item label="介绍信名称" prop="letterName">
-        <el-input
-          v-model="queryParams.letterName"
-          placeholder="请输入介绍信名称"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="状态" prop="status">
-        <el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
-          <el-option
-            v-for="dict in dict.type.letter_status"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.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-form-item>
-    </el-form>
-
-    <el-row :gutter="10" class="mb8">
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
-
-    <el-table v-loading="loading" :data="letterList" @selection-change="handleSelectionChange">
-      <el-table-column label="介绍信名称" align="center" prop="letterName" />
-      <el-table-column label="介绍信有效期" align="center" prop="startTime" width="250">
-        <template slot-scope="scope">
-          <span>{{ scope.row.startTime}}~{{scope.row.endTime}}</span>
-        </template>
-      </el-table-column>
-<!--      <el-table-column label="接待机构" align="center" prop="orgNames" >
-        <template slot-scope="r">
-          <span class="text-style" :title="r.row.orgNames">{{ r.row.orgNames }}</span>
-        </template>
-      </el-table-column>-->
-      <el-table-column label="创建机构" align="center" prop="orgName" />
-      <el-table-column label="状态" width="80" align="center" prop="status" >
-        <template slot-scope="r">
-          <dict-tag :options="dict.type.letter_status" :value="r.row.status"/>
-        </template>
-      </el-table-column>
-      <el-table-column label="审批意见" align="center" prop="description" >
-        <template slot-scope="r">
-          <span class="text-style" :title="r.row.checkRemark">{{ r.row.checkRemark }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="r">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-view"
-            @click="LookOrAudit(r.row.id,0)"
-            v-hasPermi="['core:letter:query']"
-          >详情</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="LookOrAudit(r.row.id,1)"
-            v-hasPermi="['core:letter:audit']"
-            v-if="r.row.status=== 0"
-          >审批</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
-    <dialog-letter-view ref="dialogLetterView" @success="handleQuery(true)" @closed="getList"></dialog-letter-view>
-  </div>
-</template>
-
-<script>
-import { auditListLetter, getLetter, delLetter, addLetter, updateLetter } from "@/api/core/letter";
-import dialogLetterView from "./dialog.letterview";
-
-export default {
-  components: {dialogLetterView},
-  dicts: ['letter_status'],
-  name: "Letter",
-  data() {
-    return {
-      // 遮罩层
-      loading: true,
-      // 选中数组
-      ids: [],
-      // 非单个停用
-      single: true,
-      // 非多个停用
-      multiple: true,
-      // 显示搜索条件
-      showSearch: true,
-      // 总条数
-      total: 0,
-      // 介绍信表格数据
-      letterList: [],
-      // 弹出层标题
-      title: "",
-      // 是否显示弹出层
-      open: false,
-      // 查询参数
-      queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        letterName: null,
-        status: null,
-        orgId:null,
-      },
-      // 表单参数
-      form: {},
-      // 表单校验
-      rules: {
-      }
-    };
-  },
-  created() {
-    this.queryParams.orgId = this.$store.getters.orgId;
-    this.getList();
-  },
-  methods: {
-    /** 查询介绍信列表 */
-    getList() {
-      this.loading = true;
-      auditListLetter(this.queryParams).then(response => {
-        this.letterList = response.rows;
-        this.total = response.total;
-        this.loading = false;
-      });
-    },
-    // 取消按钮
-    cancel() {
-      this.open = false;
-      this.reset();
-    },
-    // 表单重置
-    reset() {
-      this.form = {
-        id: null,
-        letterName: null,
-        startTime: null,
-        endTime: null,
-        letterFile: null,
-        orgId: null,
-        orgPath: null,
-        orgName: null,
-        checkUser: null,
-        checkTime: null,
-        checkStatus: null,
-        status:null,
-        description: null,
-        createBy: null,
-        createTime: null
-      };
-      this.resetForm("form");
-    },
-    /** 搜索按钮操作 */
-    handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
-    },
-    /** 重置按钮操作 */
-    resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
-    // 多选框选中数据
-    handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.id)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
-    },
-    /** 新增按钮操作 */
-    handleAddOrUpdate(id) {
-      this.$refs["dialogAddLetter"].show(id,{});
-    },
-    LookOrAudit(id,type) {
-      this.$refs["dialogLetterView"].show(id,type,{});
-    },
-
-    /** 修改按钮操作 */
-    handleUpdate(row) {
-      this.reset();
-      const id = row.id || this.ids
-      getLetter(id).then(response => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "修改介绍信";
-      });
-    },
-    /** 提交按钮 */
-    submitForm() {
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          if (this.form.id != null) {
-            updateLetter(this.form).then(response => {
-              this.$modal.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            addLetter(this.form).then(response => {
-              this.$modal.msgSuccess("新增成功");
-              this.open = false;
-              this.getList();
-            });
-          }
-        }
-      });
-    },
-    /** 删除按钮操作 */
-    handleDelete(row) {
-      const ids = row.id || this.ids;
-      this.$modal.confirm('是否确认删除该介绍信记录?').then(function() {
-        return delLetter(ids);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => {});
-    },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download('system/letter/export', {
-        ...this.queryParams
-      }, `letter_${new Date().getTime()}.xlsx`)
-    }
-  }
-};
-</script>
-
-<style lang="scss">
-.title {
-clear: both;
-margin: auto;
-text-align: center;
-color: black;
-font-size: xx-large;
-letter-spacing: 3px;
-}
-.text-style{
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-</style>

+ 0 - 110
src/views/core/letter/letterIndex/dialog.auditview.vue

@@ -1,110 +0,0 @@
-<template>
-  <div class="edu-training-edit">
-    <DialogCom title="审核情况" @close="onHide" :visible.sync="isShow" width="960px">
-      <div class="page-body">
-        <el-form ref="form" :model="formData"  label-width="150px">
-          <el-table  :data="formData">
-            <el-table-column label="接待机构" align="center" prop="orgName" />
-            <el-table-column label="审核状态" align="center" prop="status" width="80" >
-              <template slot-scope="r">
-                <dict-tag :options="dict.type.letter_status" :value="r.row.status"/>
-              </template>
-            </el-table-column>
-            <el-table-column label="审核结果" align="center" prop="checkStatus" width="80">
-              <template slot-scope="r">
-                <span>{{r.row.checkStatus==null?"待审批":r.row.checkStatus===1?"通过":"不通过"}}</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="审核人" align="center" prop="checkUser" width="100"/>
-            <el-table-column label="审核时间" align="center" prop="checkTime"/>
-            <el-table-column label="审核意见" align="center" prop="checkRemark">
-            <template slot-scope="r">
-              <span class="text-style" :title="r.row.checkRemark">{{ r.row.checkRemark }}</span>
-            </template>
-            </el-table-column>
-          </el-table>
-        </el-form>
-      </div>
-
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="onHide">取 消</el-button>
-<!--        <el-button type="primary" @click="submitForm" v-if="showAudit">确 定</el-button>-->
-      </div>
-    </DialogCom>
-  </div>
-
-</template>
-<script>
-import {mapState, mapMutations} from "vuex";
-import {auditAllList} from "@/api/core/letter";
-export default {
-  components: {},
-  data() {
-    const params = this.$route.params;
-    return {
-      id: params ? params.id : null,
-      isShow: false,
-      formData: this.reset(),
-    };
-  },
-  dicts: ['letter_status'],
-  props: {},
-  watch: {},
-  created() {
-  },
-  computed: {
-    ...mapState(["loginUser", "org",]),
-
-  },
-  methods: {
-    ...mapMutations([]),
-    reset(other = {}) {
-      return {
-        id: null,
-        checkUser:null,
-        checkTime:null,
-        checkStatus:null,
-        checkRemark:null,
-        letterId:null,
-        orgId:null,
-        status:null,
-        ...other,
-      };
-    },
-
-
-    async show(id, other = {}) {
-      this.isShow = true;
-       auditAllList(id).then(response => {
-          this.formData = response.data;
-        });
-
-
-    },
-    onHide() {
-      this.isShow = false;
-      this.formData = this.reset();
-      this.$emit('closed')
-    },
-  },
-  mounted() {
-  },
-};
-</script>
-<style lang="scss">
-.title {
-  clear: both;
-  margin: auto;
-  text-align: center;
-  color: black;
-  font-size: xx-large;
-  letter-spacing: 3px;
-}
-.text-style{
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-</style>
-
-

+ 0 - 311
src/views/core/letter/letterIndex/dialog.editletter.vue

@@ -1,311 +0,0 @@
-<template>
-  <div class="edu-training-edit">
-    <DialogCom :title="title" @close="onHide" :visible.sync="isShow" width="800px">
-      <div class="page-body">
-        <el-form ref="form" :model="formData" :rules="formDataRules" label-width="100px">
-          <el-row>
-            <el-col :span="12">
-              <el-form-item prop="letterName" label="介绍信名称">
-                <el-input v-model="formData.letterName" placeholder="请输入介绍信名称" :length="200"/>
-              </el-form-item>
-            </el-col>
-
-            <el-col :span="12">
-              <el-form-item label="接待机构" prop="orgIds">
-                <org-tree-select
-                  v-model="formData.orgIds"
-                  ref="orgTreeSelect"
-                  :enabledCheckOrgTypes="orgType"
-                >
-                </org-tree-select>
-              </el-form-item>
-            </el-col>
-
-            <el-col :span="12">
-              <el-form-item  prop="startTime" label="有效开始时间">
-                <el-date-picker required v-model="formData.startTime" :picker-options="startDatepickerOptions"
-                                type="date" placeholder="选择日期"  @change="startDateChanged">
-                </el-date-picker>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item prop="endTime" label="有效结束时间">
-                <el-date-picker required v-model="formData.endTime" :picker-options="endDatepickerOptions" @change="endDateChanged"
-                                type="date" placeholder="选择日期">
-                </el-date-picker>
-              </el-form-item>
-            </el-col>
-          </el-row>
-
-<!--          <el-form-item label="介绍信文件" prop="letterFile">
-            <file-upload v-model="formData.letterFile"/>
-          </el-form-item>-->
-          <el-form-item label="介绍信文件" prop="letterFile">
-            <K-file-upload ref="upload" :defaultValue="formFileListDefualtValue" v-model="formData.letterFile"/>
-          </el-form-item>
-
-          <el-form-item label="备注" prop="description">
-            <el-input v-model="formData.description" type="textarea" placeholder="请输入内容" />
-          </el-form-item>
-          <el-row :gutter="10" class="mb8">
-            <el-col :span="1.5">
-              <el-button
-                type="primary"
-                plain
-                icon="el-icon-plus"
-                size="mini"
-                @click="handleAddUser"
-              >新增人员</el-button>
-            </el-col>
-          </el-row>
-
-          <el-table  :data="formData.userInfos">
-            <el-table-column label="人员姓名" align="center" prop="userName" />
-            <el-table-column label="单位" align="center" prop="companyName" />
-            <el-table-column label="证据号码" align="center" prop="idCard">
-            </el-table-column>
-            <el-table-column label="证件" align="center" prop="imgFile" >
-              <template slot-scope="scope">
-                <img width="50" height="50" :src="splitImgFilePath(scope.row.imgFile,0)">
-                <img width="50" height="50" :src="splitImgFilePath(scope.row.imgFile,1)">
-              </template>
-            </el-table-column>
-            <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-              <template slot-scope="scope">
-              <el-button
-                size="mini"
-                type="text"
-                @click="editUser(scope.row,scope.$index)"
-              >编辑</el-button>
-                <el-button
-                  size="mini"
-                  type="text"
-                  @click="remove(scope.row)"
-                >移除</el-button>
-              </template>
-            </el-table-column>
-          </el-table>
-        </el-form>
-      </div>
-
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="onHide">取 消</el-button>
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-      </div>
-    </DialogCom>
-
-
-    <DialogCom title="添加出入人员" :visible.sync="open" width="800px" append-to-body @close="onHideUser">
-      <el-form ref="formUser" :model="userInfo" :rules="userInfoRules" label-width="80px">
-        <el-form-item label="人员姓名" prop="userName">
-          <el-input v-model="userInfo.userName" placeholder="请输入姓名" />
-        </el-form-item>
-        <el-form-item label="单位" prop="companyName">
-          <el-input v-model="userInfo.companyName" placeholder="请输入单位" />
-        </el-form-item>
-        <el-form-item label="证件号码" prop="idCard">
-          <el-input v-model="userInfo.idCard" placeholder="请输入证件号码" />
-        </el-form-item>
-        <el-form-item prop="imgFile" label="上传图片">
-          <imgUpload ref="imgUpload" :limit="2" type="more" :value="userInfo.imgFile"
-                     @input="imageListChanged"></imgUpload>
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="onHideUser">取 消</el-button>
-        <el-button type="primary" @click="submitUser">确 定</el-button>
-      </div>
-    </DialogCom>
-  </div>
-
-</template>
-<script>
-import {mapState, mapMutations} from "vuex";
-import { listLetter, getLetter, delLetter, addLetter, updateLetter } from "@/api/core/letter";
-import OrgTreeSelect from "@/components/orgTreeSelect";
-import KFileUpload from "@/components/K-FileUpload";
-import dayjs from "dayjs";
-import imgUpload from "@/components/ImageUpload";
-export default {
-  components: {OrgTreeSelect,KFileUpload,imgUpload},
-  data() {
-    const params = this.$route.params;
-    return {
-      id: params ? params.id : null,
-      isShow: false,
-      formData: this.reset(),
-      formDataRules: {
-        letterName: [{required: true, message: "请输入介绍信名称"}],
-        orgIds: [{required: true, message: "请选择接待机构"}],
-        startTime: [{required: true,  message: "请选择有效开始时间"}],
-        endTime: [{required: true, message: "请选择有效结束时间"}],
-        userInfos:[{required: true, message: "请添加出入人员"}],
-      },
-      userInfoRules: {
-        userName: [{required: true, message: "请输入姓名"}],
-        companyName: [{required: true, message: "请输入单位"}],
-        idCard: [{required: true, message: "请输入证件号码"}],
-      },
-      startDatepickerOptions: {
-        disabledDate:this.endDisabledDate,
-      },
-      endDatepickerOptions: {
-        disabledDate: this.endDisabledDate,
-      },
-      formFileListDefualtValue: [],
-      open: false,
-      userInfo: this.resetUserInfo(),
-      imageList:[],
-      title:null,
-      index:null,
-      orgType:4
-    };
-  },
-  dicts: ['letter_status'],
-  props: {},
-  watch: {},
-  created() {
-  },
-  computed: {
-    ...mapState(["loginUser", "org",]),
-
-  },
-  methods: {
-    ...mapMutations([]),
-    reset(other = {}) {
-      return {
-        letterName:null,
-        orgIds:null,
-        startTime: null,
-        endTime: null,
-        description: null,
-        fileList: [],
-        userInfos:null,
-        letterFile:null,
-        ...other,
-      };
-    },
-    resetUserInfo(){
-      return {
-        userName: null,
-        companyName:null,
-        idCard:null,
-        imgFile:null,
-      }
-    },
-    splitImgFilePath(imgPaths,index){
-      return imgPaths.split(',')[index];
-    },
-    async show(id, other = {}) {
-      this.isShow = true;
-      this.title = "新增介绍信";
-      console.log("-----------------",id);
-      if(id){
-          getLetter(id).then(response => {
-          this.formData = response.data;
-          this.userInfos = response.data.userInfos;
-          this.orgIds = response.data.orgIds;
-          this.formFileListDefualtValue = response.data.letterFile;
-          this.title = "修改介绍信";
-          console.log("-----------------",this.formFileListDefualtValue);
-        });
-      }
-
-    },
-    handleAddUser() {
-      this.open = true;
-      console.log(this.userInfo,'hhhh')
-    },
-    imageListChanged(list) {
-      this.userInfo.imgFile = list;
-    },
-    endDisabledDate(time) {
-      //小于开始日期禁止选择
-      let startDate = new Date();
-      startDate.setTime(startDate.getTime() - 3600 * 1000 * 24);
-      if (this.formData.trainingStartDateTime) {
-        startDate = new Date(dayjs(this.formData.trainingStartDateTime).format('YYYY-MM-DD'));
-        startDate.setTime(startDate.getTime() - 3600 * 1000 * 24);
-      }
-      return time.getTime() < new Date(startDate).getTime()
-
-    },
-    startDateChanged(time) {
-      if (dayjs(this.formData.startTime).isAfter(dayjs(this.formData.endTime))) {
-        this.formData.endTime = this.formData.startTime;
-      }
-    },
-    endDateChanged(time) {
-      if (dayjs(this.formData.startTime).isAfter(dayjs(this.formData.endTime))) {
-        this.formData.startTime = this.formData.endTime;
-      }
-    },
-    onHide() {
-      this.isShow = false;
-      this.formData = this.reset();
-      this.$refs["upload"].clearFiles();
-      this.$emit('closed')
-    },
-    onHideUser() {
-      this.open = false;
-      this.imageList=[];
-      this.userInfo = this.resetUserInfo();
-    },
-    submitUser(){
-      this.$refs["formUser"].validate(valid => {
-          if (valid) {
-            this.open = false;
-            console.log("================",this.userInfo);
-            if(this.index==null){
-              this.formData.userInfos.push(this.userInfo);
-            }else{
-              this.formData.userInfos[this.index]=this.userInfo;
-            }
-            this.userInfo = this.resetUserInfo();
-            this.imageList=[];
-            this.index=null;
-          }})
-    },
-    submitForm(){
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          if(this.formData.userInfos.length<=0){
-            this.$message.error("请添加人员");
-            return;
-          }
-          console.log("================",this.formData);
-          if (this.formData.id != null) {
-            updateLetter(this.formData).then(response => {
-              this.$modal.msgSuccess("修改成功");
-            });
-          } else {
-            addLetter(this.formData).then(response => {
-              this.$modal.msgSuccess("新增成功");
-            });
-          }
-          this.onHide();
-         /* this.isShow = false;
-          this.formData = this.reset();
-          this.getList();
-          this.$refs["upload"].clearFiles();*/
-        }})
-    },
-    editUser(row,index){
-      this.open = true;
-      this.userInfo = row;
-      this.index=index;
-    },
-    remove(row){
-      console.log("================",row);
-      this.formData.userInfos.splice(this.formData.userInfos.indexOf(row),1);
-    }
-
-  },
-  mounted() {
-  },
-};
-</script>
-
-
-
-

+ 0 - 194
src/views/core/letter/letterIndex/dialog.letterview.vue

@@ -1,194 +0,0 @@
-<template>
-  <div class="edu-training-edit">
-    <DialogCom :title="title" @close="onHide" :visible.sync="isShow" width="800px">
-      <div class="page-body">
-        <el-form ref="form" :model="formData"  label-width="150px">
-          <el-row>
-            <el-col :span="24">
-              <el-form-item  label="介绍信名称:">
-                {{formData.letterName}}
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item   label="介绍信有效期限:">
-                {{formData.startTimeStr}}~{{formData.endTimeStr}}
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item label="创建机构:">
-                {{formData.orgName}}
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item label="接待机构:">
-                {{formData.orgNames}}
-              </el-form-item>
-            </el-col>
-
-          <el-form-item label="介绍信文件:" >
-            <K-file-upload ref="upload" :defaultValue="formFileListDefualtValue" :disabled="true"  :isShowUploadBtn="false" v-model="formData.letterFile"/>
-          </el-form-item>
-
-          <el-form-item label="备注:" >
-            {{formData.description}}
-          </el-form-item>
-          </el-row>
-          <el-table  :data="formData.userInfos">
-            <el-table-column label="人员姓名" align="center" prop="userName" />
-            <el-table-column label="单位" align="center" prop="companyName" />
-            <el-table-column label="证据号码" align="center" prop="idCard">
-            </el-table-column>
-            <el-table-column label="证件" align="center" prop="imgFile" >
-              <template slot-scope="scope">
-                <img width="50" height="50" :src="splitImgFilePath(scope.row.imgFile,0)">
-                <img width="50" height="50" :src="splitImgFilePath(scope.row.imgFile,1)">
-              </template>
-            </el-table-column>
-          </el-table>
-<!--          <el-row v-if="!showAudit">
-            <el-form-item label="审核:"  prop="checkStatus">
-              {{formData.checkStatus==null?"":formData.checkStatus===1?"通过":"不通过"}}
-            </el-form-item>
-            <el-form-item label="审核意见:"  prop="checkRemark">
-             {{formData.checkRemark}}
-            </el-form-item>
-          </el-row>-->
-
-
-<!--          <el-row v-if="showAudit">
-            <el-form-item label="审核:"  prop="checkStatus">
-              <template>
-                <el-radio-group v-model="formData.checkStatus">
-                  <el-radio  :label="1">通过</el-radio>
-                  <el-radio  :label="2">不通过</el-radio>
-                </el-radio-group>
-              </template>
-            </el-form-item>
-          <el-form-item label="审核意见:"  prop="checkRemark">
-            <el-input v-model="formData.checkRemark" type="textarea" placeholder="请输入内容" />
-          </el-form-item>
-          </el-row>-->
-        </el-form>
-      </div>
-
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="onHide">取 消</el-button>
-<!--        <el-button type="primary" @click="submitForm" v-if="showAudit">确 定</el-button>-->
-      </div>
-    </DialogCom>
-  </div>
-
-</template>
-<script>
-import {mapState, mapMutations} from "vuex";
-import { getLetter,auditLetter} from "@/api/core/letter";
-import OrgTreeSelect from "@/components/orgTreeSelect";
-import KFileUpload from "@/components/K-FileUpload";
-import dayjs from "dayjs";
-import imgUpload from "@/components/ImageUpload";
-export default {
-  components: {KFileUpload},
-  data() {
-    const params = this.$route.params;
-    return {
-      id: params ? params.id : null,
-      isShow: false,
-      formData: this.reset(),
-      formFileListDefualtValue: [],
-      open: false,
-      userInfo:this.resetUserInfo(),
-      imageList:[],
-      title:null,
-      index:null,
-      showAudit:false
-    };
-  },
-  dicts: ['letter_status'],
-  props: {},
-  watch: {},
-  created() {
-  },
-  computed: {
-    ...mapState(["loginUser", "org",]),
-
-  },
-  methods: {
-    ...mapMutations([]),
-    reset(other = {}) {
-      return {
-        letterName:null,
-        orgIds:null,
-        startTime: null,
-        endTime: null,
-        checkRemark: null,
-        fileList: [],
-        userInfos:[],
-        letterFile:null,
-        startTimeStr:null,
-        endTimeStr:null,
-        orgName:null,
-        orgNames:null,
-        description:null,
-        ...other,
-      };
-    },
-    resetUserInfo(){
-      return {
-        userName: null,
-        companyName:null,
-        idCard:null,
-        imgFile:null,
-      }
-    },
-
-    async show(id,type, other = {}) {
-      this.isShow = true;
-      if(type===0){
-        this.title = "介绍信详情";
-        this.showAudit=false;
-      }else{
-        this.title = "介绍信审批";
-        this.showAudit=true;
-      }
-          getLetter(id).then(response => {
-          this.formData = response.data;
-          this.userInfo = response.data.userInfos;
-          this.orgIds = response.data.orgIds;
-          this.formFileListDefualtValue = response.data.letterFile;
-            console.log("-----------------",this.formFileListDefualtValue);
-        });
-
-
-    },
-    splitImgFilePath(imgPaths,index){
-      return imgPaths.split(',')[index];
-    },
-    onHide() {
-      this.isShow = false;
-      this.showAudit=false;
-      this.formData = this.reset();
-      this.$emit('closed')
-    },
-    submitForm(){
-       if(this.formData.checkRemark==null){
-         this.$message.error("请选择审核状态");
-         return;
-       }
-       if(this.formData.checkStatus==2&&!this.formData.checkRemark){
-         this.$message.error("请填写审批意见");
-         return;
-       }
-       auditLetter(this.formData).then(response => {
-         this.$modal.msgSuccess("审批成功");
-       });
-       this.onHide();
-    },
-  },
-  mounted() {
-  },
-};
-</script>
-
-
-
-

+ 0 - 301
src/views/core/letter/letterIndex/index.vue

@@ -1,301 +0,0 @@
-<template>
-  <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
-      <el-form-item label="介绍信名称" prop="letterName">
-        <el-input
-          v-model="queryParams.letterName"
-          placeholder="请输入介绍信名称"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-<!--      <el-form-item label="状态" prop="status">
-        <el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
-          <el-option
-            v-for="dict in dict.type.letter_status"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.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-form-item>
-    </el-form>
-
-    <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAddOrUpdate(null)"
-          v-hasPermi="['core:letter:add']"
-        >录入介绍信</el-button>
-      </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
-
-    <el-table v-loading="loading" :data="letterList" @selection-change="handleSelectionChange">
-      <el-table-column label="介绍信名称" align="center" prop="letterName" />
-      <el-table-column label="介绍信有效期" align="center" prop="startTime" width="250">
-        <template slot-scope="scope">
-          <span>{{ scope.row.startTime}}~{{scope.row.endTime}}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="接待机构" align="center" prop="orgNames" >
-        <template slot-scope="r">
-          <span class="text-style" :title="r.row.orgNames">{{ r.row.orgNames }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="创建机构" align="center" prop="orgName" />
-<!--      <el-table-column label="状态" width="80" align="center" prop="status" >
-        <template slot-scope="r">
-          <dict-tag :options="dict.type.letter_status" :value="r.row.status"/>
-        </template>
-      </el-table-column>
-      <el-table-column label="审批状态" width="80" align="center" prop="checkStart" >
-        <template slot-scope="r">
-          <span>{{r.row.checkStatus==null?"待审批":r.row.checkStatus===1?"通过":"不通过"}}</span>
-        </template>
-      </el-table-column>-->
-      <el-table-column label="备注" align="center" prop="description" >
-        <template slot-scope="r">
-          <span class="text-style" :title="r.row.description">{{ r.row.description }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="r">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-view"
-            @click="LookOrAudit(r.row.id,0)"
-            v-hasPermi="['core:letter:query']"
-          >详情</el-button>
-<!--          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="LookOrAudit(r.row.id,1)"
-            v-hasPermi="['core:letter:audit']"
-          >审批</el-button>-->
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="auditAllList(r.row.id)"
-            v-hasPermi="['core:letter:auditAllList']"
-          >审批情况</el-button>
-
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleAddOrUpdate(r.row.id)"
-            v-hasPermi="['core:letter:edit']"
-          >修改</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(r.row)"
-            v-hasPermi="['core:letter:remove']"
-          >删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
-    <dialog-edit-letter ref="dialogAddLetter" @success="handleQuery(true)" @closed="getList"></dialog-edit-letter>
-    <dialog-letter-view ref="dialogLetterView" @success="handleQuery(true)" @closed="getList"></dialog-letter-view>
-    <dialog-audit-view ref="dialogAuditView" @success="handleQuery(true)" @closed="getList"></dialog-audit-view>
-  </div>
-</template>
-
-<script>
-import { listLetter, getLetter, delLetter, addLetter, updateLetter } from "@/api/core/letter";
-import dialogEditLetter from "./dialog.editletter";
-import dialogLetterView from "./dialog.letterview";
-import dialogAuditView from "./dialog.auditview";
-
-export default {
-  components: {dialogEditLetter,dialogLetterView,dialogAuditView},
-  dicts: ['letter_status'],
-  name: "Letter",
-  data() {
-    return {
-      // 遮罩层
-      loading: true,
-      // 选中数组
-      ids: [],
-      // 非单个停用
-      single: true,
-      // 非多个停用
-      multiple: true,
-      // 显示搜索条件
-      showSearch: true,
-      // 总条数
-      total: 0,
-      // 介绍信表格数据
-      letterList: [],
-      // 弹出层标题
-      title: "",
-      // 是否显示弹出层
-      open: false,
-      // 查询参数
-      queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        letterName: null,
-        status: null,
-        orgId:null,
-      },
-      // 表单参数
-      form: {},
-      // 表单校验
-      rules: {
-      }
-    };
-  },
-  created() {
-    this.queryParams.orgId = this.$store.getters.orgId;
-    this.getList();
-  },
-  methods: {
-    /** 查询介绍信列表 */
-    getList() {
-      this.loading = true;
-      listLetter(this.queryParams).then(response => {
-        this.letterList = response.rows;
-        this.total = response.total;
-        this.loading = false;
-      });
-    },
-    // 取消按钮
-    cancel() {
-      this.open = false;
-      this.reset();
-    },
-    // 表单重置
-    reset() {
-      this.form = {
-        id: null,
-        letterName: null,
-        startTime: null,
-        endTime: null,
-        letterFile: null,
-        orgId: null,
-        orgPath: null,
-        orgName: null,
-        checkUser: null,
-        checkTime: null,
-        checkStatus: null,
-        status:null,
-        description: null,
-        createBy: null,
-        createTime: null
-      };
-      this.resetForm("form");
-    },
-    /** 搜索按钮操作 */
-    handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
-    },
-    /** 重置按钮操作 */
-    resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
-    // 多选框选中数据
-    handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.id)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
-    },
-    /** 新增按钮操作 */
-    handleAddOrUpdate(id) {
-      this.$refs["dialogAddLetter"].show(id,{});
-    },
-    LookOrAudit(id,type) {
-      this.$refs["dialogLetterView"].show(id,type,{});
-    },
-    auditAllList(id) {
-      this.$refs["dialogAuditView"].show(id,{});
-    },
-
-    /** 修改按钮操作 */
-    handleUpdate(row) {
-      this.reset();
-      const id = row.id || this.ids
-      getLetter(id).then(response => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "修改介绍信";
-      });
-    },
-    /** 提交按钮 */
-    submitForm() {
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          if (this.form.id != null) {
-            updateLetter(this.form).then(response => {
-              this.$modal.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            addLetter(this.form).then(response => {
-              this.$modal.msgSuccess("新增成功");
-              this.open = false;
-              this.getList();
-            });
-          }
-        }
-      });
-    },
-    /** 删除按钮操作 */
-    handleDelete(row) {
-      const ids = row.id || this.ids;
-      this.$modal.confirm('是否确认删除该介绍信记录?').then(function() {
-        return delLetter(ids);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => {});
-    },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download('system/letter/export', {
-        ...this.queryParams
-      }, `letter_${new Date().getTime()}.xlsx`)
-    }
-  }
-};
-</script>
-
-<style lang="scss">
-.title {
-clear: both;
-margin: auto;
-text-align: center;
-color: black;
-font-size: xx-large;
-letter-spacing: 3px;
-}
-.text-style{
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-</style>

+ 9 - 4
src/views/core/outIn/approve/dialog.approve.letter.detail.vue

@@ -49,7 +49,7 @@
             <el-col :span="12">
               <!-- <el-form-item label="介绍信" prop="letterNo">               
               </el-form-item> -->
-              <el-form-item label="介绍信">
+              <el-form-item label="介绍信附件">
                 <K-file-upload ref="upload" :isShowUploadBtn="false"
                                 :defaultValue="formFileListDefualtValue"
                                 v-model="formData.letterFile"/>
@@ -80,7 +80,7 @@
             </el-table-column>
             <el-table-column label="证件号码" width="200" align="center" prop="idCard">
             </el-table-column>
-            <el-table-column label="证件" align="center" prop="imgFile">
+            <el-table-column label="证件图片" align="center" prop="imgFile">
               <template slot-scope="scope">                      
                       <ImageListPreview v-model="scope.row.imgFile"></ImageListPreview>                  
                     </template> 
@@ -96,7 +96,7 @@
           </el-row>      
           <el-row>
             <el-col :span="12">
-              <el-form-item label="审批">   
+              <el-form-item label="审批状态">   
                 <dict-tag :options="dict.type.out_in_approve_status" :value="formData.approveLog.approveStatus"/> 
                 <!-- <el-radio v-model="formData.approveStatus" label="1">同意</el-radio>
                 <el-radio v-model="formData.approveStatus" label="2">不同意</el-radio>            -->
@@ -107,6 +107,11 @@
                {{formData.approveLog.approveRemark}}
               </el-form-item>
             </el-col>
+            <el-col :span="12">
+              <el-form-item label="审批时间"> 
+               {{formData.approveLog.approveTime}}
+              </el-form-item>
+            </el-col>
           </el-row>
         </el-form>
       </div>
@@ -165,7 +170,7 @@ export default {
       };
     },
     async show(id) {     
-        this.title = "出入事项审批详情";   
+        this.title = "来访事项审批详情";   
         this.isShow = true;
         getLetter(id).then((response) => {
           this.formData = response.data;

+ 3 - 3
src/views/core/outIn/approve/dialog.approve.letter.vue

@@ -48,7 +48,7 @@
             </el-col>
             
             <el-col :span="12">
-              <el-form-item label="介绍信">
+              <el-form-item label="介绍信附件">
                 <K-file-upload ref="upload" :isShowUploadBtn="false"
                                 :defaultValue="formFileListDefualtValue"
                                 v-model="formData.letterFile"/>
@@ -80,7 +80,7 @@
                   </el-table-column>
                   <el-table-column label="证件号码" width="200" align="center" prop="idCard">
                   </el-table-column>
-                  <el-table-column label="证件" align="center" prop="imgFile">
+                  <el-table-column label="证件图片" align="center" prop="imgFile">
                     <template slot-scope="scope">                      
                             <ImageListPreview v-model="scope.row.imgFile"></ImageListPreview>                  
                           </template> 
@@ -177,7 +177,7 @@ export default {
     // },
     async show(id, other = {}) {     
       if (id) {
-        this.title = "出入事项审批";   
+        this.title = "来访事项审批";   
         this.isShow = true;
         getLetter(id).then((response) => {
           // let tempRange=[];

+ 3 - 7
src/views/core/outIn/approve/index.vue

@@ -65,26 +65,22 @@
       </el-table-column>
       <el-table-column label="来访事由" header-align="center" align="left" prop="reasons"/>
     
-      <el-table-column label="介绍信" header-align="center" align="left" prop="letterNo" width="250">
+      <!-- <el-table-column label="介绍信" header-align="center" align="left" prop="letterNo" width="250">
         <template slot-scope="scope">
         <template v-if="scope.row.letterFile">
           <K-file-upload ref="upload" :isShowUploadBtn="false"
                                          :defaultValue="scope.row.letterFile"
                                          />
-              <!-- <el-tag style="cursor: pointer;margin-right: 5px;" v-for="(item, index) in scope.row.letterFile" size="mini" type="success" effect="plain" @click="downLoadFile(JSON.parse(item).url)"
-                      :key="index">
-                {{ JSON.parse(item).name }}
-              </el-tag> -->
             </template>
        </template>
-      </el-table-column>
+      </el-table-column> -->
       <el-table-column label="开具日期" align="center" width="150">
         <template slot-scope="scope">
           <span>{{ scope.row.startTime}}</span>
         </template>
       </el-table-column>
       <el-table-column label="有效天数" width="120" header-align="center" align="center"  prop="effectiveDays" />
-      <el-table-column label="审批时间" width="150" header-align="center" align="left"  prop="approveTime" />
+      <!-- <el-table-column label="审批时间" width="150" header-align="center" align="left"  prop="approveTime" /> -->
 
       <el-table-column label="审批状态" align="center" width="100" prop="approveStatus" >
         <template slot-scope="scope">

+ 10 - 10
src/views/core/outIn/letter/dialog.addletter.vue

@@ -11,7 +11,7 @@
           ref="form"
           :model="formData"
           :rules="formDataRules"
-          label-width="120px"
+          label-width="140px"
         >
           <el-row>
             <el-col :span="12">
@@ -63,7 +63,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="上传介绍信" prop="letterFile">
+              <el-form-item label="上传介绍信附件" prop="letterFile">
                 <K-file-upload
                   ref="upload"
                   :limit=2
@@ -115,7 +115,7 @@
             </el-table-column>
             <el-table-column label="证件号码" width="200" align="center" prop="idCard">
             </el-table-column>
-            <el-table-column label="证件" align="center" prop="imgFile">
+            <el-table-column label="证件图片" align="center" prop="imgFile">
               <template slot-scope="scope">                      
                       <ImageListPreview v-model="scope.row.imgFile"></ImageListPreview>                  
                     </template> 
@@ -130,7 +130,7 @@
                   >编辑</el-button
                 >
                 <el-button size="mini" type="text" @click="remove(scope.row)"
-                  >除</el-button
+                  >除</el-button
                 >
               </template>
             </el-table-column>
@@ -139,7 +139,7 @@
       </div>
 
       <DialogCom
-        title="添加出入人员"
+        title="添加来访人员"
         :visible.sync="open"
         width="600px"
         append-to-body
@@ -170,7 +170,7 @@
           <el-form-item label="证件号码" prop="idCard">
             <el-input v-model="userInfo.idCard" maxlength="20" placeholder="请输入证件号码" />
           </el-form-item>
-          <el-form-item prop="imgFile" label="上传证件">
+          <el-form-item prop="imgFile" label="上传证件图片">
             <!-- <ImageListPreview v-model="userInfo.imgFile"></ImageListPreview> -->
             <imgUpload ref="uploadimage" type="more" :value="userInfo.imgFile" :limit=2
                            @input="imageListChanged"></imgUpload>
@@ -213,20 +213,20 @@ export default {
       title: "录入介绍信",
       formData: this.reset(),
       formDataRules: {
-        reasons: [{ required: true, message: "请输入出入事由" }],
+        reasons: [{ required: true, message: "请输入来访事由" }],
         letterNo: [{ required: true, message: "请输入介绍信编号" }],
         receptionOrgIds: [{ required: true, message: "请选择接待机构" }],
         startTime: [{ required: true, message: "请选择开具日期" }],      
         effectiveDays: [{ required: true, message: "请选择有效天数" }],   
-        userInfos: [{ required: true, message: "请添加出入人员" }],
-        letterFile:[{ required: true, message: "请上传介绍信" }],
+        userInfos: [{ required: true, message: "请添加来访人员" }],
+        letterFile:[{ required: true, message: "请上传介绍信附件" }],
       },
       userInfoRules: {
         userName: [{ required: true, message: "请输入来访人员" }],
         companyName: [{ required: true, message: "请输入来访单位" }],
         idType: [{ required: true, message: "请选择证件类型" }],
         idCard: [{ required: true, message: "请输入证件号码" }],
-        imgFile: [{ required: true, message: "请上传证件" }],
+        imgFile: [{ required: true, message: "请上传证件图片" }],
       },
       startDatepickerOptions: {
         disabledDate: this.endDisabledDate,

+ 3 - 3
src/views/core/outIn/letter/dialog.letter.detail.vue

@@ -49,7 +49,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="介绍信">
+              <el-form-item label="介绍信附件">
                 <K-file-upload
                   ref="upload"
                   :isShowUploadBtn="false"
@@ -83,7 +83,7 @@
             </el-table-column>
             <el-table-column label="证件号码" width="200" align="center" prop="idCard">
             </el-table-column>
-            <el-table-column label="证件" align="center" prop="imgFile">
+            <el-table-column label="证件图片" align="center" prop="imgFile">
               <template slot-scope="scope">                      
                       <ImageListPreview v-model="scope.row.imgFile"></ImageListPreview>                  
                     </template> 
@@ -93,7 +93,7 @@
             <el-col :span="12">
                 <h3 >
                   <i class="el-icon-collection-tag"></i>
-                  接待机构
+                  审批详情
                 </h3> 
             </el-col>
           </el-row>

+ 2 - 2
src/views/core/outIn/letter/index.vue

@@ -58,7 +58,7 @@
       <el-table-column label="接待机构" header-align="center" align="left"  prop="receptionOrgNames" />
 
       <el-table-column label="来访事由" header-align="center" align="left" prop="reasons"  width="300"/>
-      <el-table-column label="开具日期" header-align="center" align="left" prop="startTime"  width="150"/>
+      <el-table-column label="开具日期" header-align="center" align="center" prop="startTime"  width="150"/>
       <el-table-column label="有效天数" header-align="center" align="center" prop="effectiveDays" width="100"/>
       <!-- <el-table-column label="介绍信有效期" align="center" width="250">
         <template slot-scope="scope">
@@ -71,7 +71,7 @@
             </template>
       </el-table-column>
 
-      <el-table-column label="备注" header-align="center" align="left" width="200" prop="description" />
+      <!-- <el-table-column label="备注" header-align="center" align="left" width="200" prop="description" /> -->
       <el-table-column label="操作" header-align="center" align="left" width="280" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button

+ 1 - 1
src/views/core/outIn/outInLog/dialog.outIn.detail.vue

@@ -85,7 +85,7 @@
               </el-form-item>
             </el-col> -->
             <el-col :span="12">
-              <el-form-item label="介绍信">
+              <el-form-item label="介绍信附件">
                 <K-file-upload ref="upload" :isShowUploadBtn="false"
                                 :defaultValue="formData.letterFile"/>
               </el-form-item>

+ 6 - 5
src/views/core/outIn/outInLog/index.vue

@@ -99,7 +99,7 @@
           </el-table-column> -->
           <el-table-column label="证件号码" prop="idCard"  align="center"  width="160" />
           
-          <el-table-column label="介绍信类型" header-align="center" align="center" prop="type"  width="150">
+          <el-table-column label="介绍信类型" header-align="center" align="center" prop="type"  width="110">
             <template slot-scope="scope">
               <dict-tag :options="dict.type.out_in_type" :value="scope.row.type"/>
             </template>
@@ -118,10 +118,10 @@
               width="120"
             >
             </el-table-column>
-            <el-table-column label="出入时间" align="center" width="300">
+            <el-table-column label="出入时间" header-align="center" align="left" width="360">
               <template slot-scope="scope">
-                <span>{{ scope.row.arrivalTime }}~</span>
-                <span v-if="scope.row.departureTime">{{ scope.row.departureTime }}</span>
+                <span>{{ dayjs(scope.row.arrivalTime).format("YYYY年MM月DD日HH时mm分") }} ~ </span>
+                <span v-if="scope.row.departureTime">{{ dayjs(scope.row.departureTime).format("YYYY年MM月DD日HH时mm分") }}</span>
               </template>
             </el-table-column>
             <!-- <el-table-column label="核验结果" width="250" align="center" prop="checkImage">
@@ -143,7 +143,7 @@
               label="操作"
               header-align="center"
               align="center"
-              width="100"
+              width="90"
               fixed="right"
               class-name="small-padding fixed-width"
             >
@@ -228,6 +228,7 @@ export default {
     this.getList();
   },
   methods: {
+    dayjs,
     /** 查询介绍信列表 */
     getList() {
       this.loading = true;

+ 3 - 2
src/views/safetyBook/hsggbsdj/dialog.des.vue

@@ -54,7 +54,7 @@
               labelClassName="gx_info_label"
               label="会议日期"
             >
-              {{ formData.date }}
+            {{ formData.date ? dayjs(formData.date).format("YYYY年-MM月-DD日") : "" }}
             </el-descriptions-item>
             <!-- <el-form-item prop="date" label="会议日期:">
             <el-date-picker
@@ -145,6 +145,7 @@ import { deptTreeSelect } from "@/api/system/public";
 import UserSelector from "@/components/userSelector/index.vue";
 import ImgsUpload from "@/components/ImgsUpload";
 import Editor from "@/components/Editor";
+import dayjs from "dayjs";
 export default {
   components: { UserSelector, ImgsUpload, Editor },
   data() {
@@ -195,7 +196,7 @@ export default {
   },
   methods: {
     ...mapMutations([]),
-
+    dayjs,
     /** 查询机构树数据 */
     getDeptTree() {
       deptTreeSelect().then((response) => {

+ 6 - 2
src/views/safetyBook/hsggbsdj/index.vue

@@ -124,11 +124,13 @@
         />
         <el-table-column
           label="会议日期"
-          align="left"
-          header-align="center"
+          align="center"
           width="260"
           prop="date"
         >
+        <template slot-scope="r">
+            {{ r.row.date ? dayjs(r.row.date).format("YYYY年-MM月-DD日") : "" }}
+          </template>
         </el-table-column>
         <el-table-column label="参会人员" align="center" prop="joinNames">
         </el-table-column>
@@ -215,6 +217,7 @@ import kOrgTree from "@/components/k-orgTree/index.vue";
 import KFileUpload from "@/components/K-FileUpload/index.vue";
 import tableList from "@/mixins/tableList";
 import DataRangePicker from "@/components/dateTime/daterange.picker.vue";
+import dayjs from "dayjs";
 export default {
   dicts: ["safety_book_type"],
   name: "hsggbsdj",
@@ -293,6 +296,7 @@ export default {
     this.getList();
   },
   methods: {
+    dayjs,
     resetQuery() {
       this.resetForm("queryForm");
       this.getList();

+ 7 - 1
src/views/safetyBook/index.vue

@@ -140,7 +140,11 @@
           prop="userName"
         >
         </el-table-column>
-        <el-table-column label="签署时间" align="center" prop="createTime" />
+        <el-table-column label="签署时间" align="center" prop="createTime" >
+          <template slot-scope="r">
+            {{ r.row.createTime ? dayjs(r.row.createTime).format("YYYY年-MM月-DD日") : "" }}
+          </template>
+        </el-table-column>
 
         <el-table-column
           label="操作"
@@ -209,6 +213,7 @@ import kOrgTree from "@/components/k-orgTree/index.vue";
 import KFileUpload from "@/components/K-FileUpload/index.vue";
 import tableList from "@/mixins/tableList";
 import orgTree from "@/components/orgTree";
+import dayjs from "dayjs";
 export default {
   dicts: ["safety_book_type"],
   name: "safetyBook",
@@ -284,6 +289,7 @@ export default {
     this.getList();
   },
   methods: {
+    dayjs,
     resetQuery() {
       this.resetForm("queryForm");
       this.getList();

+ 40 - 6
src/views/safetycheck/task/index.vue

@@ -55,14 +55,26 @@
               :maxlength="50" @input="inputRestriction"
             /> -->
                 <div style="width: 200px; height: 30px">
-                  <org-tree-select
+                  <!-- <org-tree-select
                     size="mini"
                     v-model="queryParams.checkOrgIds"
                     ref="checkorgTreeSelect"
                     :disable="true"
                     @change="getList"
                   >
-                  </org-tree-select>
+                  </org-tree-select> -->
+                  <tree-select
+                  v-model="queryParams.checkOrgIds"
+                  :options="deptOptions"
+                  :show-count="true"
+                  :normalizer="tenantIdnormalizer"
+                  :props="{ checkStrictly: true, label: 'name' }"
+                  placeholder="请选择组织机构"
+                  clearValueText="清除"
+                  :noChildrenText="''"
+                  noOptionsText="没有数据"
+                  noResultsText="没有搜索结果"
+                />
                 </div>
               </el-form-item>
               <el-form-item label="任务进度" prop="status">
@@ -400,6 +412,7 @@ import { getLabel } from "@/views/commonOption.js";
 import OrgTreeSelect from "@/components/orgTreeSelect";
 import { checkPermi } from "@/utils/permission.js";
 import dayjs from "dayjs";
+import { deptTreeSelect } from "@/api/system/public";
 import request from "@/utils/request";
 export default {
   name: "Saftask",
@@ -413,6 +426,8 @@ export default {
   },
   data() {
     return {
+       // 机构树选项
+       deptOptions: [],
       loading: false,
       showSearch: true,
       total: 0,
@@ -473,10 +488,27 @@ export default {
     ...mapGetters(["orgName", "userId", "roleList", "orgId"]),
   },
   activated (){
-    console.log("刷新");
+    // console.log("刷新");
     this.getList();
   },
   methods: {
+    getDeptTree() {
+      deptTreeSelect().then((response) => {
+        // console.log(response,"sss")
+        this.deptOptions = response.data;
+      });
+    },
+        /** treeSelect组件自定义数据*/
+        tenantIdnormalizer(node, instanceId) {
+      if (node.children && !node.children.length) {
+        delete node.children;
+      }
+      return {
+        id: node.id,
+        label: node.shortName,
+        children: node.children,
+      };
+    },
     async onDown(pdfUrl) {
       window.open(pdfUrl);
     },
@@ -503,7 +535,7 @@ export default {
     getLabel,
     showDetail(row) {
       let path = "/core/safetycheck/detail/" + row.id;
-      console.log(path,"path")
+      // console.log(path,"path")
       this.$router.push(path);
     },
     showscanRecord(row) {
@@ -560,7 +592,7 @@ export default {
       this.getList();
     },
     resetQuery() {
-      this.queryParams.checkOrgIds = [];
+      this.queryParams.checkOrgIds = null;
       this.queryParams.range = [];
       this.resetForm("queryParams");
       this.getList();
@@ -585,7 +617,7 @@ export default {
         });
     },
     async getList() {
-      console.log(this.queryParams, "this.queryParams2222");
+      // console.log(this.queryParams, "this.queryParams2222");
       this.loading = true;
       api
         .page(this.queryParams)
@@ -660,7 +692,9 @@ export default {
   },
   async mounted() {
     this.selectLoadRoles();
+   
   },
+  created(){ this.getDeptTree();},
 };
 </script>
 

+ 5 - 2
src/views/system/workTimeSet/workTime.vue

@@ -2,7 +2,7 @@
   <div class="tabs-container">
     <el-row :gutter="10">
       <!--机构数据-->
-      <el-col :span="4" :xs="24">
+      <el-col :span="showOrgTree?4:0" :xs="24">
         <org-tree
           v-model="queryParams.orgId"
           @defaultKey="getDefaultKey"
@@ -11,7 +11,7 @@
         ></org-tree>
       </el-col>
       <!--table数据-->
-      <el-col :span="20" :xs="24">
+      <el-col :span="showOrgTree?20:24" :xs="24">
         <div class="main-right-box">
           <!--    搜索条件    -->
           <div class="main-search-box">
@@ -82,6 +82,7 @@
                     v-hasPermi="['system:time:export']">导出</el-button> -->
               </el-col>
               <right-toolbar
+                :showOrgTree.sync="showOrgTree"
                 :showSearch.sync="showSearch"
                 size="mini"
                 @queryTable="getList"
@@ -208,6 +209,8 @@ export default {
       loading: false,
       //选中的行
       selectRow: null,
+      //显示右边机构树
+      showOrgTree: true,
       // 显示搜索条件
       showSearch: true,
       // 用户表格数据