Эх сурвалжийг харах

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

jingyuanchao 1 жил өмнө
parent
commit
fa6e4d9e12

+ 9 - 1
src/api/core/letter.js

@@ -75,7 +75,7 @@ export function delLetter(id) {
 
 
 
-// 出入记录详情
+// 出入情况详情
 export function outInRecordList(requestData) {
   return request({
     url: '/core/outinrecord/list',
@@ -83,3 +83,11 @@ export function outInRecordList(requestData) {
     params: requestData
   })
 }
+
+// 出入情况详情
+export function outInRecordDetail(id) {
+  return request({
+    url: '/core/outinrecord/'+id,
+    method: 'get',
+  })
+}

+ 8 - 1
src/components/table/search.table.vue

@@ -63,6 +63,7 @@
                    :current-page.sync="pageIndex"
                    :page-size.sync="pageSize"
                    :total="total"
+                   :page-sizes=pageSizes
                    class="mt-4 pagination"
                    layout="total, sizes, prev, pager, next, jumper"
                    @current-change="onPageChange"
@@ -126,7 +127,13 @@ export default {
       default: function ({row, column, rowIndex, columnIndex}) {
         return [1, 1];
       },
-    }
+    },
+    pageSizes: {
+      type: Array,
+      default() {
+        return [10,20, 30, 50]
+      }
+    },
   },
   model: {
     prop: 'data',

+ 0 - 5
src/views/check/index.vue

@@ -329,7 +329,6 @@
               <template slot-scope="r">
                 <el-button
                   v-if="eqOrg(r.row)"
-                  size="mini"
                   type="text"
                   icon="el-icon-edit-outline"
                   @click="onEdit(r.row.id)"
@@ -338,7 +337,6 @@
                 >
                 <el-button
                   v-if="eqOrg2(r.row)"
-                  size="mini"
                   type="text"
                   icon="el-icon-delete"
                   @click="onDel(r.row.id, r.row.planName)"
@@ -346,7 +344,6 @@
                   >删除</el-button
                 >
                 <el-button
-                  size="mini"
                   type="text"
                   icon="el-icon-arrow-down"
                   v-if="checkCanPublish(r.row)"
@@ -355,7 +352,6 @@
                   >下发</el-button
                 >
                 <el-button
-                  size="mini"
                   type="text"
                   icon="el-icon-arrow-down"
                   v-if="newcheckCanPublish(r.row)"
@@ -364,7 +360,6 @@
                   >下发</el-button
                 >
                 <el-button
-                  size="mini"
                   type="text"
                   icon="el-icon-top-left"
                   v-if="chehui(r.row)"

+ 2 - 1
src/views/check/task/index.vue

@@ -312,6 +312,7 @@
                   type="text"
                   @click="showDetail(r.row)"
                   v-hasPermi="['core:task:query']"
+                  icon="el-icon-view"
                   >详情</el-button
                 >
                 <el-button
@@ -319,6 +320,7 @@
                   @click="showscanRecord(r.row)"
                   v-if="r.row.status == 2 || r.row.status == 3"
                   v-hasPermi="['core:task:query']"
+                  icon="el-icon-view"
                   >扫描记录</el-button
                 >
                 <el-button
@@ -329,7 +331,6 @@
                 >
                 <el-button
                   type="text"
-                  size="mini"
                   slot="reference"
                   icon="el-icon-delete"
                   @click="handleDel(r.row.id)"

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

@@ -19,7 +19,7 @@
                 <el-input
                   v-model="formData.reasons"
                   placeholder="请输入出入事由"
-                  :length="200"
+                  maxlength="100"
                 />
               </el-form-item>
             </el-col>
@@ -35,23 +35,24 @@
                 <el-input
                   v-model="formData.letterNo"
                   placeholder="请输入介绍信编号"
-                  :length="200"
+                  maxlength="10"
                 />
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item prop="range" label="介绍信有效期">
                 <DataRangePicker
-              v-model="formData.range"
-              key="daterange"
-              type="daterange"
-            />
+                  v-model="formData.range"
+                  key="daterange"
+                  type="daterange"
+                />
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="上传介绍信" prop="letterFile">
                 <K-file-upload
                   ref="upload"
+                  :limit=2
                   :defaultValue="formFileListDefualtValue"
                   v-model="formData.letterFile"
                 />
@@ -81,7 +82,7 @@
             </el-col>
           </el-row>
 
-          <el-table :data="formData.userInfos">
+          <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">
@@ -123,17 +124,17 @@
           label-width="120px"
         >
           <el-form-item label="人员姓名" prop="userName">
-            <el-input v-model="userInfo.userName" placeholder="请输入姓名" />
+            <el-input v-model="userInfo.userName" maxlength="10" placeholder="请输入姓名" />
           </el-form-item>
           <el-form-item label="单位" prop="companyName">
-            <el-input v-model="userInfo.companyName" placeholder="请输入单位" />
+            <el-input v-model="userInfo.companyName" maxlength="10" placeholder="请输入单位" />
           </el-form-item>
           <el-form-item label="证件号码" prop="idCard">
-            <el-input v-model="userInfo.idCard" placeholder="请输入证件号码" />
+            <el-input v-model="userInfo.idCard" maxlength="20" placeholder="请输入证件号码" />
           </el-form-item>
           <el-form-item prop="imgFile" label="上传证件照">
             <!-- <ImageListPreview v-model="userInfo.imgFile"></ImageListPreview> -->
-            <imgUpload ref="uploadimage" type="more" :value="userInfo.imgFile"
+            <imgUpload ref="uploadimage" type="more" :value="userInfo.imgFile" :limit=2
                            @input="imageListChanged"></imgUpload>
           </el-form-item>
         </el-form>

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

@@ -51,7 +51,7 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
           </div>
-    <el-table v-loading="loading" height="650" border :data="letterList" @selection-change="handleSelectionChange">
+    <el-table v-loading="loading" height="650" border :data="letterList">
       <el-table-column label="出入事由" header-align="center" align="left" prop="reasons"  width="300"/>
       <el-table-column label="介绍信编号" align="center" prop="letterNo" width="120">       
       </el-table-column>
@@ -190,12 +190,7 @@ export default {
       this.resetForm("queryForm");
       this.handleQuery();
     },
-    // 多选框选中数据
-    handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.id)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
-    },
+    
     /** 新增按钮操作 */
     handleAdd() {
       this.$refs["dialogAddLetter"].show(null,{});

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

@@ -0,0 +1,227 @@
+<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"
+          :rules="formDataRules"
+          label-width="120px"
+        >
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="出入人员">
+             {{formData.userName}}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="证件号">
+             {{formData.idCard}}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="证件照">
+                <template>
+                      <ImageListPreview v-model="formData.imgFile"></ImageListPreview>
+                    </template> 
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="核验结果">
+                <template>
+                  <ImageListPreview v-model="formData.checkImage"></ImageListPreview>
+                </template> 
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="单位">
+             {{formData.companyName}}
+              </el-form-item>
+            </el-col> 
+            <el-col :span="12">
+              <el-form-item label="出入事由">
+              {{formData.reasons}}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="出入类型">
+              <dict-tag :options="dict.type.out_in_type" :value="formData.type"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item  label="出入机构">
+              {{formData.orgName}}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="介绍信编号">
+              {{formData.letterNo}}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item  label="介绍信有效期">
+                {{ formData.startTime}}~{{formData.endTime}}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <!-- <el-form-item label="介绍信" prop="letterNo">               
+              </el-form-item> -->
+              <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.arrivalTime}}~{{formData.departureTime}}
+              </el-form-item>
+            </el-col>  
+          </el-row>
+        </el-form>
+      </div>
+      <div slot="footer" class="dialog-footer">
+        <!-- <el-button type="primary" @click="submitForm">确 定</el-button> -->
+        <el-button @click="onHide">关 闭</el-button>
+      </div>
+    </DialogCom>
+  </div>
+</template>
+<script>
+import { mapState, mapMutations } from "vuex";
+import {
+  getLetter,
+  outInRecordDetail,
+} from "@/api/core/letter";
+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: { KFileUpload, imgUpload,DataRangePicker },
+  data() {
+    const params = this.$route.params;
+    return {
+      id: params ? params.id : null,
+      isShow: false,
+      title: "出入事项审批",
+      formData: this.reset(),
+      formDataRules: {
+        approveStatus: [{ required: true, message: "请勾选审批结果" }],        
+      },
+      formFileListDefualtValue: [],
+    };
+  },
+  dicts: ['out_in_type'],
+  props: {},
+  watch: {},
+  created() {},
+  computed: {
+    ...mapState(["loginUser", "org"]),
+  },
+  methods: {
+    ...mapMutations([]),
+    reset(other = {}) {
+      return {
+        reasons: null,
+        letterNo:null,
+        receptionOrgIds: [],
+        range:[],
+        description: null,
+        letterFile: [],
+        userInfos: [],
+        type:null,
+        approveRemark:null,
+        approveStatus:null,
+        ...other,
+      };
+    },
+    // checkApprove(rule,value,callback)
+    // {
+    //   console.log("checkApprove rule",rule);
+    //   console.log("checkApprove value",value);
+    //   console.log("checkApprove callback",callback);
+    // },
+    async show(id, other = {}) {     
+      if (id) {
+        this.title = "出入情况详情";   
+        this.isShow = true;
+        outInRecordDetail(id).then((response) => {
+          this.formData = response.data;
+          this.formFileListDefualtValue=this.formData.letterFile;
+        });        
+      }
+      else 
+      {
+        this.isShow = true;
+        this.title = "录入介绍信";
+        this.formData = this.reset();       
+      }
+    },
+    handleAddUser() {
+      this.open = true;
+    },
+    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();
+    },
+    
+    submitForm() {
+      this.$refs["form"].validate((valid) => {
+        if (valid) {         
+          let  {approveRemark,approveStatus,approveLog} = this.formData;
+          let tempRquest={approveRemark,approveStatus,id:approveLog.id};
+
+          console.log("================",tempRquest );          
+          approveLetter(tempRquest).then((response) => {
+              this.$modal.msgSuccess("提交成功");
+              this.isShow = false;
+              this.formData = this.reset();
+              this.$emit("success", this.formData);
+            });
+        }
+      });
+    },   
+  },
+  mounted() {},
+};
+</script>
+
+
+
+

+ 17 - 76
src/views/core/outIn/outInLog/index.vue

@@ -76,16 +76,6 @@
                   >重置</el-button
                 >
               </el-col>
-              <!-- <el-col :span="1.5">
-                <el-button
-                  type="primary"
-                  icon="el-icon-plus"
-                  size="mini"
-                  @click="handleAdd"
-                  v-hasPermi="['core:letter:add']"
-                  >录入介绍信</el-button
-                >
-              </el-col> -->
               <right-toolbar
                 :showSearch.sync="showSearch"
                 @queryTable="getList"
@@ -97,11 +87,11 @@
             height="650"
             border
             :data="outInRecrodList"
-            @selection-change="handleSelectionChange"
+            
           >
           <el-table-column label="序号"  align="center"  type="index" width="70" />
           <el-table-column label="出入人员" prop="userName"  align="center" width="100" />
-          <el-table-column label="证件号" prop="idCard"  align="center"  width="100" />
+          <el-table-column label="证件号" prop="idCard"  align="center"  width="180" />
           <el-table-column label="人员单位" prop="companyName"  align="center"  width="100" />
           <el-table-column label="出入类型" header-align="center" align="left" prop="type"  width="150">
             <template slot-scope="scope">
@@ -123,6 +113,12 @@
               width="120"
             >
             </el-table-column>
+            <el-table-column label="出入时间" align="center" width="300">
+              <template slot-scope="scope">
+                <span>{{ scope.row.arrivalTime }}~</span>
+                <span v-if="scope.row.departureTime">{{ scope.row.departureTime }}</span>
+              </template>
+            </el-table-column>
             <el-table-column label="核验结果" width="250" align="center" prop="checkImage">
                     <template slot-scope="scope">
                       <ImageListPreview v-model="scope.row.imgFile"></ImageListPreview>
@@ -133,21 +129,17 @@
                 <K-file-upload ref="upload" :isShowUploadBtn="false"
                                               :defaultValue="scope.row.letterFile"
                                               />
-                  </template>     
+                  </template>
           </template>     
           </el-table-column>
-            <el-table-column label="出入时间" align="center" width="250">
-              <template slot-scope="scope">
-                <span>{{ scope.row.arrivalTime }}</span>
-                <span v-if="scope.row.departureTime">~{{ scope.row.departureTime }}</span>
-              </template>
-            </el-table-column>
+            
             
             <el-table-column
               label="操作"
               header-align="center"
               align="left"
               width="100"
+              fixed="right"
               class-name="small-padding fixed-width"
             >
               <template slot-scope="scope">
@@ -171,7 +163,7 @@
             @pagination="getList"
           />
 
-          <!-- <dialog-add-letter ref="dialogAddLetter" @success="handleQuery(true)"></dialog-add-letter> -->
+          <dialog-out-in-detail ref="dialogDetail" @success="handleQuery(true)"></dialog-out-in-detail>
         </div>
       </el-col>
     </el-row>
@@ -186,8 +178,9 @@ import KFileUpload from "@/components/K-FileUpload/index.vue";
 import dayjs from "dayjs";
 import OrgTree from "@/components/orgTree";
 import DataRangePicker from "@/components/dateTime/daterange.picker.vue";
+import dialogOutInDetail from "./dialog.outIn.detail.vue";
 export default {
-  components: {OrgTree,KFileUpload,DataRangePicker},
+  components: {OrgTree,KFileUpload,DataRangePicker,dialogOutInDetail},
   dicts: ["letter_status",'out_in_type'],
   name: "outInLog",
   data() {
@@ -254,12 +247,6 @@ export default {
       this.resetForm("queryForm");
       this.handleQuery();
     },
-    // 多选框选中数据
-    handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.id);
-      this.single = selection.length !== 1;
-      this.multiple = !selection.length;
-    },
     getDefaultKey(key) {
       this.queryParams.orgId = key;
       this.getList();
@@ -275,55 +262,9 @@ export default {
       this.queryParams.orgId = data.id;
       this.handleQuery();
     },
-    /** 新增按钮操作 */
-    handleAdd() {
-      this.$refs["dialogAddLetter"].show(null, {});
-    },
-    /** 修改按钮操作 */
-    handleUpdate(row) {
-      // this.reset();
-      // const id = row.id || this.ids
-      this.$refs["dialogAddLetter"].show(row.id, {});
-    },
-    handleUseLetter(row) {
-      updateLetterStatus({ id: row.id, status: 1 }).then((response) => {
-        this.$modal.msgSuccess("修改成功");
-        this.getList();
-      });
-    },
-    handleDetailInfo(row) {},
-    /** 提交按钮 */
-    submitForm() {
-      this.$refs["form"].validate((valid) => {
-        if (valid) {
-          if (this.form.id != null) {
-            updateLetter(this.form).then((response) => {
-              this.$modal.msgSuccess("修改成功");
-              this.getList();
-            });
-          } else {
-            addLetter(this.form).then((response) => {
-              this.$modal.msgSuccess("新增成功");
-              this.getList();
-            });
-          }
-        }
-      });
-    },
-    /** 删除按钮操作 */
-    handleDelete(row) {
-      const ids = row.id || this.ids;
-      this.$modal
-        .confirm('是否确认删除介绍信编号为"' + ids + '"的数据项?')
-        .then(function () {
-          return delLetter(ids);
-        })
-        .then(() => {
-          this.getList();
-          this.$modal.msgSuccess("删除成功");
-        })
-        .catch(() => {});
-    },
+    handleDetailInfo(row) {
+      this.$refs["dialogDetail"].show(row.id);
+    },    
   },
 };
 </script>

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

@@ -247,6 +247,7 @@
                 :options="deptOptions2"
                 :normalizer="tenantIdnormalizer"
                 placeholder="请选择所属机构"
+                
               />
             </el-form-item>
           </el-col>