From 785859047f0dcb9e62b607bf89989d78bdb7dbee Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 17 Sep 2021 10:23:30 +0800
Subject: [PATCH] 派遣记录 保安人员验证
---
src/views/dispatch/dispatchChildoperableSee.vue | 661 +++++++++++++++----------------------------------------
1 files changed, 181 insertions(+), 480 deletions(-)
diff --git a/src/views/dispatch/dispatchChildoperableSee.vue b/src/views/dispatch/dispatchChildoperableSee.vue
index d7ff409..20d7eaa 100644
--- a/src/views/dispatch/dispatchChildoperableSee.vue
+++ b/src/views/dispatch/dispatchChildoperableSee.vue
@@ -1,47 +1,14 @@
<template>
<basic-container>
<div class="dispatchChildoperable">
- <!-- <avue-tabs :option="optionTABS" @change="handleChangeTABS"></avue-tabs> -->
- <!-- <span v-if="typeTABS.prop === 'tab1'"> -->
- <!-- <avue-crud
- :option="option"
- :data="data"
- :page.sync="page"
- ref="crudrec"
- @on-load="onLoad"
- :table-loading="loading"
- @row-save="rowSave"
- @search-change="searchChange"
- @search-reset="searchReset"
- @row-update="rowUpdate"
- @row-del="rowDel"
- @selection-change="selectionChange"
- @refresh-change="refreshChange"
- >
- <template slot="menuLeft">
- <el-button
- type="danger"
- size="small"
- plain
- icon="el-icon-delete"
- @click="handleDelete"
- >删 除
- </el-button>
- </template>
- </avue-crud> -->
- <!-- <avue-form ref="form" v-model="obj0" :option="option0"> -->
- <!-- <template slot-scope="scope" slot="menuForm">
- <el-button @click="tip">自定义按钮</el-button>
- </template> -->
- <!-- </avue-form>
- </span>
- <span v-else-if="typeTABS.prop === 'tab2'"> -->
<avue-crud
:option="option1"
:data="data1"
:page.sync="page1"
ref="crudrec1"
+ v-model="form"
:table-loading="loading1"
+ :before-open="beforeOpen"
@row-save="rowSave1"
@search-change="searchChange1"
@search-reset="searchReset1"
@@ -50,94 +17,26 @@
@selection-change="selectionChange1"
@refresh-change="refreshChange1"
>
- <!-- <template slot="menuLeft">
- <el-button
- type="danger"
- size="small"
- plain
- icon="el-icon-delete"
- @click="handleDelete1"
- >删 除
- </el-button>
- </template> -->
</avue-crud>
- <!-- </span> -->
- <!-- <span v-else-if="typeTABS.prop === 'tab3'">选项卡内容3</span> -->
</div>
</basic-container>
</template>
<script>
-// import { column, column1 } from "./data";
import {
- // getdata,
- // adddata,
- // update,
- // remove,
getdata1,
adddata1,
update1,
remove1,
+ getDispatcherUnitByDeptId,
+ overDispatcher,
} from "@/api/dispatch/dispatch";
-import { getDept } from "@/api/system/dept";
-import { mapGetters } from "vuex";
+import { update, getListByDeptId } from "@/api/system/user";
+import { mapState } from "vuex";
export default {
data() {
- let baseUrl = "https://cli.avuejs.com/api/area";
return {
- // typeTABS: {}, //标签页
- // optionTABS: {
- // column: [
- // {
- // // icon: "el-icon-info",
- // label: "派遣服务公司详情",
- // prop: "tab1",
- // },
- // {
- // // icon: "el-icon-info",
- // label: "派遣记录",
- // prop: "tab2",
- // },
- // // {
- // // icon: "el-icon-info",
- // // label: "选项卡3",
- // // prop: "tab3",
- // // },
- // ],
- // },
-
- // id: "", //记录归属id
- // //基本信息
- // //保安单位信息表单
- // obj0: {
- // // title: "我是头部标题",
- // },
- // option0: {
- // emptyBtn: false,
- // submitBtn: false,
- // gutter: 30,
- // column: column,
- // },
- // loading: true, //派遣服务公司登记
- // selectionList: [],
- // page: {
- // pageSize: 10,
- // currentPage: 1,
- // total: 0,
- // },
- // query: {},
- // data: [],
- // option: {
- // card: true,
- // searchSize: "mini",
- // searchMenuSpan: 6,
- // height: 547,
- // menuWidth: 160,
- // align: "center",
- // selection: true,
- // column: column,
- // },
deptCategory: "",
deptId: "",
@@ -148,6 +47,7 @@
currentPage: 1,
total: 0,
},
+ form: {},
query1: {},
data1: [],
option1: {
@@ -159,88 +59,39 @@
searchMenuSpan: 8,
height: 623,
cellBtn: false,
+ delBtnText: "结束派遣",
+ editBtnText: "变更派遣",
// addBtn: false,
// menuWidth: 160,
align: "center",
selection: true,
column: [
- // 派遣服务公司登记
- // {
- // label: "id",
- // prop: "id",
- // // search: true,
- // // searchSpan: 4,
- // // overHidden: true,
- // // hide: true,
- // // editDisplay: false,
- // // addDisplay: false
- // },
- // {
- // label: "保安公司",
- // prop: "deptId",
- // labelWidth: 120,
- // searchLabelWidth: 120,
- // searchSpan: 4,
- // dicUrl:
- // "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
- // props: {
- // label: "title",
- // value: "id",
- // },
- // search: true,
- // overHidden: true,
- // type: "select",
- // rules: [
- // {
- // required: true,
- // message: "请输入保安公司",
- // trigger: "blur",
- // },
- // ],
// },
{
label: "派遣单位",
prop: "dispatcherCompany",
+ // addDisplay: false,
+ // editDisplay: false,
+ // search: true,
+ // labelWidth: 120,
+ // searchSpan: 4,
+ minWidth: 210,
addDisplay: false,
editDisplay: false,
},
- // {
- // label: "派遣单位",
- // prop: "dispatcherUnitId",
- // labelWidth: 120,
- // searchLabelWidth: 120,
- // dicUrl: "/api/dispatcherUnit/page-tree",
- // props: {
- // label: "name",
- // value: "id",
- // },
- // hide: true,
- // searchSpan: 4,
- // search: true,
- // overHidden: true,
- // type: "tree",
- // rules: [
- // {
- // required: true,
- // message: "请输入保安公司",
- // trigger: "blur",
- // },
- // ],
- // },
{
label: "保安公司",
prop: "deptId",
- labelWidth: 120,
search: true,
- overHidden: true,
+ labelWidth: 120,
type: "tree",
searchSpan: 4,
- cascaderItem: ["name"],
- // cascaderItem: ["city", "area"],
+ cascaderItem: ["userIds"],
props: {
label: "title",
value: "id",
},
+ width: 180,
dicUrl: `/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697`,
rules: [
{
@@ -251,19 +102,44 @@
],
},
{
- width: 120,
- label: "保安员",
- prop: "name",
+ label: "派遣单位",
+ prop: "dispatcherUnitId",
labelWidth: 120,
- type: "tree",
- search: true,
+ searchLabelWidth: 80,
+ // dicUrl: "/api/dispatcherUnit/page-tree?deptId={{key}}",
+ props: {
+ label: "name",
+ value: "id",
+ },
+ hide: true,
searchSpan: 4,
- cell: true,
+ search: true,
+ overHidden: true,
+ type: "tree",
+ rules: [
+ {
+ required: true,
+ message: "请输入派遣单位",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "保安员",
+ prop: "userIds",
+ type: "tree",
+ width: 70,
+ labelWidth: 120,
+ searchSpan: 3,
+ search: true,
+ hide: true,
props: {
label: "realName",
value: "id",
},
- dicUrl: `/api/blade-user/page-security-unit?deptId={{deptId}}`,
+ // dicUrl: `/api/blade-user/page-security-units?dispatch=1&deptId={{key}}`,
+ dicUrl: `/api/blade-user/page-security-units?status=1&deptId={{key}}`,
+ dicData: [],
rules: [
{
required: true,
@@ -272,52 +148,37 @@
},
],
},
- // {
- // width: 120,
- // label: "保安人名称",
- // prop: "area",
- // cell: true,
- // props: {
- // label: "name",
- // value: "code",
- // },
- // type: "select",
- // dicUrl: `${baseUrl}/getArea/{{key}}`,
- // rules: [
- // {
- // required: true,
- // message: "请选择地区",
- // trigger: "blur",
- // },
- // ],
- // },
- // {
- // label: "保安人名称",
- // prop: "name",
- // search: true,
- // searchSpan: 4,
- // labelWidth: 120,
- // searchLabelWidth: 120,
- // // overHidden: true
- // type: "tree",
- // dicUrl: "/api/blade-user/page-security",
- // props: {
- // label: "realName",
- // value: "postId",
- // },
- // rules: [
- // {
- // required: true,
- // message: "请输入保安人名称",
- // trigger: "click",
- // },
- // ],
- // },
+ {
+ label: "保安员",
+ prop: "securityName",
+ type: "tree",
+ width: 70,
+ labelWidth: 120,
+ addDisplay: false,
+ editDisplay: false,
+ // hide: true,
+ // props: {
+ // label: "realName",
+ // value: "id",
+ // },
+ // dicUrl: `/api/blade-user/page-security-units?dispatch=1&deptId={{key}}`,
+ dicData: [],
+ rules: [
+ {
+ required: true,
+ message: "请选择保安",
+ trigger: "blur",
+ },
+ ],
+ },
+
{
label: "身份证",
- prop: "cardid",
+ prop: "idCardNo",
labelWidth: 120,
overHidden: true,
+ addDisplay: false,
+ editDisplay: false,
rules: [
{
required: true,
@@ -338,13 +199,13 @@
// },
{
- label: "派遣时间",
+ label: "开始时间",
prop: "dispatchertime",
type: "date",
- format: "yyyy-MM-dd hh:mm:ss",
- valueFormat: "yyyy-MM-dd hh:mm:ss",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
labelWidth: 120,
- searchSpan: 4,
+ searchSpan: 5,
// search: true,
overHidden: true,
rules: [
@@ -360,8 +221,8 @@
label: "结束时间",
prop: "endTime",
type: "date",
- format: "yyyy-MM-dd hh:mm:ss",
- valueFormat: "yyyy-MM-dd hh:mm:ss",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
labelWidth: 120,
overHidden: true,
rules: [
@@ -378,7 +239,7 @@
{
label: "派遣时间",
prop: "releaseTimeRange",
- type: "datetime",
+ type: "date",
format: "yyyy-MM-dd",
valueFormat: "yyyy-MM-dd",
searchValue: [this.getStartTime(), this.getEndTime()],
@@ -412,42 +273,25 @@
// searchSpan: 4,
// overHidden: true
},
- // {
- // label: "派遣单位",
- // // prop: "dispatcherCompany",
- // prop: "tenantName",
- // type: "tree",
- // dicUrl: "/api/blade-system/dept/lazy-tree?parentId=0",
- // props: {
- // label: "title",
- // value: "id"
- // },
- // // hide: !website.tenantMode,
- // // addDisplay: website.tenantMode,
- // // editDisplay: website.tenantMode,
- // // viewDisplay: website.tenantMode,
- // rules: [{
- // required: true,
- // message: "请输入派遣单位",
- // trigger: "click"
- // }],
- // search: true,
- // searchSpan: 4,
- // overHidden: true
- // },
],
},
};
},
+ created() {
+ if (this.userInfo.role_name == "保安公司管理员") {
+ console.log("保安公司管理员登入");
+ const deptColumn = this.findObject(this.option1.column, "deptId");
+ deptColumn.search = false;
+ } else {
+ const deptColumn = this.findObject(
+ this.option1.column,
+ "dispatcherUnitId"
+ );
+ deptColumn.search = false;
+ }
+ },
computed: {
- // ids() {
- // let ids = [];
- // this.selectionList.forEach((ele) => {
- // ids.push(ele.id);
- // });
- // return ids.join(",");
// },
- ...mapGetters(["userInfo"]),
ids1() {
let ids1 = [];
this.selectionList1.forEach((ele) => {
@@ -455,7 +299,14 @@
});
return ids1.join(",");
},
+ ...mapState({
+ userInfo: (state) => state.user.userInfo,
+ }),
+ deps() {
+ return this.form.deptId;
+ },
},
+
methods: {
handleChangeTABS(column) {
this.typeTABS = column;
@@ -469,129 +320,6 @@
}
// this.$message.success(JSON.stringify(column));
},
- //派遣服务公司登记
- // sizeChange(val) {
- // this.page1.currentPage = 1;
- // this.page1.pageSize = val;
- // // this.getData();
- // this.onLoad(this.page, this.query);
- // // this.$message.success("行数" + val);
- // },
- // currentChange(val) {
- // this.page1.currentPage = val;
- // // this.getData();
- // this.onLoad(this.page, this.query);
- // // this.$message.success("页码" + val);
- // },
- // rowSave(form, done, loading) {
- // var that = this;
- // var form = this.data[0];
- // delete form.id;
- // for (var k = 0; k < 13; k++) {
- // adddata(form).then(
- // (res) => {
- // this.onLoad(this.page);
- // this.$message({
- // type: "success",
- // message: "操作成功!",
- // });
- // done();
- // },
- // (error) => {
- // window.console.log(error);
- // loading();
- // }
- // );
- // }
- // },
- // searchChange(params, done) {
- // this.query = params;
- // this.page.currentPage = 1;
- // this.onLoad(this.page, params);
- // done();
- // },
- // searchReset() {
- // this.query = {};
- // this.onLoad(this.page);
- // },
- // rowUpdate(row, index, done, loading) {
- // console.log(row);
- // update(row).then(
- // () => {
- // this.onLoad(this.page);
- // this.$message({
- // type: "success",
- // message: "操作成功!",
- // });
- // done();
- // },
- // (error) => {
- // window.console.log(error);
- // loading();
- // }
- // );
- // },
- // rowDel(row) {
- // this.$confirm("确定将选择数据删除?", {
- // confirmButtonText: "确定",
- // cancelButtonText: "取消",
- // type: "warning",
- // })
- // .then(() => {
- // return remove(row.id);
- // })
- // .then(() => {
- // this.onLoad(this.page);
- // this.$message({
- // type: "success",
- // message: "操作成功!",
- // });
- // });
- // },
- // selectionChange(list) {
- // this.selectionList = list;
- // },
- // handleDelete() {
- // if (this.selectionList.length === 0) {
- // this.$message.warning("请选择至少一条数据");
- // return;
- // }
- // this.$confirm("确定将选择数据删除?", {
- // confirmButtonText: "确定",
- // cancelButtonText: "取消",
- // type: "warning",
- // })
- // .then(() => {
- // return remove(this.ids);
- // })
- // .then(() => {
- // this.onLoad(this.page);
- // this.$message({
- // type: "success",
- // message: "操作成功!",
- // });
- // this.$refs.crudrec.toggleSelection();
- // });
- // },
- // refreshChange() {
- // this.onLoad(this.page, this.query);
- // },
- // onLoad(page, params = {}) {
- // this.loading = true;
- // getdata(
- // page.currentPage,
- // page.pageSize,
- // Object.assign(params, this.query)
- // ).then((res) => {
- // // console.log(res);
- // const data = res.data.data;
- // this.page.total = data.total;
- // this.data = data.records;
- // console.log(this.data);
- // this.loading = false;
- // });
- // },
- //派遣服务公司登记
//派遣记录
sizeChange1(val) {
@@ -599,23 +327,17 @@
this.page1.pageSize = val;
// this.getData();
this.onLoad1(this.page1, this.query1);
- // this.$message.success("行数" + val);
},
currentChange1(val) {
this.page1.currentPage = val;
// this.getData();
this.onLoad1(this.page1, this.query1);
- // this.$message.success("页码" + val);
},
rowSave1(form, done, loading) {
- // var that = this;
- // var form = this.data1[0];
- // delete form.id;
- // for (var k = 0; k < 13; k++) {
- // form["deptId"] = form.tenantName;
- // form["tenantName"] = form.$tenantName;
- // form["dispatcherUnitId"] = this.id;
- // console.log(form);
+ // if(this.userInfo.role_name=="保安公司管理员"){
+ // const userColumn = this.findObject(this.option1.column, "userIds");
+ // userColumn.dicUrl = "/api/blade-user/page-security-units?deptId="+this.userInfo.dept_id;
+ // }
adddata1(form).then(
(res) => {
@@ -644,10 +366,10 @@
this.onLoad1(this.page1);
},
rowUpdate1(row, index, done, loading) {
- // row["deptId"] = row.tenantName;
- // row["tenantName"] = row.$tenantName;
- // row["dispatcherUnitId"] = this.id;
- // console.log(row, "row");
+ // if(this.userInfo.role_name=="保安公司管理员"){
+ // const userColumn = this.findObject(this.option1.column, "userIds");
+ // userColumn.dicUrl = "/api/blade-user/page-security-units?deptId="+this.userInfo.dept_id;
+ // }
update1(row).then(
() => {
this.onLoad1(this.page1);
@@ -664,13 +386,13 @@
);
},
rowDel1(row) {
- this.$confirm("确定将选择数据删除?", {
+ this.$confirm("确定结束当前派遣?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
- return remove1(row.id);
+ return overDispatcher(row);
})
.then(() => {
this.onLoad1(this.page1);
@@ -712,6 +434,11 @@
this.onLoad1(this.page1, this.query1);
},
+ beforeOpen(done, type) {
+ this.initFlag = true;
+ done();
+ },
+
getStartTime() {
if (
this.$route.query.startTime != undefined &&
@@ -735,113 +462,87 @@
//
onLoad1(page, params = {}) {
this.loading1 = true;
- // params["cardid"] = this.cardid;
- // params["name"] = this.name;
- // params["dispatcherCompany"] = this.dispatcherCompany;
- // params["dispatcherUnitId"] = this.id;
- // console.log(params, "get");
- // console.log(page);
- console.log(this.userInfo, "userInfo");
var values;
- // const { releaseTimeRange } = this.query1;
- // if (releaseTimeRange) {
- values = {
- ...params,
- // beginTime: releaseTimeRange[0],
- // overTime: releaseTimeRange[1],
- userIds: this.userInfo.user_id,
- ...this.query,
- };
- // values.releaseTimeRange = null;
- // } else {
- // values = {
- // ...params,
- // ...this.query,
- // };
- // }
+ //默认查询已派遣的,派遣结束,未派遣的不显示
+ params["dispatch"] = 0;
+ const { releaseTimeRange } = this.query1;
+ if (releaseTimeRange) {
+ values = {
+ ...params,
+ beginTime: releaseTimeRange[0],
+ overTime: releaseTimeRange[1],
+ ...this.query,
+ };
+ values.releaseTimeRange = null;
+ } else {
+ values = {
+ ...params,
+ ...this.query,
+ };
+ }
- // values
+ if (this.userInfo.role_name == "保安公司管理员") {
+ const deptColumn = this.findObject(this.option1.column, "deptId");
+ deptColumn.disabled = true;
+ // deptColumn.search = false; //会报错
+ deptColumn.value = this.userInfo.dept_id;
+ this.initData(2);
+ } else {
+ this.initData(1);
+ }
- // console.log(values);
getdata1(
page.currentPage,
page.pageSize,
// Object.assign(params, this.query)
values
).then((res) => {
- // console.log(res);
const data = res.data.data;
this.page1.total = data.total;
this.data1 = data.records;
- console.log(this.data1, 1);
this.loading1 = false;
+ // this.$nextTick(() => this.$refs.crudrec1.dicInit("cascader"));
+ console.log(this.form, 111111);
});
},
- //派遣记录
- // saveLock(name, val) {
- // localStorage.setItem(name, val);
- // },
- // readLock(name) {
- // return localStorage.getItem(name);
- // },
+ initData(type) {
+ var that = this;
+ if (type == 1) {
+ getDispatcherUnitByDeptId(null).then((res) => {
+ const dispatcherUnitIdColumn = that.findObject(
+ this.option1.column,
+ "dispatcherUnitId"
+ );
+ console.log(res.data.data, 111);
+ dispatcherUnitIdColumn.dicData = res.data.data;
+ });
+ }
+ if (type == 2) {
+ getDispatcherUnitByDeptId(that.userInfo.dept_id).then((res) => {
+ const dispatcherUnitIdColumn = that.findObject(
+ this.option1.column,
+ "dispatcherUnitId"
+ );
+ dispatcherUnitIdColumn.dicData = res.data.data;
+ });
+ getListByDeptId(that.userInfo.dept_id, 1).then((res) => {
+ const userIdsColumn = that.findObject(this.option1.column, "userIds");
+ userIdsColumn.dicData = res.data.data;
+ });
+ }
+ },
},
+ // watch: {
+ // // "form.deptId"() {
+ // // this.initData();
+ // // }
+ // deps(){
+ // console.log(this.deps,5646646)
+ // }
+ // },
mounted() {
this.onLoad1(this.page1, this.query1);
- //去掉缓存
- // this.typeTABS = this.optionTABS.column[0];
- // var row = {};
- // if (this.readLock("paqiandata") != null) {
- // row = JSON.parse(this.readLock("paqiandata"));
- // this.obj0.name = row.name;
- // for (var k in row) {
- // this.obj0[k] = row[k];
- // }
- // console.log(this.obj0, 11111111);
- // this.id = row.id;
- // if (this.readLock("paqiandataS") != null) {
- // var b = JSON.parse(this.readLock("paqiandataS"));
- // var i = 0;
- // for (var k in b) {
- // if (b[k].name == row.name) {
- // i = 1;
- // }
- // }
- // if (i == 1) {
- // // console.log("存在");
- // } else {
- // // console.log("已删除");
- // this.obj0 = {};
- // this.obj0.name = row.name + " 该派遣单位已删除";
- // window.localStorage.removeItem("paqiandata");
- // this.id = 1244241;
- // }
- // }
- // } else {
- // // console.log("no");
- // this.obj0.name = " 未选择派遣单位";
- // }
},
- // onLoad(page, params = {}) {
- // this.deptId = JSON.parse(
- // window.localStorage.getItem("saber-userInfo")
- // ).content.dept_id;
-
- // //获取当前用户部门信息,判断是否为公安,如果是公安,则只能查看公告信息
- // var that = this;
- // getDept(this.deptId).then((res) => {
- // var deptCategory = res.data.data.deptCategory;
- // deptCategory == 1
- // ? (that.deptCategory = true)
- // : (that.deptCategory = false);
-
- // if (that.deptCategory) {
- // params["deptId"] = this.deptId;
- // }
- // let values = {
- // ...params,
- // };
- // })
- // }
};
</script>
--
Gitblit v1.9.3