Explorar el Código

Merge remote-tracking branch 'origin/V0.0.2' into V0.0.2

jingyuanchao hace 1 año
padre
commit
a74af24ec7

+ 0 - 1
src/components/ImageUpload/index.vue

@@ -309,7 +309,6 @@ export default {
     // 上传结束处理
     uploadedSuccessfully() {
       if (this.number > 0 && this.uploadList.length === this.number) {
-        debugger
         this.fileList = this.fileList.concat(this.uploadList);
         this.uploadList = [];
         this.number = 0;

+ 2 - 2
src/components/K-FileUpload/index.vue

@@ -328,8 +328,8 @@ export default {
 
 .upload-file-list .el-upload-list__item {
   // border: 1px solid #e4e7ed;
-  line-height: 2;
-  margin-bottom: 5px;
+  // line-height: 2;
+  // margin-bottom: 5px;
   position: relative;
 }
 

+ 0 - 1
src/utils/request.js

@@ -197,7 +197,6 @@ export function download(url, params, filename, config) {
     responseType: 'blob',
     ...config
   }).then(async (data) => {
-    debugger
     const isBlob = blobValidate(data);
     if (isBlob) {
       const blob = new Blob([data])

+ 18 - 7
src/views/check/dialog.edit.vue

@@ -165,15 +165,16 @@
               </el-form-item>
             </el-col>
             <el-col :span="6">
-              <el-form-item prop="checkOrgType" label="受检机构类型:">
+              <el-form-item prop="checkOrgTypes" label="受检机构类型:">
                 <el-select
                   :disabled="isChildren()"
                   @change="cleanCheckOrgList"
-                  prop="checkOrgType"
+                  prop="checkOrgTypes"
                   label="受检机构类型"
-                  v-model="formData.checkOrgType"
+                  v-model="formData.checkOrgTypes"
                   placeholder="请选择机构类型"
                   clearable
+                  multiple
                 >
                   <el-option
                     v-for="item in dict.type.sys_org_type"
@@ -336,7 +337,7 @@
     <DialogSelect
       ref="DialogSelect"
       :defaultSelect="defaultSelect"
-      :orgType="formData.checkOrgType"
+      :orgType="formData.checkOrgTypes"
       @select="onSelect"
     ></DialogSelect>
   </div>
@@ -394,7 +395,7 @@ export default {
         roleList: [{ required: true, message: "请选择检查角色" }],
         planExec: [{ required: true, message: "请选择计划时间" }],
         count: [{ required: true, message: "请选择计划次数" }],
-        checkOrgType: [{ required: true, message: "请选择受检机构类型" }],
+        checkOrgTypes: [{ required: true, message: "请选择受检机构类型" }],
         roleIds: [{ required: true, message: "请选择检查角色" }],
       },
       statusOptions: statusOptions,
@@ -426,6 +427,7 @@ export default {
           this.getRolesByOrg();
           //角色
           this.formData.roleIds = ["116"];
+          this.selectedValues= ["116"];
           //检查次数
           this.formData.count = 1;
           //检查内容
@@ -440,6 +442,7 @@ export default {
           this.getRolesByOrg();
           //角色
           this.formData.roleIds = ["118"];
+          this.selectedValues= ["118"];
           //检查次数
           this.formData.count = 2;
           //检查内容
@@ -454,6 +457,7 @@ export default {
           this.getRolesByOrg();
           //角色
           this.formData.roleIds = ["121"];
+          this.selectedValues= ["121"];
           //检查次数
           this.formData.count = 3;
           //检查内容
@@ -468,6 +472,7 @@ export default {
           this.getRolesByOrg();
           //角色
           this.formData.roleIds = ["120"];
+          this.selectedValues= ["120"];
           //检查次数
           this.formData.count = 2;
           //检查内容
@@ -633,7 +638,7 @@ export default {
         checkOrgIds: null,
         execOrgIds: null,
         rulePointIds: null,
-        checkOrgType: null,
+        checkOrgTypes: [],
         checkType: null,
         startDate: null,
         endDate: null,
@@ -663,6 +668,9 @@ export default {
             this.formData.roleIds = this.formData.roleList.map(
               (role) => role.id
             );
+            this.formData.checkOrgTypes = this.formData.checkOrgTypeList.map(
+              (type) => type.typeId.toString()
+            );
             this.formData.execOrgIds = this.formData.execOrgList.map(
               (org) => org.id
             );
@@ -679,7 +687,7 @@ export default {
         this.formData.planCycle = null;
         this.formData.planStatus = null;
         this.formData.execOrgType = null;
-        this.formData.checkOrgType = null;
+        this.formData.checkOrgTypes = [];
         this.formData.checkType = null;
         this.formData.roleNames = null;
         this.formData.count = null;
@@ -790,6 +798,9 @@ export default {
           this.loading = false;
           this.$emit("success");
           this.onHide();
+        }).catch((err)=>{
+          this.loading = false;
+// console.log(err,"err")
         });
       });
     },

+ 3 - 3
src/views/check/index.vue

@@ -246,14 +246,14 @@
             </el-table-column>
 
             <el-table-column
-              prop="checkOrgType"
+              prop="typeNames"
               align="center"
               width="180px"
               label="受检机构"
             >
-              <template slot-scope="r"
+              <!-- <template slot-scope="r"
                 >{{ getLabel(dict.type.sys_org_type, `${r.row.checkOrgType}`) }}
-              </template>
+              </template> -->
             </el-table-column>
 
             <el-table-column

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

@@ -10,7 +10,7 @@
           ref="form"
           :model="formData"
           label-width="120px"
-        >
+          label-suffix=":">
           <el-row>
             <el-col :span="12">
               <el-form-item label="出入类型">

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

@@ -12,6 +12,7 @@
           :model="formData"
           :rules="formDataRules"
           label-width="120px"
+          label-suffix=":"
         >
           <el-row>
             <el-col :span="12">

+ 1 - 1
src/views/core/outIn/approve/index.vue

@@ -2,7 +2,7 @@
   <div class="app-container">
     <div class="main-right-box">
           <div class="main-search-box">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px" >
       
       <el-form-item label="出入事由" prop="reasons">
         <el-input

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

@@ -41,11 +41,19 @@
             </el-col>
             <el-col :span="12">
               <el-form-item prop="range" label="介绍信有效期">
-                <DataRangePicker
+                <!-- <DataRangePicker
                   v-model="formData.range"
                   key="daterange"
                   type="daterange"
-                />
+                /> -->
+                <el-date-picker
+                  v-model="formData.range"
+                  type="daterange"
+                  :picker-options="startDatepickerOptions"
+                  range-separator="至"
+                  start-placeholder="有效期开始日期"
+                  end-placeholder="有效期结束日期">
+                </el-date-picker>
               </el-form-item>
             </el-col>
             <el-col :span="12">
@@ -191,9 +199,9 @@ export default {
       startDatepickerOptions: {
         disabledDate: this.endDisabledDate,
       },
-      endDatepickerOptions: {
-        disabledDate: this.endDisabledDate,
-      },
+      // endDatepickerOptions: {
+      //   disabledDate: this.endDisabledDate,
+      // },
       formFileListDefualtValue: [],
       open: false,
       userInfo: this.resetUserInfo(),

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

@@ -0,0 +1,165 @@
+<template>
+  <div class="edu-training-edit">
+    <DialogCom
+      :title="title"
+      @close="onHide"
+      :visible.sync="isShow"
+      width="1000px"
+    >
+      <div class="page-body">
+        <el-form
+          ref="form"
+          :model="formData"
+          label-width="120px"          
+          label-suffix=":"
+        >
+          <el-row>
+            <el-col :span="12">
+              <el-form-item prop="reasons" label="出入事由">
+                {{formData.reasons}}
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="12">
+              <el-form-item label="接待机构" prop="receptionOrgIds">
+                <!-- <org-tree-select v-model="formData.receptionOrgIds" ref="orgTreeSelect">
+                </org-tree-select> -->
+                {{formData.receptionOrgNames}}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="介绍信编号" prop="letterNo">
+                {{formData.letterNo}}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item prop="range" label="介绍信有效期">
+                {{ formData.startTimeStr}}~{{formData.endTimeStr}}
+                <!-- <DataRangePicker
+                  v-model="formData.range"
+                  key="daterange"
+                  type="daterange"
+                /> -->
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="介绍信">
+                <K-file-upload
+                  ref="upload"
+                  :isShowUploadBtn="false"
+                  :defaultValue="formData.letterFile"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="备注">
+                {{formData.description}}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="状态">
+                <dict-tag :options="dict.type.letter_status" :value="formData.status"/>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-table :data="formData.userInfos" style="margin-bottom: 10px;">
+            <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="scope.row.imgFile" />
+              </template> </el-table-column>
+          </el-table>
+        </el-form>
+      </div>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="onHide">关 闭</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/index.vue";
+import dayjs from "dayjs";
+import imgUpload from "@/components/ImageUpload";
+import DataRangePicker from "@/components/dateTime/daterange.picker.vue";
+export default {
+  components: { OrgTreeSelect, KFileUpload, imgUpload,DataRangePicker },
+  data() {
+    const params = this.$route.params;
+    return {
+      id: params ? params.id : null,
+      isShow: false,
+      title: "录入介绍信",
+      formData: this.reset(),
+      open: false,
+      userInfo: this.resetUserInfo(),
+      imageList: [],
+    };
+  },
+  dicts: ["letter_status"],
+  props: {},
+  watch: {},
+  created() {},
+  computed: {
+    ...mapState(["loginUser", "org"]),
+  },
+  methods: {
+    ...mapMutations([]),
+    reset(other = {}) {
+      return {
+        reasons: null,
+        letterNo:null,
+        receptionOrgIds: [],
+        range:[],
+        description: null,
+        letterFile: [],
+        userInfos: [],
+        type:1,
+        status:null,
+        ...other,
+      };
+    },
+    resetUserInfo() {
+      return {
+        userName: null,
+        companyName: null,
+        idCard: null,
+        imgFile: null,
+      };
+    },
+
+    async show(id) {   
+        this.title = "介绍信详情";   
+        this.isShow = true;
+        getLetter(id).then((response) => {
+          let tempRange=[];
+          tempRange.push(dayjs(response.data.startTime));
+          tempRange.push(new Date(response.data.endTime));
+          response.data.range=tempRange;
+          this.formData = response.data;          
+        });
+    },
+    onHide() {
+      this.isShow = false;
+      this.formData = this.reset();
+    },
+  },
+  mounted() {},
+};
+</script>
+
+
+
+

+ 4 - 3
src/views/core/outIn/letter/index.vue

@@ -112,6 +112,7 @@
       @pagination="getList"
     />
     <dialog-add-letter ref="dialogAddLetter" @success="handleQuery(true)"></dialog-add-letter>
+    <dialog-letter-detail ref="dialogLetterDetail" @success="handleQuery(true)"></dialog-letter-detail>
   </div>
   </div>
 </template>
@@ -119,9 +120,9 @@
 <script>
 import { listLetter, getLetter, delLetter, addLetter, updateLetter,updateLetterStatus } from "@/api/core/letter";
 import dialogAddLetter from "./dialog.addletter";
-
+import dialogLetterDetail from "./dialog.letter.detail.vue";
 export default {
-  components: {dialogAddLetter},
+  components: {dialogAddLetter,dialogLetterDetail},
   dicts: ['letter_status'],
   name: "Letter",
   data() {
@@ -211,7 +212,7 @@ export default {
     },
     handleDetailInfo(row)
     {
-
+      this.$refs["dialogLetterDetail"].show(row.id);
     },
     /** 提交按钮 */
     submitForm() {

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

@@ -12,6 +12,7 @@
           :model="formData"
           :rules="formDataRules"
           label-width="120px"
+          label-suffix=":"
         >
           <el-row>
             <el-col :span="12">

+ 1 - 1
src/views/core/outIn/outInLog/index.vue

@@ -148,7 +148,7 @@
                   type="text"
                   icon="el-icon-view"
                   @click="handleDetailInfo(scope.row)"
-                  v-hasPermi="['core:letter:edit']"
+                  v-hasPermi="['core:record:list']"
                   >详情</el-button
                 >                
               </template>

+ 21 - 3
src/views/resumption/plan/dialog.edit.vue

@@ -267,7 +267,6 @@
       </div>
 
       <div slot="footer" class="dialog-footer">
-       
         <el-button type="primary" @click="onSubmit">确定</el-button>
         <el-button @click="onHide">取消</el-button>
       </div>
@@ -316,7 +315,7 @@ export default {
       execOrgType: null,
       roleNames: null,
       planExec: null,
-      defbuildTaskNow:false,
+      defbuildTaskNow: false,
       count: 0,
       description: null,
       propItem: "",
@@ -432,6 +431,10 @@ export default {
       this.selectedRows = [];
     },
     changeBuildTime() {
+      if(this.formData.planCycle==null){
+        this.buildTime=null;
+        return;
+      }
       // console.log(this.formData.planCycle, "this.formData.planCycle");
       const dateObj = new Date(); // 获取当前时间对象
       switch (this.formData.planCycle) {
@@ -621,6 +624,21 @@ export default {
           //履职内容
           this.tableData = null;
           break;
+        case "8": //其它
+          //周期
+          this.formData.planCycle = null;
+          //机构类型
+          this.formData.execOrgType = null;
+          this.resumptionRoles = [];
+          //角色
+          this.formData.roleList = [];
+          //履职时间
+          this.formData.planExec = null;
+          //履职次数
+          this.formData.count = 1;
+          //履职内容
+          this.tableData = null;
+          this.$refs["form"].resetFields();
       }
       this.changeBuildTime();
     },
@@ -733,7 +751,7 @@ export default {
       // console.log(id);
       if (id !== undefined) {
         await api.get(id).then((res) => {
-          this.defbuildTaskNow=res.data.buildTaskNow> 0 ? true : false;;
+          this.defbuildTaskNow = res.data.buildTaskNow > 0 ? true : false;
           this.tempBuildTaskNow = res.data.buildTaskNow > 0 ? true : false;
           this.parentCount = res.data.parentCount;
           // console.log(res, "res");

+ 6 - 1
src/views/resumption/ruleManager/dialog.select.point.vue

@@ -121,7 +121,12 @@ export default {
     },
   },
   methods: {
-    show(defaultSelect) {      
+    show(defaultSelect) {     
+      if(this.orgType==null) {
+        this.prevOrgType=this.orgType;
+        this.$modal.alert("请选择机构类型");
+        return;
+      }
       this.isShow = true;
       if (defaultSelect && defaultSelect.map) {
         this.selectList = defaultSelect.map((s) => ({ id: s }));

+ 12 - 11
src/views/safetycheck/ruleManager/dialog.select.point.vue

@@ -23,6 +23,13 @@
       >
         <!-- 搜索 -->
         <template slot="searchs">
+          <el-form-item prop="key" label="关键字">
+            <el-input
+              v-model="search.key"
+              maxlength="50"
+              placeholder="请输入检查项或检查内容"
+            ></el-input>
+          </el-form-item>
           <el-form-item prop="ruleId" label="检查内容库">
             <el-select v-model="search.ruleId">
               <el-option
@@ -32,14 +39,7 @@
                 :label="item.name"
               ></el-option>
             </el-select>
-          </el-form-item>
-          <el-form-item prop="key" label="关键字">
-            <el-input
-              v-model="search.key"
-              maxlength="50"
-              placeholder="请输入检查项或检查内容"
-            ></el-input>
-          </el-form-item>
+          </el-form-item>         
         </template>
 
         <!-- 表格 -->
@@ -91,7 +91,7 @@ export default {
       selectList: [],
       ruleList: [],
       search: this.emptySearch(),
-      prevOrgType: null,
+      prevOrgType: [],
     };
   },
   computed: {},
@@ -110,7 +110,8 @@ export default {
     //   type:Array
     // },
     orgType: {
-      type: [String, Number],
+      type: Array,
+      isRequired:true,
     },
   },
   methods: {
@@ -119,7 +120,7 @@ export default {
       if (defaultSelect && defaultSelect.map) {
         this.selectList = defaultSelect.map((s) => ({ id: s }));
       }
-      if (this.prevOrgType == this.orgType) {
+      if (this.prevOrgType.length==this.orgType.length && !this.prevOrgType.find(t=>!this.orgType.includes[t])) {
         this.search.itemName=null;
         if (this.search.ruleId) {
           this.$refs.st.search();

+ 10 - 0
src/views/system/dept/index.vue

@@ -712,6 +712,11 @@ export default {
             this.$modal.msgSuccess("处理成功");
             this.open = false;
             this.getList();
+
+            this.$store.dispatch("getOrgTree");
+            this.$store.dispatch("getDepTree");
+            this.$store.dispatch("getBusinessTree");
+            this.$store.dispatch("getWholeTree");
             // this.getDeptTree();
           });
         }
@@ -726,6 +731,11 @@ export default {
             this.open = false;
             this.getList();
             this.getDeptTree();
+            
+            this.$store.dispatch("getOrgTree");
+            this.$store.dispatch("getDepTree");
+            this.$store.dispatch("getBusinessTree");
+            this.$store.dispatch("getWholeTree");
           });
         }
       });

+ 0 - 1
src/views/system/device/index.vue

@@ -509,7 +509,6 @@ export default {
   methods: {
     onOrgSelect(node) {
       this.form.orgPath = node.path;
-      debugger;
       this.form.orgName = node.name;
     },
     // 文件上传中处理

+ 11 - 11
src/views/system/dict/data.vue

@@ -6,7 +6,7 @@
       size="small"
       :inline="true"
       v-show="showSearch"
-      label-width="68px"
+      label-width="100px"
     >
       <el-form-item label="字典名称" prop="dictType">
         <el-select v-model="queryParams.dictType">
@@ -200,7 +200,7 @@
 
     <!-- 添加或修改参数配置对话框 -->
     <DialogCom :title="title" :visible.sync="open" width="700px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
         <el-row>
           <el-col :span="12">
             <el-form-item label="字典类型">
@@ -208,15 +208,15 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="数据标签" prop="dictLabel">
-              <el-input v-model="form.dictLabel" placeholder="请输入数据标签" />
+            <el-form-item label="字典标签" prop="dictLabel">
+              <el-input v-model="form.dictLabel" placeholder="请输入字典标签" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="数据键值" prop="dictValue">
-              <el-input v-model="form.dictValue" placeholder="请输入数据键值" />
+            <el-form-item label="字典键值" prop="dictValue">
+              <el-input v-model="form.dictValue" placeholder="请输入字典键值" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -227,7 +227,7 @@
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="显示排序" prop="dictSort">
+            <el-form-item label="字典排序" prop="dictSort">
               <el-input-number
                 style="width: 100%"
                 v-model="form.dictSort"
@@ -319,7 +319,7 @@ export default {
       title: "",
       // 是否显示弹出层
       open: false,
-      // 数据标签回显样式
+      // 字典标签回显样式
       listClassOptions: [
         {
           value: "default",
@@ -361,13 +361,13 @@ export default {
       // 表单校验
       rules: {
         dictLabel: [
-          { required: true, message: "数据标签不能为空", trigger: "blur" },
+          { required: true, message: "字典标签不能为空", trigger: "blur" },
         ],
         dictValue: [
-          { required: true, message: "数据键值不能为空", trigger: "blur" },
+          { required: true, message: "字典键值不能为空", trigger: "blur" },
         ],
         dictSort: [
-          { required: true, message: "数据顺序不能为空", trigger: "blur" },
+          { required: true, message: "字典排序不能为空", trigger: "blur" },
         ],
       },
     };

+ 1 - 1
src/views/system/dict/index.vue

@@ -155,7 +155,7 @@
     <!-- 添加或修改参数配置对话框 -->
     <DialogCom :title="title" :visible.sync="open" width="650px" append-to-body>
 
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
 
         <el-form-item label="字典名称" prop="dictName">
           <el-input v-model="form.dictName" placeholder="请输入字典名称" />

+ 4 - 2
src/views/system/user/index.vue

@@ -606,6 +606,7 @@ export default {
       userList: null,
       //是否是管理员
       check: false,
+      orgName:null,
       // 弹出层标题
       title: "",
       // 是否显示弹出层
@@ -842,6 +843,7 @@ export default {
           this.userList = response.data.rows;
           this.total = response.data.total;
           this.check = response.check;
+          this.orgName=response.orgName;
           this.loading = false;
         })
         .catch((err) => {
@@ -1027,7 +1029,7 @@ export default {
         {
           ...this.queryParams,
         },
-        `${'【'+this.$store.getters.orgShortName+'-人员信息管理-'+this.formatTime(new Date(),'YYYYMMDD')}.xlsx`
+        `${this.orgName+'-人员信息管理-'+this.formatTime(new Date(),'YYYYMMDD')}.xlsx`
       );
     },
     /** 模板下载按钮操作 */
@@ -1037,7 +1039,7 @@ export default {
         {
           template: true,
         },
-        `${'【'+this.$store.getters.orgShortName+'-人员信息管理-管理人员-'+this.formatTime(new Date(),'YYYYMMDD')}.xlsx`
+        `${this.orgName+'-人员信息管理-管理人员-'+this.formatTime(new Date(),'YYYYMMDD')}.xlsx`
       );
     },
     handleExportManager() {