保安服务企业管理-验收版本
liuyg
2021-09-09 81e8974f3544d7e58d528c2df973f7486809482c
保安员管理
4 files modified
329 ■■■■■ changed files
src/api/performance/performance.js 8 ●●●● patch | view | raw | blame | history
src/views/securityGuard/data.js 35 ●●●●● patch | view | raw | blame | history
src/views/securityGuard/securityGuard.vue 270 ●●●●● patch | view | raw | blame | history
src/views/securityGuard/securityGuardDetail.vue 16 ●●●● patch | view | raw | blame | history
src/api/performance/performance.js
@@ -10,7 +10,7 @@
    })
}
export const page = (current, size, params) => {
export const trackRecordpage = (current, size, params) => {
    return request({
        url: '/api/performance/page',
        method: 'get',
@@ -41,7 +41,7 @@
//     })
// }
export const add = (row) => {
export const trackRecordadd = (row) => {
    return request({
        url: '/api/performance/submit',
        method: 'post',
@@ -49,7 +49,7 @@
    })
}
export const update = (row) => {
export const trackRecordupdate = (row) => {
    return request({
        url: '/api/performance/submit',
        method: 'post',
@@ -57,7 +57,7 @@
    })
}
export const remove = (ids) => {
export const trackRecordremove = (ids) => {
    return request({
        url: '/api/performance/remove',
        method: 'post',
src/views/securityGuard/data.js
@@ -335,6 +335,13 @@
    label: '岗位职责',
    prop: "responsibilities",
    formslot: true,
}, {
    label: '服务派遣单位',
    prop: "serverDispatchUnit",
    minWidth: 180,
    overHidden: true,
    formslot: true,
}, {
    label: '入职时间',
    type: 'date',
@@ -407,15 +414,24 @@
    editDisplay: false,
    addDisplay: false
}, {
    label: '工作态度',
    prop: "workingattitude",
    label: '时间',
    type: 'date',
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    prop: "time",
    formslot: true,
}, {
    label: '工作成效',
},
// {
//     label: '工作态度',
//     prop: "workingattitude",
//     formslot: true,
// },
{
    label: '工作表现',
    prop: "achievements",
    formslot: true,
}, {
    label: '表现',
    label: '表现评定',
    prop: "score",
    type: "select",
    // dicUrl: "/api/blade-system/dict-biz/dictionary?code=scoreType",
@@ -447,14 +463,7 @@
        message: "请选择表现",
        trigger: "blur"
    }]
}, {
    label: '时间',
    type: 'date',
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    prop: "time",
    formslot: true,
},
}
    // {
    //     label: '服务公司',
    //     prop: "departmentName",
src/views/securityGuard/securityGuard.vue
@@ -142,6 +142,20 @@
              @click.stop="rowDellook(row)"
              >离职查询
            </el-button>
            <el-button
              icon="el-icon-edit"
              :size="size"
              :type="type"
              @click.stop="trackRecord(row)"
              >现实表现
            </el-button>
            <el-button
              icon="el-icon-edit"
              :size="size"
              :type="type"
              @click.stop="Experience(row)"
              >从业记录
            </el-button>
            <!-- <el-button
              icon="el-icon-edit"
              :size="size"
@@ -177,6 +191,40 @@
            <el-tag>{{ row.userTypeName }}</el-tag>
          </template>
        </avue-crud>
        <el-dialog
          title="从业记录"
          append-to-body
          :visible.sync="ExperienceVisible"
          width="80%"
        >
          <avue-crud
            :option="option1"
            :data="data1"
            :page.sync="page1"
            :table-loading="loading1"
            @row-save="rowSave1"
            @row-update="rowUpdate1"
            @row-del="rowDel1"
          >
          </avue-crud>
        </el-dialog>
        <el-dialog
          title="现实表现"
          append-to-body
          :visible.sync="trackRecordVisible"
        >
          <avue-crud
            :option="option2"
            :data="data2"
            :page.sync="page2"
            @row-save="rowSave2"
            @row-update="rowUpdate2"
            @row-del="rowDel2"
            :table-loading="loading2"
          >
          </avue-crud>
        </el-dialog>
        <el-dialog
          title="用户角色配置"
          append-to-body
@@ -306,9 +354,28 @@
import { mapGetters } from "vuex";
import website from "@/config/website";
import { getToken } from "@/util/auth";
import { securityFormPageColumn } from "./data";
import {
  securityFormPageColumn,
  trackRecordColumn,
  practitionersColumn,
} from "./data";
import { mapState } from "vuex";
import {
  //现实表现
  trackRecordadd,
  trackRecordupdate,
  trackRecordpage,
  trackRecordremove,
} from "@/api/performance/performance";
import {
  //从业记录
  addExperience,
  updateExperience,
  getExperienceDetail,
  experienceRemove,
  getExperienceList,
} from "@/api/experience/experience";
export default {
  data() {
    const validatePass = (rule, value, callback) => {
@@ -328,6 +395,61 @@
      }
    };
    return {
      //从业记录
      securityid1: "",
      ExperienceVisible: false,
      loading1: true,
      page1: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
      },
      query1: {},
      data1: [],
      option1: {
        card: true,
        menu: true,
        height: 400,
        widtd: "auto",
        calcHeight: 54,
        border: true, //liu
        stripe: true,
        tip: false,
        index: true,
        dialogClickModal: false,
        headerAlign: "center",
        align: "center",
        column: practitionersColumn,
      },
      //现实表现
      securityid2: "",
      loading2: true,
      page2: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
      },
      query2: {},
      data1: [],
      data2: [],
      option2: {
        card: true,
        menu: true,
        height: 400,
        widtd: "auto",
        calcHeight: 54,
        border: true, //liu
        stripe: true,
        tip: false,
        index: true,
        dialogClickModal: false,
        headerAlign: "center",
        align: "center",
        column: trackRecordColumn,
      },
      trackRecordData: [],
      trackRecordVisible: false,
      securityid: "",
      excelBox1: false,
      excelBox2: false,
@@ -455,7 +577,7 @@
        align: "center",
        index: true,
        delBtnText: "注销",
        menuWidth: 271,
        menuWidth: 368,
        selection: true,
        viewBtn: true,
        defaultExpandAll: true,
@@ -923,6 +1045,150 @@
    this.search["status"] = 1;
  },
  methods: {
    //从业记录↓
    Experience(row) {
      // console.log(row);
      this.securityid1 = row.id;
      this.getPractitionersPageInfo(this.page1);
    },
    getPractitionersPageInfo(page) {
      var param = {
        securityid: this.securityid1,
      };
      this.ExperienceVisible = true;
      //获取用户从业信息
      getExperienceList(page.currentPage, page.pageSize, param).then((res1) => {
        const data = res1.data.data;
        this.page1.total = data.total;
        this.data1 = data.records;
        this.loading1 = false;
      });
    },
    rowSave1(form, done, loading) {
      form.securityid = this.securityid1;
      addExperience(form).then(
        (res) => {
          this.getPractitionersPageInfo(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
      // }
    },
    rowUpdate1(row, index, done, loading) {
      row.securityid = this.securityid1;
      updateExperience(row).then(
        () => {
          this.getPractitionersPageInfo(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    rowDel1(row) {
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          return experienceRemove(row.id);
        })
        .then(() => {
          this.getPractitionersPageInfo(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
        });
    },
    //从业记录↑
    //现实表现↓
    trackRecord(row) {
      // console.log(row);
      this.securityid2 = row.id;
      this.getPerformancePageInfo(this.page2);
    },
    getPerformancePageInfo(page) {
      var param = {
        securityid: this.securityid2,
      };
      this.trackRecordVisible = true;
      trackRecordpage(page.currentPage, page.pageSize, param).then((res2) => {
        const data = res2.data.data;
        this.page2.total = data.total;
        this.data2 = data.records;
        // console.log(this.data2, 1);
        this.loading2 = false;
      });
    },
    rowSave2(form, done, loading) {
      form.securityid = this.securityid2;
      trackRecordadd(form).then(
        (res) => {
          this.getPerformancePageInfo(this.page2);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
      // }
    },
    rowUpdate2(row, index, done, loading) {
      row.securityid = this.securityid2;
      trackRecordupdate(row).then(
        () => {
          this.getPerformancePageInfo(this.page2);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    rowDel2(row) {
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          return trackRecordremove(row.id);
        })
        .then(() => {
          this.getPerformancePageInfo(this.page2);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
        });
    },
    //现实表现↑
    handleImport1() {
      this.excelBox1 = true;
    },
src/views/securityGuard/securityGuardDetail.vue
@@ -103,10 +103,10 @@
import {
  getPerformanceInfo,
  add,
  update,
  page,
  remove,
  trackRecordadd,
  trackRecordupdate,
  trackRecordpage,
  trackRecordremove,
  getER,
} from "@/api/performance/performance";
@@ -286,7 +286,7 @@
      var param = {
        securityid: this.id,
      };
      page(this.current, this.size, param).then((res2) => {
      trackRecordpage(this.current, this.size, param).then((res2) => {
        const data = res2.data.data;
        this.page2.total = data.total;
        this.data2 = data.records;
@@ -297,7 +297,7 @@
    rowSave2(form, done, loading) {
      form.securityid = this.id;
      add(form).then(
      trackRecordadd(form).then(
        (res) => {
          this.getPerformancePageInfo(this.page2);
          this.$message({
@@ -334,7 +334,7 @@
    },
    rowUpdate2(row, index, done, loading) {
      row.securityid = this.id;
      update(row).then(
      trackRecordupdate(row).then(
        () => {
          this.getPerformancePageInfo(this.page2);
          this.$message({
@@ -373,7 +373,7 @@
        type: "warning",
      })
        .then(() => {
          return remove(row.id);
          return trackRecordremove(row.id);
        })
        .then(() => {
          this.getPerformancePageInfo(this.page2);