From 5a3ace296c010b5c11501dedf252e1c144cda9e2 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Mon, 06 Dec 2021 13:55:01 +0800
Subject: [PATCH] Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/zhba_enterprises_ys
---
src/views/dispatch/dispatchChildoperable.vue | 451 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 437 insertions(+), 14 deletions(-)
diff --git a/src/views/dispatch/dispatchChildoperable.vue b/src/views/dispatch/dispatchChildoperable.vue
index 175a1aa..bdd5c96 100644
--- a/src/views/dispatch/dispatchChildoperable.vue
+++ b/src/views/dispatch/dispatchChildoperable.vue
@@ -6,7 +6,7 @@
:data="data1"
:page.sync="page1"
ref="crudrec1"
- v-model="form"
+ v-model="form1"
:table-loading="loading1"
:before-open="beforeOpen"
@row-save="rowSave1"
@@ -17,10 +17,54 @@
@selection-change="selectionChange1"
@refresh-change="refreshChange1"
>
+ <template slot-scope="{ type, row }" slot="menu">
+ <el-button
+ icon="el-icon-check"
+ size="small"
+ :type="type"
+ @click="openClick(row, page2)"
+ >派遣轨迹</el-button
+ >
+ </template>
</avue-crud>
</div>
+ <el-dialog
+ title="提示"
+ :visible.sync="dialogVisible"
+ width="80%"
+ top="10vh"
+ append-to-body
+ >
+ <avue-crud
+ :option="option2"
+ :data="data2"
+ :page.sync="page2"
+ ref="crudrec2"
+ v-model="form2"
+ :table-loading="loading2"
+ @selection-change="selectionChange2"
+ @search-change="searchChange2"
+ @row-save="rowSave2"
+ @search-reset="searchReset2"
+ @row-update="rowUpdate2"
+ @row-del="rowDel2"
+ @refresh-change="refreshChange2"
+ >
+ <!-- :before-open="beforeOpen"
+ -->
+ <!-- <template slot-scope="{ type, row }" slot="menu">
+ <el-button
+ icon="el-icon-check"
+ size="small"
+ :type="type"
+ @click="openClick(row)"
+ >派遣轨迹</el-button
+ >
+ </template> -->
+ </avue-crud>
+ </el-dialog>
</basic-container>
-</template>
+</template>
<script>
import {
@@ -37,6 +81,10 @@
export default {
data() {
return {
+ dialogVisible: false,
+ dialogId: "",
+ dialogData: [],
+
deptCategory: "",
deptId: "",
@@ -47,7 +95,7 @@
currentPage: 1,
total: 0,
},
- form: {},
+ form1: {},
query1: {},
data1: [],
option1: {
@@ -60,9 +108,12 @@
height: 623,
cellBtn: false,
delBtnText: "结束派遣",
- editBtnText: "变更派遣",
+ editBtnText: "更改派遣",
+ editTitle: "更改派遣",
+ addTitle: "记录添加",
+ addBtnText: "记录添加",
// addBtn: false,
- // menuWidth: 160,
+ menuWidth: 256,
align: "center",
selection: true,
column: [
@@ -197,7 +248,21 @@
// // searchSpan: 4,
// // overHidden: true
// },
-
+ {
+ label: "派遣地址",
+ prop: "dispatcheraddress",
+ labelWidth: 120,
+ rules: [
+ {
+ required: true,
+ message: "请输入派遣地址",
+ trigger: "click",
+ },
+ ],
+ // search: true,
+ // searchSpan: 4,
+ // overHidden: true
+ },
{
label: "开始时间",
prop: "dispatchertime",
@@ -258,6 +323,169 @@
},
],
},
+ ],
+ },
+ loading2: true, //单个人派遣记录
+ vals: [],
+ selectionList2: [],
+ page2: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ form2: {},
+ query2: {},
+ data2: [],
+ option2: {
+ // card: true,
+ tip: false,
+ index: true,
+ // menu: false,
+ searchSize: "mini",
+ searchMenuSpan: 8,
+ height: 450,
+ cellBtn: false,
+ delBtnText: "结束派遣",
+ editBtnText: "更改派遣",
+ editTitle: "更改派遣",
+ addTitle: "记录添加",
+ addBtnText: "记录添加",
+ // addBtn: false,
+ menuWidth: 256,
+ align: "center",
+ selection: true,
+ column: [
+ // },
+ {
+ label: "派遣单位",
+ prop: "dispatcherCompany",
+ // addDisplay: false,
+ // editDisplay: false,
+ // search: true,
+ // labelWidth: 120,
+ // searchSpan: 4,
+ minWidth: 210,
+ addDisplay: false,
+ editDisplay: false,
+ },
+ {
+ label: "保安公司",
+ prop: "deptId",
+ search: true,
+ labelWidth: 120,
+ type: "tree",
+ searchSpan: 4,
+ cascaderItem: ["userIds"],
+ props: {
+ label: "title",
+ value: "id",
+ },
+ width: 180,
+ dicUrl: `/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697`,
+ rules: [
+ {
+ required: true,
+ message: "请输入保安公司",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "派遣单位",
+ prop: "dispatcherUnitId",
+ labelWidth: 120,
+ searchLabelWidth: 80,
+ // dicUrl: "/api/dispatcherUnit/page-tree?deptId={{key}}",
+ props: {
+ label: "name",
+ value: "id",
+ },
+ hide: true,
+ searchSpan: 4,
+ 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-units?dispatch=1&deptId={{key}}`,
+ dicUrl: `/api/blade-user/page-security-units?status=1&deptId={{key}}`,
+ dicData: [],
+ rules: [
+ {
+ required: true,
+ message: "请选择保安",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ 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: "idCardNo",
+ labelWidth: 120,
+ overHidden: true,
+ addDisplay: false,
+ editDisplay: false,
+ rules: [
+ {
+ required: true,
+ message: "请输入身份证",
+ trigger: "click",
+ },
+ ],
+ // search: true,
+ // searchSpan: 4,
+ // overHidden: true
+ },
+ // {
+ // label: "派遣人",
+ // prop: "dispatcher",
+ // // search: true,
+ // // searchSpan: 4,
+ // // overHidden: true
+ // },
{
label: "派遣地址",
prop: "dispatcheraddress",
@@ -272,6 +500,66 @@
// search: true,
// searchSpan: 4,
// overHidden: true
+ },
+ {
+ label: "开始时间",
+ prop: "dispatchertime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ labelWidth: 120,
+ searchSpan: 5,
+ // search: true,
+ overHidden: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入派遣时间",
+ trigger: "click",
+ },
+ ],
+ // overHidden: true
+ },
+ {
+ label: "结束时间",
+ prop: "endTime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ labelWidth: 120,
+ overHidden: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入结束时间",
+ trigger: "click",
+ },
+ ],
+ // search: true,
+ // searchSpan: 4,
+ // overHidden: true
+ },
+ {
+ label: "派遣时间",
+ prop: "releaseTimeRange",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ searchValue: [this.getStartTime(), this.getEndTime()],
+ searchRange: true,
+ searchSpan: 5,
+ hide: true,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入时间",
+ trigger: "blur",
+ },
+ ],
},
],
},
@@ -308,6 +596,138 @@
},
methods: {
+ openClick(val, page, params = {}) {
+ this.vals = val;
+ this.dialogVisible = true;
+ params["userIds"] = val.userIds;
+ //默认查询已派遣的,派遣结束,未派遣的不显示
+ params["dispatch"] = 0;
+ var values;
+ const { releaseTimeRange } = this.query1;
+ if (releaseTimeRange) {
+ values = {
+ ...params,
+ beginTime: releaseTimeRange[0],
+ overTime: releaseTimeRange[1],
+ ...this.query,
+ };
+ values.releaseTimeRange = null;
+ } else {
+ values = {
+ ...params,
+ ...this.query,
+ };
+ }
+
+ 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.option2.column[1].search = false;
+ this.option2.column[1].value = this.userInfo.dept_id;
+ this.option2.column[1].disabled = true;
+ // this.option2.column[3].disabled = true;
+ this.option2.column[3].value = val.userIds;
+ this.initData(2, 2);
+ } else {
+ this.option2.column[1].search = true;
+ // deptColumn.disabled = false;
+ this.initData(1, 2);
+ }
+ getdata1(
+ page.currentPage,
+ page.pageSize,
+ // Object.assign(params, this.query2)
+ values
+ ).then((res) => {
+ const data = res.data.data;
+ this.page2.total = data.total;
+ this.data2 = data.records;
+ this.loading2 = false;
+ // // this.$nextTick(() => this.$refs.crudrec1.dicInit("cascader"));
+ // // console.log(this.form, 111111);
+ });
+ // console.log(val);
+ },
+ refreshChange2() {
+ // console.log(4534)
+ this.openClick(this.vals, this.page2, this.query2);
+ },
+ searchChange2(params, done) {
+ this.query2 = params;
+ this.page2.currentPage = 1;
+ this.refreshChange2();
+ done();
+ },
+ rowSave2(form, done, loading) {
+ // 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) => {
+ this.refreshChange2();
+ this.onLoad1(this.page1);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
+ // }
+ },
+ searchReset2() {
+ this.query2 = {};
+ this.refreshChange2();
+ },
+ rowUpdate2(row, index, done, loading) {
+ // 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.refreshChange2();
+ this.onLoad1(this.page1);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
+ },
+ rowDel2(row) {
+ this.$confirm("确定结束当前派遣?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ console.log(row);
+ return overDispatcher(row);
+ })
+ .then(() => {
+ this.refreshChange2();
+ this.onLoad1(this.page1);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ });
+ },
+
handleChangeTABS(column) {
this.typeTABS = column;
if (column.prop == "tab1") {
@@ -511,31 +931,34 @@
this.data1 = data.records;
this.loading1 = false;
// this.$nextTick(() => this.$refs.crudrec1.dicInit("cascader"));
- console.log(this.form, 111111);
+ // console.log(this.form, 111111);
});
},
- initData(type) {
+ initData(type, d = 1) {
var that = this;
if (type == 1) {
getDispatcherUnitByDeptId(null).then((res) => {
const dispatcherUnitIdColumn = that.findObject(
- this.option1.column,
+ this["option" + d].column,
"dispatcherUnitId"
);
- console.log(res.data.data, 111);
+ // 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,
+ this["option" + d].column,
"dispatcherUnitId"
);
dispatcherUnitIdColumn.dicData = res.data.data;
});
- getListByDeptId(that.userInfo.dept_id,1).then((res) => {
- const userIdsColumn = that.findObject(this.option1.column, "userIds");
+ getListByDeptId(that.userInfo.dept_id, 1).then((res) => {
+ const userIdsColumn = that.findObject(
+ this["option" + d].column,
+ "userIds"
+ );
userIdsColumn.dicData = res.data.data;
});
}
@@ -565,4 +988,4 @@
.el-collapse-item {
padding-top: 15px !important;
}
-</style>
\ No newline at end of file
+</style>
--
Gitblit v1.9.3