Merge branch 'dev' of http://62.234.3.186:3000/sxyanzhu/jhprjv2 into dev
commit
6a4ebb885b
|
@ -0,0 +1,60 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询项目部门在册人员列表
|
||||||
|
export function listProjectDeptWroks(query) {
|
||||||
|
return request({
|
||||||
|
url: '/project/projectDeptWroks/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function listProjectDeptWroks2(query) {
|
||||||
|
return request({
|
||||||
|
url: '/project/projectDeptWroks/list2',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function unitList(query) {
|
||||||
|
return request({
|
||||||
|
url: '/project/projectDeptWroks/unitList',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询项目部门在册人员详细
|
||||||
|
export function getProjectDeptWroks(id) {
|
||||||
|
return request({
|
||||||
|
url: '/project/projectDeptWroks/' + id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增项目部门在册人员
|
||||||
|
export function addProjectDeptWroks(data) {
|
||||||
|
return request({
|
||||||
|
url: '/project/projectDeptWroks',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改项目部门在册人员
|
||||||
|
export function updateProjectDeptWroks(data) {
|
||||||
|
return request({
|
||||||
|
url: '/project/projectDeptWroks',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除项目部门在册人员
|
||||||
|
export function delProjectDeptWroks(id) {
|
||||||
|
return request({
|
||||||
|
url: '/project/projectDeptWroks/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,289 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
|
<el-form-item label="项目主键" prop="projectId">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.projectId"
|
||||||
|
placeholder="请输入项目主键"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="部门主键" prop="deptId">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.deptId"
|
||||||
|
placeholder="请输入部门主键"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
icon="el-icon-plus"
|
||||||
|
size="mini"
|
||||||
|
@click="handleAdd"
|
||||||
|
v-hasPermi="['project:projectDeptWroks:add']"
|
||||||
|
>新增</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="success"
|
||||||
|
plain
|
||||||
|
icon="el-icon-edit"
|
||||||
|
size="mini"
|
||||||
|
:disabled="single"
|
||||||
|
@click="handleUpdate"
|
||||||
|
v-hasPermi="['project:projectDeptWroks:edit']"
|
||||||
|
>修改</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
icon="el-icon-delete"
|
||||||
|
size="mini"
|
||||||
|
:disabled="multiple"
|
||||||
|
@click="handleDelete"
|
||||||
|
v-hasPermi="['project:projectDeptWroks:remove']"
|
||||||
|
>删除</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
@click="handleExport"
|
||||||
|
v-hasPermi="['project:projectDeptWroks:export']"
|
||||||
|
>导出</el-button>
|
||||||
|
</el-col>
|
||||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="projectDeptWroksList" @selection-change="handleSelectionChange">
|
||||||
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
|
<el-table-column label="主键" align="center" prop="id" />
|
||||||
|
<el-table-column label="项目主键" align="center" prop="projectId" />
|
||||||
|
<el-table-column label="部门主键" align="center" prop="deptId" />
|
||||||
|
<el-table-column label="劳务人员" align="center" prop="servicePersonnel" />
|
||||||
|
<el-table-column label="管理人员" align="center" prop="supervisorPersonnel" />
|
||||||
|
<el-table-column label="总包人员" align="center" prop="contractorPersonnel" />
|
||||||
|
<el-table-column label="备注" align="center" prop="remark" />
|
||||||
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-edit"
|
||||||
|
@click="handleUpdate(scope.row)"
|
||||||
|
v-hasPermi="['project:projectDeptWroks:edit']"
|
||||||
|
>修改</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-delete"
|
||||||
|
@click="handleDelete(scope.row)"
|
||||||
|
v-hasPermi="['project:projectDeptWroks:remove']"
|
||||||
|
>删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<pagination
|
||||||
|
v-show="total>0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="queryParams.pageNum"
|
||||||
|
:limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!-- 添加或修改项目部门在册人员对话框 -->
|
||||||
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
|
<el-form-item label="项目主键" prop="projectId">
|
||||||
|
<el-input v-model="form.projectId" placeholder="请输入项目主键" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="部门主键" prop="deptId">
|
||||||
|
<el-input v-model="form.deptId" placeholder="请输入部门主键" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="劳务人员" prop="servicePersonnel">
|
||||||
|
<el-input v-model="form.servicePersonnel" placeholder="请输入劳务人员" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="管理人员" prop="supervisorPersonnel">
|
||||||
|
<el-input v-model="form.supervisorPersonnel" placeholder="请输入管理人员" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="总包人员" prop="contractorPersonnel">
|
||||||
|
<el-input v-model="form.contractorPersonnel" placeholder="请输入总包人员" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { listProjectDeptWroks, getProjectDeptWroks, delProjectDeptWroks, addProjectDeptWroks, updateProjectDeptWroks } from "@/api/project/projectDeptWroks";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "ProjectDeptWroks",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
// 选中数组
|
||||||
|
ids: [],
|
||||||
|
// 非单个禁用
|
||||||
|
single: true,
|
||||||
|
// 非多个禁用
|
||||||
|
multiple: true,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
// 项目部门在册人员表格数据
|
||||||
|
projectDeptWroksList: [],
|
||||||
|
// 弹出层标题
|
||||||
|
title: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
open: false,
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
projectId: null,
|
||||||
|
deptId: null,
|
||||||
|
},
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
// 表单校验
|
||||||
|
rules: {
|
||||||
|
projectId: [
|
||||||
|
{ required: true, message: "项目主键不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
deptId: [
|
||||||
|
{ required: true, message: "部门主键不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 查询项目部门在册人员列表 */
|
||||||
|
getList() {
|
||||||
|
this.loading = true;
|
||||||
|
listProjectDeptWroks(this.queryParams).then(response => {
|
||||||
|
this.projectDeptWroksList = response.rows;
|
||||||
|
this.total = response.total;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 取消按钮
|
||||||
|
cancel() {
|
||||||
|
this.open = false;
|
||||||
|
this.reset();
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {
|
||||||
|
id: null,
|
||||||
|
projectId: null,
|
||||||
|
deptId: null,
|
||||||
|
servicePersonnel: null,
|
||||||
|
supervisorPersonnel: null,
|
||||||
|
contractorPersonnel: null,
|
||||||
|
createBy: null,
|
||||||
|
createTime: null,
|
||||||
|
updateBy: null,
|
||||||
|
updateTime: null,
|
||||||
|
remark: null
|
||||||
|
};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNum = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
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.reset();
|
||||||
|
this.open = true;
|
||||||
|
this.title = "添加项目部门在册人员";
|
||||||
|
},
|
||||||
|
/** 修改按钮操作 */
|
||||||
|
handleUpdate(row) {
|
||||||
|
this.reset();
|
||||||
|
const id = row.id || this.ids
|
||||||
|
getProjectDeptWroks(id).then(response => {
|
||||||
|
this.form = response.data;
|
||||||
|
this.open = true;
|
||||||
|
this.title = "修改项目部门在册人员";
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 提交按钮 */
|
||||||
|
submitForm() {
|
||||||
|
this.$refs["form"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.form.id != null) {
|
||||||
|
updateProjectDeptWroks(this.form).then(response => {
|
||||||
|
this.$modal.msgSuccess("修改成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
addProjectDeptWroks(this.form).then(response => {
|
||||||
|
this.$modal.msgSuccess("新增成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 删除按钮操作 */
|
||||||
|
handleDelete(row) {
|
||||||
|
const ids = row.id || this.ids;
|
||||||
|
this.$modal.confirm('是否确认删除项目部门在册人员编号为"' + ids + '"的数据项?').then(function() {
|
||||||
|
return delProjectDeptWroks(ids);
|
||||||
|
}).then(() => {
|
||||||
|
this.getList();
|
||||||
|
this.$modal.msgSuccess("删除成功");
|
||||||
|
}).catch(() => {});
|
||||||
|
},
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
handleExport() {
|
||||||
|
this.download('project/projectDeptWroks/export', {
|
||||||
|
...this.queryParams
|
||||||
|
}, `projectDeptWroks_${new Date().getTime()}.xlsx`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
|
@ -0,0 +1,115 @@
|
||||||
|
<template>
|
||||||
|
<div class="projectect-attendance-drawer">
|
||||||
|
<el-drawer
|
||||||
|
v-if="isOpen"
|
||||||
|
:visible.sync="isOpen"
|
||||||
|
direction="rtl"
|
||||||
|
size="30%"
|
||||||
|
style="padding-left: 20px"
|
||||||
|
>
|
||||||
|
<template slot="title">
|
||||||
|
<div>{{ title + " 【部门在册人员】" }}</div>
|
||||||
|
</template>
|
||||||
|
<el-tabs v-model="activeName" style="padding-left: 20px">
|
||||||
|
<el-tab-pane
|
||||||
|
v-for="(it, idx) in nodes"
|
||||||
|
:label="it.unitName + ''"
|
||||||
|
:name="it.unitId + ''"
|
||||||
|
:key="idx"
|
||||||
|
></el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
<el-form label-width="120px" ref="form" :rules="rules">
|
||||||
|
<el-form-item label="劳务人员" prop="servicePersonnel">
|
||||||
|
<el-input-number
|
||||||
|
style="width: 80%"
|
||||||
|
v-model="form.servicePersonnel"
|
||||||
|
:min="0"
|
||||||
|
:max="10000"
|
||||||
|
label="请输入劳务人员"
|
||||||
|
></el-input-number>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="管理人员" prop="supervisorPersonnel">
|
||||||
|
<el-input-number
|
||||||
|
style="width: 80%"
|
||||||
|
v-model="form.supervisorPersonnel"
|
||||||
|
:min="0"
|
||||||
|
:max="10000"
|
||||||
|
label="请输入管理人员"
|
||||||
|
></el-input-number>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="总包人员" prop="contractorPersonnel">
|
||||||
|
<el-input-number
|
||||||
|
style="width: 80%"
|
||||||
|
v-model="form.contractorPersonnel"
|
||||||
|
:min="0"
|
||||||
|
:max="10000"
|
||||||
|
label="请输入总包人员"
|
||||||
|
></el-input-number>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div style="text-align: center">
|
||||||
|
<el-button type="primary" @click="doOk">确定</el-button>
|
||||||
|
<el-button @click="doCanel">取消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-drawer>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { mapGetters } from "vuex";
|
||||||
|
import {
|
||||||
|
unitList,
|
||||||
|
listProjectDeptWroks2,
|
||||||
|
updateProjectDeptWroks,
|
||||||
|
} from "@/api/project/projectDeptWroks";
|
||||||
|
export default {
|
||||||
|
name: "RuoyiUiProjectDeptWroksDrawer",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
isOpen: false,
|
||||||
|
project: null,
|
||||||
|
title: "",
|
||||||
|
nodes: [],
|
||||||
|
form: {},
|
||||||
|
rules: {},
|
||||||
|
activeName: "",
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters(["dept"]),
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
doOk() {
|
||||||
|
updateProjectDeptWroks(this.form).then((response) => {
|
||||||
|
this.$modal.msgSuccess("保存成功");
|
||||||
|
this.isOpen = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
doCanel() {
|
||||||
|
this.isOpen = false;
|
||||||
|
},
|
||||||
|
show(project) {
|
||||||
|
this.project = project;
|
||||||
|
this.title = project.projectName;
|
||||||
|
this.isOpen = true;
|
||||||
|
unitList({
|
||||||
|
projectId: project.id,
|
||||||
|
unitType: 2,
|
||||||
|
}).then((d) => {
|
||||||
|
this.nodes = d.rows;
|
||||||
|
if (this.nodes.length > 0) {
|
||||||
|
this.activeName = this.nodes[0].unitId + "";
|
||||||
|
listProjectDeptWroks2({
|
||||||
|
projectId: this.project.id,
|
||||||
|
}).then((d) => {
|
||||||
|
this.form = d.rows[0];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped></style>
|
File diff suppressed because it is too large
Load Diff
|
@ -60,7 +60,7 @@
|
||||||
<span class="sp-text">{{ prj.floorArea?prj.floorArea+'平方米':'' }}</span>
|
<span class="sp-text">{{ prj.floorArea?prj.floorArea+'平方米':'' }}</span>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<span class="sp-label">总产值:</span>
|
<span class="sp-label">开累产值:</span>
|
||||||
<span class="sp-text">{{ prj.totalOutputValue?prj.totalOutputValue+'万元':'' }}</span>
|
<span class="sp-text">{{ prj.totalOutputValue?prj.totalOutputValue+'万元':'' }}</span>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
|
|
|
@ -1,82 +1,108 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="prject-attendance-drawer">
|
<div class="prject-attendance-drawer">
|
||||||
<el-drawer v-if="isOpen" :visible.sync="isOpen" direction="rtl" size="400" style="padding-left: 20px;">
|
<el-drawer
|
||||||
<template slot="title">
|
v-if="isOpen"
|
||||||
<div>{{ title + ' 【今日出勤】' }}</div>
|
:visible.sync="isOpen"
|
||||||
</template>
|
direction="rtl"
|
||||||
<el-form label-width="120px" ref="frm1" :model="formData" :rules="rules">
|
size="30%"
|
||||||
<el-form-item label="劳务人员" prop="servicePersonnel">
|
style="padding-left: 20px"
|
||||||
|
>
|
||||||
<el-input-number v-model="formData.servicePersonnel" :min="0" :max="10000" label="请输入劳务人员"></el-input-number>
|
<template slot="title">
|
||||||
|
<div>{{ title + " 【今日出勤】" }}</div>
|
||||||
|
</template>
|
||||||
|
<el-form label-width="120px" ref="frm1" :model="formData" :rules="rules">
|
||||||
|
<el-form-item label="出勤查询" prop="workDate">
|
||||||
|
<el-date-picker
|
||||||
|
clearable
|
||||||
|
v-model="queryParams.workDate"
|
||||||
|
type="date"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
placeholder="请选择出勤时间"
|
||||||
|
>
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="劳务人员" prop="servicePersonnel">
|
||||||
|
<el-input-number
|
||||||
|
v-model="formData.servicePersonnel"
|
||||||
|
:min="0"
|
||||||
|
:max="10000"
|
||||||
|
label="请输入劳务人员"
|
||||||
|
></el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="管理人员" prop="supervisorPersonnel">
|
<el-form-item label="管理人员" prop="supervisorPersonnel">
|
||||||
|
<el-input-number
|
||||||
<el-input-number v-model="formData.supervisorPersonnel" :min="0" :max="10000" label="请输入管理人员"></el-input-number>
|
v-model="formData.supervisorPersonnel"
|
||||||
|
:min="0"
|
||||||
|
:max="10000"
|
||||||
|
label="请输入管理人员"
|
||||||
|
></el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="总包人员" prop="contractorPersonnel">
|
<el-form-item label="总包人员" prop="contractorPersonnel">
|
||||||
|
<el-input-number
|
||||||
<el-input-number v-model="formData.contractorPersonnel" :min="0" :max="10000" label="请输入总包人员"></el-input-number>
|
v-model="formData.contractorPersonnel"
|
||||||
|
:min="0"
|
||||||
|
:max="10000"
|
||||||
|
label="请输入总包人员"
|
||||||
|
></el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div style="text-align: center;">
|
<div style="text-align: center">
|
||||||
<el-button type="primary" @click="doOk">确定</el-button>
|
<el-button type="primary" @click="doOk">确定</el-button>
|
||||||
<el-button @click="doCanel">取消</el-button>
|
<el-button @click="doCanel">取消</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-drawer>
|
</el-drawer>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from "vuex";
|
||||||
import { selectByDate } from "@/api/project/surProjectAttendance";
|
import { selectByDate } from "@/api/project/surProjectAttendance";
|
||||||
export default {
|
export default {
|
||||||
name: 'RuoyiUiAttendanceDrawer',
|
name: "RuoyiUiAttendanceDrawer",
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
isOpen: false,
|
isOpen: false,
|
||||||
prj: null,
|
prj: null,
|
||||||
title: '',
|
title: "",
|
||||||
oldData:null,
|
oldData: null,
|
||||||
formData:{
|
formData: {
|
||||||
servicePersonnel:0,
|
servicePersonnel: 0,
|
||||||
supervisorPersonnel:0,
|
supervisorPersonnel: 0,
|
||||||
contractorPersonnel:0
|
contractorPersonnel: 0,
|
||||||
},
|
},
|
||||||
rules:{}
|
queryParams: {
|
||||||
};
|
prijectId: null,
|
||||||
},
|
workDate: null,
|
||||||
computed: {
|
},
|
||||||
...mapGetters([
|
rules: {},
|
||||||
'dept',
|
};
|
||||||
]),
|
},
|
||||||
},
|
computed: {
|
||||||
mounted() {
|
...mapGetters(["dept"]),
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
doOk() {},
|
||||||
|
doCanel() {
|
||||||
|
this.isOpen = false;
|
||||||
},
|
},
|
||||||
|
show(prj) {
|
||||||
methods: {
|
this.prj = prj;
|
||||||
doOk(){
|
this.title = prj.projectName;
|
||||||
|
this.isOpen = true;
|
||||||
},
|
selectByDate({
|
||||||
doCanel(){
|
prijectId: prj.id,
|
||||||
this.isOpen=false;
|
deptId: this.dept.deptId,
|
||||||
},
|
createTime: +new Date(),
|
||||||
show(prj) {
|
}).then((d) => {
|
||||||
this.prj = prj;
|
let tmps = d.data || [];
|
||||||
this.title = prj.projectName;
|
this.oldData = tmps.length > 0 ? tmps[0] : null;
|
||||||
this.isOpen = true;
|
});
|
||||||
selectByDate({
|
|
||||||
prijectId: prj.id,
|
|
||||||
deptId: this.dept.deptId,
|
|
||||||
createTime: +new Date()
|
|
||||||
}).then(d => {
|
|
||||||
let tmps=d.data||[];
|
|
||||||
this.oldData=tmps.length>0?tmps[0]:null;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped></style>
|
<style lang="scss" scoped></style>
|
||||||
|
|
|
@ -1,6 +1,13 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form
|
||||||
|
:model="queryParams"
|
||||||
|
ref="queryForm"
|
||||||
|
size="small"
|
||||||
|
:inline="true"
|
||||||
|
v-show="showSearch"
|
||||||
|
label-width="68px"
|
||||||
|
>
|
||||||
<el-form-item label="项目名称" prop="problemArea">
|
<el-form-item label="项目名称" prop="problemArea">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.problemArea"
|
v-model="queryParams.problemArea"
|
||||||
|
@ -46,18 +53,28 @@
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
></el-date-picker>
|
></el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="责任主体" prop="projectDeptId" v-hasPermi="['project:project:zgs']">
|
<el-form-item
|
||||||
<el-select v-model="queryParams.projectDeptId" placeholder="请选择责任主体" clearable>
|
label="责任主体"
|
||||||
<el-option
|
prop="projectDeptId"
|
||||||
v-for="dict in depts"
|
v-hasPermi="['project:project:zgs']"
|
||||||
:key="dict.deptId"
|
>
|
||||||
:label="dict.deptName"
|
<el-select
|
||||||
:value="dict.deptId"
|
v-model="queryParams.projectDeptId"
|
||||||
></el-option>
|
placeholder="请选择责任主体"
|
||||||
</el-select>
|
clearable
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in depts"
|
||||||
|
:key="dict.deptId"
|
||||||
|
:label="dict.deptName"
|
||||||
|
:value="dict.deptId"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"
|
||||||
|
>搜索</el-button
|
||||||
|
>
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
@ -112,101 +129,156 @@
|
||||||
<el-tab-pane label="全部数据" name="all"></el-tab-pane>
|
<el-tab-pane label="全部数据" name="all"></el-tab-pane>
|
||||||
<el-tab-pane label="待整改" name="dzg"></el-tab-pane>
|
<el-tab-pane label="待整改" name="dzg"></el-tab-pane>
|
||||||
<el-tab-pane label="待复检" name="dqr"></el-tab-pane>
|
<el-tab-pane label="待复检" name="dqr"></el-tab-pane>
|
||||||
<el-tab-pane label="已处理" name="ycl"></el-tab-pane>
|
<el-tab-pane label="整改完成" name="ycl"></el-tab-pane>
|
||||||
<el-tab-pane label="整改超时" name="zgcs"></el-tab-pane>
|
<el-tab-pane label="整改超时" name="zgcs"></el-tab-pane>
|
||||||
<el-table v-loading="loading" :data="sspProblemmodifyList" @selection-change="handleSelectionChange">
|
<el-table
|
||||||
<el-table-column type="selection" width="40" align="center" v-if="false"/>
|
v-loading="loading"
|
||||||
<el-table-column label="项目名称" align="center" prop="problemArea" width="200" show-overflow-tooltip/>
|
:data="sspProblemmodifyList"
|
||||||
<el-table-column label="隐患图片" align="center" property="path" width="220">
|
@selection-change="handleSelectionChange"
|
||||||
<template slot-scope="scope">
|
>
|
||||||
<el-image ref="preview"
|
<el-table-column type="selection" width="40" align="center" v-if="false" />
|
||||||
style="width: 200px; height: 100px"
|
<el-table-column
|
||||||
:src="scope.row.marksPicture"
|
label="项目名称"
|
||||||
@click="onPreview(scope.row.smarkUrl)"
|
align="center"
|
||||||
|
prop="problemArea"
|
||||||
|
width="200"
|
||||||
|
show-overflow-tooltip
|
||||||
|
/>
|
||||||
|
<el-table-column label="隐患图片" align="center" property="path" width="220">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-image
|
||||||
|
ref="preview"
|
||||||
|
style="width: 200px; height: 100px"
|
||||||
|
:src="scope.row.marksPicture"
|
||||||
|
@click="onPreview(scope.row.smarkUrl)"
|
||||||
>
|
>
|
||||||
</el-image>
|
</el-image>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="隐患类型" align="center" prop="dangerType">
|
<el-table-column label="隐患类型" align="center" prop="dangerType">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<dict-tag :options="dict.type.ssp_aqyhlx" :value="scope.row.dangerType"/>
|
<dict-tag :options="dict.type.ssp_aqyhlx" :value="scope.row.dangerType" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="隐患描述" align="center" prop="workParts" width="100" show-overflow-tooltip/>
|
<el-table-column
|
||||||
<el-table-column label="整改要求" align="center" prop="changeInfo" width="200" show-overflow-tooltip/>
|
label="隐患描述"
|
||||||
<el-table-column label="隐患整改人" align="left" width="120" show-overflow-tooltip>
|
align="center"
|
||||||
<template slot-scope="scope">
|
prop="workParts"
|
||||||
<div>{{scope.row.lordSent}}</div>
|
width="100"
|
||||||
<div>{{scope.row.lordSentUser}}</div>
|
show-overflow-tooltip
|
||||||
</template>
|
/>
|
||||||
</el-table-column>
|
<el-table-column
|
||||||
<el-table-column label="复检人" align="left" width="120" show-overflow-tooltip>
|
label="整改要求"
|
||||||
<template slot-scope="scope">
|
align="center"
|
||||||
<div>{{scope.row.recheckSend}}</div>
|
prop="changeInfo"
|
||||||
<div>{{scope.row.recheckSendUser}}</div>
|
width="200"
|
||||||
</template>
|
show-overflow-tooltip
|
||||||
</el-table-column>
|
/>
|
||||||
<el-table-column label="抄送人" align="left" prop="copySend" width="120" show-overflow-tooltip>
|
<el-table-column
|
||||||
<template slot-scope="scope">
|
label="整改截至时间"
|
||||||
<div>{{scope.row.copySend}}</div>
|
align="center"
|
||||||
<div>{{scope.row.copySendUser}}</div>
|
prop="nickedTime"
|
||||||
</template>
|
width="135"
|
||||||
</el-table-column>
|
>
|
||||||
<el-table-column label="流程状态" align="center" prop="checkState">
|
<template slot-scope="scope">
|
||||||
<template slot-scope="scope">
|
<span>{{ parseTime(scope.row.nickedTime, "{y}-{m}-{d} {h}:{s}") }}</span>
|
||||||
<dict-tag :options="dict.type.smz_ssp_checkstate" :value="scope.row.checkState"/>
|
</template>
|
||||||
</template>
|
</el-table-column>
|
||||||
</el-table-column>
|
<el-table-column
|
||||||
<el-table-column label="提交用户" align="center" prop="createUser" width="100"/>
|
label="隐患整改人"
|
||||||
<el-table-column label="提交时间" align="center" prop="createTime" width="135">
|
align="left"
|
||||||
<template slot-scope="scope">
|
width="120"
|
||||||
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{s}') }}</span>
|
show-overflow-tooltip
|
||||||
</template>
|
>
|
||||||
</el-table-column>
|
<template slot-scope="scope">
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100" fixed="right">
|
<div>{{ scope.row.lordSent }}</div>
|
||||||
<template slot-scope="scope">
|
<div>{{ scope.row.lordSentUser }}</div>
|
||||||
<!-- <el-button v-if="scope.row.marksVideo != null && scope.row.marksVideo != ''"
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="流程状态" align="center" prop="checkState">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag
|
||||||
|
:options="dict.type.smz_ssp_checkstate"
|
||||||
|
:value="scope.row.checkState"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="复检人" align="left" width="120" show-overflow-tooltip>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div>{{ scope.row.recheckSend }}</div>
|
||||||
|
<div>{{ scope.row.recheckSendUser }}</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="抄送人"
|
||||||
|
align="left"
|
||||||
|
prop="copySend"
|
||||||
|
width="120"
|
||||||
|
show-overflow-tooltip
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div>{{ scope.row.copySend }}</div>
|
||||||
|
<div>{{ scope.row.copySendUser }}</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="提交用户" align="center" prop="createUser" width="100" />
|
||||||
|
<el-table-column label="提交时间" align="center" prop="createTime" width="135">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{s}") }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="操作"
|
||||||
|
align="center"
|
||||||
|
class-name="small-padding fixed-width"
|
||||||
|
width="100"
|
||||||
|
fixed="right"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<!-- <el-button v-if="scope.row.marksVideo != null && scope.row.marksVideo != ''"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-video-play"
|
icon="el-icon-video-play"
|
||||||
@click="handlePlay(scope.row)"
|
@click="handlePlay(scope.row)"
|
||||||
v-hasPermi="['trouble:sspMarks:query']"
|
v-hasPermi="['trouble:sspMarks:query']"
|
||||||
>视频</el-button> -->
|
>视频</el-button> -->
|
||||||
<!-- <el-button
|
<!-- <el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-edit"
|
icon="el-icon-edit"
|
||||||
@click="handleUpdate(scope.row)"
|
@click="handleUpdate(scope.row)"
|
||||||
v-hasPermi="['trouble:sspProblemmodify:edit']"
|
v-hasPermi="['trouble:sspProblemmodify:edit']"
|
||||||
>修改</el-button> -->
|
>修改</el-button> -->
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-notebook-2"
|
icon="el-icon-notebook-2"
|
||||||
@click="handleLog(scope.row)"
|
@click="handleLog(scope.row)"
|
||||||
v-hasPermi="['trouble:sspProblemmodify:query']"
|
v-hasPermi="['trouble:sspProblemmodify:query']"
|
||||||
>整改日志</el-button>
|
>整改日志</el-button
|
||||||
<el-button v-if="scope.row.vDel=='0'"
|
>
|
||||||
size="mini"
|
<el-button
|
||||||
type="text"
|
v-if="scope.row.vDel == '0'"
|
||||||
icon="el-icon-delete"
|
size="mini"
|
||||||
@click="handleDelete(scope.row)"
|
type="text"
|
||||||
v-hasPermi="['work:sspProblemmodify:remove']"
|
icon="el-icon-delete"
|
||||||
>删除</el-button>
|
@click="handleDelete(scope.row)"
|
||||||
</template>
|
v-hasPermi="['work:sspProblemmodify:remove']"
|
||||||
</el-table-column>
|
>删除</el-button
|
||||||
</el-table>
|
>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
<pagination
|
<pagination
|
||||||
v-show="total>0"
|
v-show="total > 0"
|
||||||
:total="total"
|
:total="total"
|
||||||
:page.sync="queryParams.pageNum"
|
:page.sync="queryParams.pageNum"
|
||||||
:limit.sync="queryParams.pageSize"
|
:limit.sync="queryParams.pageSize"
|
||||||
@pagination="getList"
|
@pagination="getList"
|
||||||
/>
|
/>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
||||||
|
|
||||||
<!-- 添加或修改安全整改对话框 -->
|
<!-- 添加或修改安全整改对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
|
@ -241,11 +313,13 @@
|
||||||
<el-input v-model="form.nickedArea" placeholder="请输入留痕定位" />
|
<el-input v-model="form.nickedArea" placeholder="请输入留痕定位" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="留痕时间" prop="nickedTime">
|
<el-form-item label="留痕时间" prop="nickedTime">
|
||||||
<el-date-picker clearable
|
<el-date-picker
|
||||||
|
clearable
|
||||||
v-model="form.nickedTime"
|
v-model="form.nickedTime"
|
||||||
type="date"
|
type="date"
|
||||||
value-format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd"
|
||||||
placeholder="请选择留痕时间">
|
placeholder="请选择留痕时间"
|
||||||
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="工序名称" prop="processName">
|
<el-form-item label="工序名称" prop="processName">
|
||||||
|
@ -283,9 +357,23 @@
|
||||||
<sspProblemmodifyAuditinfoDrawer
|
<sspProblemmodifyAuditinfoDrawer
|
||||||
size="40%"
|
size="40%"
|
||||||
:visible.sync="sspProblemmodifyAuditinfoDrawerVisible"
|
:visible.sync="sspProblemmodifyAuditinfoDrawerVisible"
|
||||||
:form-data="formData"/>
|
:form-data="formData"
|
||||||
<el-dialog title="视频播放" :visible.sync="openVideo" width="980px" :before-close="cancelVideo" append-to-body>
|
/>
|
||||||
<video ref="video" :src="videoSrc" controls="controls" autoplay="autoplay" poster="../../../assets/images/video_loading.gif" style="max-height: 550px;"/>
|
<el-dialog
|
||||||
|
title="视频播放"
|
||||||
|
:visible.sync="openVideo"
|
||||||
|
width="980px"
|
||||||
|
:before-close="cancelVideo"
|
||||||
|
append-to-body
|
||||||
|
>
|
||||||
|
<video
|
||||||
|
ref="video"
|
||||||
|
:src="videoSrc"
|
||||||
|
controls="controls"
|
||||||
|
autoplay="autoplay"
|
||||||
|
poster="../../../assets/images/video_loading.gif"
|
||||||
|
style="max-height: 550px"
|
||||||
|
/>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button @click="cancelVideo">关 闭</el-button>
|
<el-button @click="cancelVideo">关 闭</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -294,16 +382,23 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listSspProblemmodify, getSspProblemmodify, delSspProblemmodify, addSspProblemmodify, updateSspProblemmodify } from "@/api/trouble/sspProblemmodify";
|
import {
|
||||||
import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
|
listSspProblemmodify,
|
||||||
import sspProblemmodifyAuditinfoDrawer from '../sspProblemmodify/sspProblemmodifyAuditinfoDrawer.vue'
|
getSspProblemmodify,
|
||||||
|
delSspProblemmodify,
|
||||||
|
addSspProblemmodify,
|
||||||
|
updateSspProblemmodify,
|
||||||
|
} from "@/api/trouble/sspProblemmodify";
|
||||||
|
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
|
||||||
|
import sspProblemmodifyAuditinfoDrawer from "../sspProblemmodify/sspProblemmodifyAuditinfoDrawer.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "SspProblemmodify",
|
name: "SspProblemmodify",
|
||||||
components:{
|
components: {
|
||||||
sspProblemmodifyAuditinfoDrawer,ElImageViewer
|
sspProblemmodifyAuditinfoDrawer,
|
||||||
|
ElImageViewer,
|
||||||
},
|
},
|
||||||
dicts: ['ssp_aqyhlx','sys_common_isdel','smz_ssp_checkstate'],
|
dicts: ["ssp_aqyhlx", "sys_common_isdel", "smz_ssp_checkstate"],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
showViewer: false,
|
showViewer: false,
|
||||||
|
@ -325,7 +420,7 @@ export default {
|
||||||
title: "",
|
title: "",
|
||||||
// 是否显示弹出层
|
// 是否显示弹出层
|
||||||
open: false,
|
open: false,
|
||||||
openVideo:false,
|
openVideo: false,
|
||||||
videoSrc: null,
|
videoSrc: null,
|
||||||
// 更新时间时间范围
|
// 更新时间时间范围
|
||||||
daterangeMarksTime: [],
|
daterangeMarksTime: [],
|
||||||
|
@ -364,43 +459,42 @@ export default {
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {
|
rules: {},
|
||||||
},
|
|
||||||
srcList: [],
|
srcList: [],
|
||||||
activeName: 'dzg',
|
activeName: "dzg",
|
||||||
sspProblemmodifyAuditinfoDrawerVisible: false,
|
sspProblemmodifyAuditinfoDrawerVisible: false,
|
||||||
formData: {
|
formData: {
|
||||||
problemmodifyId:null
|
problemmodifyId: null,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getList();
|
this.getList();
|
||||||
this.$api.publics.getZgsDeptList().then(d=>{
|
this.$api.publics.getZgsDeptList().then((d) => {
|
||||||
this.depts=d?.data||[];
|
this.depts = d?.data || [];
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onPreview(urls) {
|
onPreview(urls) {
|
||||||
var arrayurls = urls.split(",");
|
var arrayurls = urls.split(",");
|
||||||
this.srcList=[];
|
this.srcList = [];
|
||||||
arrayurls.forEach((v, i) => {
|
arrayurls.forEach((v, i) => {
|
||||||
this.srcList.push(v);
|
this.srcList.push(v);
|
||||||
});
|
});
|
||||||
this.showViewer = true
|
this.showViewer = true;
|
||||||
},
|
},
|
||||||
closeViewer() {
|
closeViewer() {
|
||||||
this.showViewer = false
|
this.showViewer = false;
|
||||||
},
|
},
|
||||||
/** 查询安全整改列表 */
|
/** 查询安全整改列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
this.queryParams.params = {};
|
this.queryParams.params = {};
|
||||||
if (null != this.daterangeMarksTime && '' != this.daterangeMarksTime) {
|
if (null != this.daterangeMarksTime && "" != this.daterangeMarksTime) {
|
||||||
this.queryParams.params["beginMarksTime"] = this.daterangeMarksTime[0];
|
this.queryParams.params["beginMarksTime"] = this.daterangeMarksTime[0];
|
||||||
this.queryParams.params["endMarksTime"] = this.daterangeMarksTime[1];
|
this.queryParams.params["endMarksTime"] = this.daterangeMarksTime[1];
|
||||||
}
|
}
|
||||||
listSspProblemmodify(this.queryParams).then(response => {
|
listSspProblemmodify(this.queryParams).then((response) => {
|
||||||
this.sspProblemmodifyList = response.rows;
|
this.sspProblemmodifyList = response.rows;
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
@ -413,7 +507,7 @@ export default {
|
||||||
},
|
},
|
||||||
// 取消按钮
|
// 取消按钮
|
||||||
cancelVideo() {
|
cancelVideo() {
|
||||||
this.videoSrc=null;
|
this.videoSrc = null;
|
||||||
this.$refs.video.pause();
|
this.$refs.video.pause();
|
||||||
this.openVideo = false;
|
this.openVideo = false;
|
||||||
},
|
},
|
||||||
|
@ -443,7 +537,7 @@ export default {
|
||||||
createUser: null,
|
createUser: null,
|
||||||
createTime: null,
|
createTime: null,
|
||||||
updateUser: null,
|
updateUser: null,
|
||||||
updateTime: null
|
updateTime: null,
|
||||||
};
|
};
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
},
|
},
|
||||||
|
@ -460,9 +554,9 @@ export default {
|
||||||
},
|
},
|
||||||
// 多选框选中数据
|
// 多选框选中数据
|
||||||
handleSelectionChange(selection) {
|
handleSelectionChange(selection) {
|
||||||
this.ids = selection.map(item => item.id)
|
this.ids = selection.map((item) => item.id);
|
||||||
this.single = selection.length!==1
|
this.single = selection.length !== 1;
|
||||||
this.multiple = !selection.length
|
this.multiple = !selection.length;
|
||||||
},
|
},
|
||||||
/** 新增按钮操作 */
|
/** 新增按钮操作 */
|
||||||
handleAdd() {
|
handleAdd() {
|
||||||
|
@ -473,8 +567,8 @@ export default {
|
||||||
/** 修改按钮操作 */
|
/** 修改按钮操作 */
|
||||||
handleUpdate(row) {
|
handleUpdate(row) {
|
||||||
this.reset();
|
this.reset();
|
||||||
const id = row.id || this.ids
|
const id = row.id || this.ids;
|
||||||
getSspProblemmodify(id).then(response => {
|
getSspProblemmodify(id).then((response) => {
|
||||||
this.form = response.data;
|
this.form = response.data;
|
||||||
this.open = true;
|
this.open = true;
|
||||||
this.title = "修改安全整改";
|
this.title = "修改安全整改";
|
||||||
|
@ -482,16 +576,16 @@ export default {
|
||||||
},
|
},
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id != null) {
|
||||||
updateSspProblemmodify(this.form).then(response => {
|
updateSspProblemmodify(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
this.getList();
|
this.getList();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
addSspProblemmodify(this.form).then(response => {
|
addSspProblemmodify(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("新增成功");
|
this.$modal.msgSuccess("新增成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
this.getList();
|
this.getList();
|
||||||
|
@ -501,30 +595,38 @@ export default {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 页签点击
|
// 页签点击
|
||||||
handleClick(){
|
handleClick() {
|
||||||
this.queryParams.activeName = this.activeName;
|
this.queryParams.activeName = this.activeName;
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
/** 删除按钮操作 */
|
/** 删除按钮操作 */
|
||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
const ids = row.id || this.ids;
|
const ids = row.id || this.ids;
|
||||||
this.$modal.confirm('是否确认删除安全整改编号为"' + ids + '"的数据项?').then(function() {
|
this.$modal
|
||||||
return delSspProblemmodify(ids);
|
.confirm('是否确认删除安全整改编号为"' + ids + '"的数据项?')
|
||||||
}).then(() => {
|
.then(function () {
|
||||||
this.getList();
|
return delSspProblemmodify(ids);
|
||||||
this.$modal.msgSuccess("删除成功");
|
})
|
||||||
}).catch(() => {});
|
.then(() => {
|
||||||
|
this.getList();
|
||||||
|
this.$modal.msgSuccess("删除成功");
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
},
|
},
|
||||||
handleLog(row){
|
handleLog(row) {
|
||||||
this.formData.problemmodifyId = row.id;
|
this.formData.problemmodifyId = row.id;
|
||||||
this.sspProblemmodifyAuditinfoDrawerVisible = true;
|
this.sspProblemmodifyAuditinfoDrawerVisible = true;
|
||||||
},
|
},
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
handleExport() {
|
handleExport() {
|
||||||
this.download('trouble/sspProblemmodify/export', {
|
this.download(
|
||||||
...this.queryParams
|
"trouble/sspProblemmodify/export",
|
||||||
}, `sspProblemmodify_${new Date().getTime()}.xlsx`)
|
{
|
||||||
}
|
...this.queryParams,
|
||||||
}
|
},
|
||||||
|
`sspProblemmodify_${new Date().getTime()}.xlsx`
|
||||||
|
);
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1,6 +1,13 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form
|
||||||
|
:model="queryParams"
|
||||||
|
ref="queryForm"
|
||||||
|
size="small"
|
||||||
|
:inline="true"
|
||||||
|
v-show="showSearch"
|
||||||
|
label-width="68px"
|
||||||
|
>
|
||||||
<el-form-item label="项目名称" prop="problemArea">
|
<el-form-item label="项目名称" prop="problemArea">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.problemArea"
|
v-model="queryParams.problemArea"
|
||||||
|
@ -46,18 +53,28 @@
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
></el-date-picker>
|
></el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="责任主体" prop="projectDeptId" v-hasPermi="['project:project:zgs']">
|
<el-form-item
|
||||||
<el-select v-model="queryParams.projectDeptId" placeholder="请选择责任主体" clearable>
|
label="责任主体"
|
||||||
<el-option
|
prop="projectDeptId"
|
||||||
v-for="dict in depts"
|
v-hasPermi="['project:project:zgs']"
|
||||||
:key="dict.deptId"
|
>
|
||||||
:label="dict.deptName"
|
<el-select
|
||||||
:value="dict.deptId"
|
v-model="queryParams.projectDeptId"
|
||||||
></el-option>
|
placeholder="请选择责任主体"
|
||||||
</el-select>
|
clearable
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in depts"
|
||||||
|
:key="dict.deptId"
|
||||||
|
:label="dict.deptName"
|
||||||
|
:value="dict.deptId"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"
|
||||||
|
>搜索</el-button
|
||||||
|
>
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
@ -112,99 +129,150 @@
|
||||||
<el-tab-pane label="全部数据" name="all"></el-tab-pane>
|
<el-tab-pane label="全部数据" name="all"></el-tab-pane>
|
||||||
<el-tab-pane label="待整改" name="dzg"></el-tab-pane>
|
<el-tab-pane label="待整改" name="dzg"></el-tab-pane>
|
||||||
<el-tab-pane label="待复检" name="dqr"></el-tab-pane>
|
<el-tab-pane label="待复检" name="dqr"></el-tab-pane>
|
||||||
<el-tab-pane label="已处理" name="ycl"></el-tab-pane>
|
<el-tab-pane label="整改完成" name="ycl"></el-tab-pane>
|
||||||
<el-tab-pane label="整改超时" name="zgcs"></el-tab-pane>
|
<el-tab-pane label="整改超时" name="zgcs"></el-tab-pane>
|
||||||
<el-table v-loading="loading" :data="sspProblemmodifyList" @selection-change="handleSelectionChange">
|
<el-table
|
||||||
<el-table-column type="selection" width="40" align="center" v-if="false"/>
|
v-loading="loading"
|
||||||
<el-table-column label="项目名称" align="center" prop="problemArea" width="200" fixed="left" show-overflow-tooltip/>
|
:data="sspProblemmodifyList"
|
||||||
<el-table-column label="隐患图片" align="center" property="path" width="220">
|
@selection-change="handleSelectionChange"
|
||||||
<template slot-scope="scope">
|
>
|
||||||
<el-image ref="preview"
|
<el-table-column type="selection" width="40" align="center" v-if="false" />
|
||||||
style="width: 200px; height: 100px"
|
<el-table-column
|
||||||
:src="scope.row.marksPicture"
|
label="项目名称"
|
||||||
@click="onPreview(scope.row.smarkUrl)"
|
align="center"
|
||||||
|
prop="problemArea"
|
||||||
|
width="200"
|
||||||
|
fixed="left"
|
||||||
|
show-overflow-tooltip
|
||||||
|
/>
|
||||||
|
<el-table-column label="隐患图片" align="center" property="path" width="220">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-image
|
||||||
|
ref="preview"
|
||||||
|
style="width: 200px; height: 100px"
|
||||||
|
:src="scope.row.marksPicture"
|
||||||
|
@click="onPreview(scope.row.smarkUrl)"
|
||||||
>
|
>
|
||||||
</el-image>
|
</el-image>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="隐患类型" align="center" prop="dangerType">
|
<el-table-column label="隐患类型" align="center" prop="dangerType">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<dict-tag :options="dict.type.ssp_zlyhlx" :value="scope.row.dangerType"/>
|
<dict-tag :options="dict.type.ssp_zlyhlx" :value="scope.row.dangerType" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="隐患描述" align="center" prop="workParts" width="100" show-overflow-tooltip/>
|
<el-table-column
|
||||||
<el-table-column label="整改要求" align="center" prop="changeInfo" width="200" show-overflow-tooltip/>
|
label="隐患描述"
|
||||||
<el-table-column label="整改截至时间" align="center" prop="nickedTime" width="135">
|
align="center"
|
||||||
<template slot-scope="scope">
|
prop="workParts"
|
||||||
<span>{{ parseTime(scope.row.nickedTime, '{y}-{m}-{d} {h}:{s}') }}</span>
|
width="100"
|
||||||
</template>
|
show-overflow-tooltip
|
||||||
</el-table-column>
|
/>
|
||||||
<el-table-column label="隐患整改人" align="left" width="120" show-overflow-tooltip>
|
<el-table-column
|
||||||
<template slot-scope="scope">
|
label="整改要求"
|
||||||
<div>{{scope.row.lordSent}}</div>
|
align="center"
|
||||||
<div>{{scope.row.lordSentUser}}</div>
|
prop="changeInfo"
|
||||||
</template>
|
width="200"
|
||||||
</el-table-column>
|
show-overflow-tooltip
|
||||||
<el-table-column label="流程状态" align="center" prop="checkState">
|
/>
|
||||||
<template slot-scope="scope">
|
<el-table-column
|
||||||
<dict-tag :options="dict.type.smz_ssp_checkstate" :value="scope.row.checkState"/>
|
label="整改截至时间"
|
||||||
</template>
|
align="center"
|
||||||
</el-table-column>
|
prop="nickedTime"
|
||||||
<el-table-column label="复检人" align="left" width="120" show-overflow-tooltip>
|
width="135"
|
||||||
<template slot-scope="scope">
|
>
|
||||||
<div>{{scope.row.recheckSend}}</div>
|
<template slot-scope="scope">
|
||||||
<div>{{scope.row.recheckSendUser}}</div>
|
<span>{{ parseTime(scope.row.nickedTime, "{y}-{m}-{d} {h}:{s}") }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="抄送人" align="left" prop="copySend" width="120" show-overflow-tooltip>
|
<el-table-column
|
||||||
<template slot-scope="scope">
|
label="隐患整改人"
|
||||||
<div>{{scope.row.copySend}}</div>
|
align="left"
|
||||||
<div>{{scope.row.copySendUser}}</div>
|
width="120"
|
||||||
</template>
|
show-overflow-tooltip
|
||||||
</el-table-column>
|
>
|
||||||
<el-table-column label="提交用户" align="center" prop="createUser" width="100"/>
|
<template slot-scope="scope">
|
||||||
<el-table-column label="提交时间" align="center" prop="createTime" width="135">
|
<div>{{ scope.row.lordSent }}</div>
|
||||||
<template slot-scope="scope">
|
<div>{{ scope.row.lordSentUser }}</div>
|
||||||
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{s}') }}</span>
|
</template>
|
||||||
</template>
|
</el-table-column>
|
||||||
</el-table-column>
|
<el-table-column label="流程状态" align="center" prop="checkState">
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="100">
|
<template slot-scope="scope">
|
||||||
<template slot-scope="scope">
|
<dict-tag
|
||||||
<!-- <el-button v-if="scope.row.marksVideo != null && scope.row.marksVideo != ''"
|
:options="dict.type.smz_ssp_checkstate"
|
||||||
|
:value="scope.row.checkState"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="复检人" align="left" width="120" show-overflow-tooltip>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div>{{ scope.row.recheckSend }}</div>
|
||||||
|
<div>{{ scope.row.recheckSendUser }}</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="抄送人"
|
||||||
|
align="left"
|
||||||
|
prop="copySend"
|
||||||
|
width="120"
|
||||||
|
show-overflow-tooltip
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div>{{ scope.row.copySend }}</div>
|
||||||
|
<div>{{ scope.row.copySendUser }}</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="提交用户" align="center" prop="createUser" width="100" />
|
||||||
|
<el-table-column label="提交时间" align="center" prop="createTime" width="135">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{s}") }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="操作"
|
||||||
|
align="center"
|
||||||
|
class-name="small-padding fixed-width"
|
||||||
|
fixed="right"
|
||||||
|
width="100"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<!-- <el-button v-if="scope.row.marksVideo != null && scope.row.marksVideo != ''"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-video-play"
|
icon="el-icon-video-play"
|
||||||
@click="handlePlay(scope.row)"
|
@click="handlePlay(scope.row)"
|
||||||
v-hasPermi="['trouble:sspMarks:query']"
|
v-hasPermi="['trouble:sspMarks:query']"
|
||||||
>视频</el-button> -->
|
>视频</el-button> -->
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-notebook-2"
|
icon="el-icon-notebook-2"
|
||||||
@click="handleLog(scope.row)"
|
@click="handleLog(scope.row)"
|
||||||
v-hasPermi="['trouble:sspProblemmodify:query']"
|
v-hasPermi="['trouble:sspProblemmodify:query']"
|
||||||
>整改日志</el-button>
|
>整改日志</el-button
|
||||||
<el-button v-if="scope.row.vDel=='0'"
|
>
|
||||||
size="mini"
|
<el-button
|
||||||
type="text"
|
v-if="scope.row.vDel == '0'"
|
||||||
icon="el-icon-delete"
|
size="mini"
|
||||||
@click="handleDelete(scope.row)"
|
type="text"
|
||||||
v-hasPermi="['work:sspProblemmodify:remove']"
|
icon="el-icon-delete"
|
||||||
>删除</el-button>
|
@click="handleDelete(scope.row)"
|
||||||
</template>
|
v-hasPermi="['work:sspProblemmodify:remove']"
|
||||||
</el-table-column>
|
>删除</el-button
|
||||||
</el-table>
|
>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
<pagination
|
<pagination
|
||||||
v-show="total>0"
|
v-show="total > 0"
|
||||||
:total="total"
|
:total="total"
|
||||||
:page.sync="queryParams.pageNum"
|
:page.sync="queryParams.pageNum"
|
||||||
:limit.sync="queryParams.pageSize"
|
:limit.sync="queryParams.pageSize"
|
||||||
@pagination="getList"
|
@pagination="getList"
|
||||||
/>
|
/>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
||||||
|
|
||||||
<!-- 添加或修改质量整改对话框 -->
|
<!-- 添加或修改质量整改对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
|
@ -239,11 +307,13 @@
|
||||||
<el-input v-model="form.nickedArea" placeholder="请输入留痕定位" />
|
<el-input v-model="form.nickedArea" placeholder="请输入留痕定位" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="留痕时间" prop="nickedTime">
|
<el-form-item label="留痕时间" prop="nickedTime">
|
||||||
<el-date-picker clearable
|
<el-date-picker
|
||||||
|
clearable
|
||||||
v-model="form.nickedTime"
|
v-model="form.nickedTime"
|
||||||
type="date"
|
type="date"
|
||||||
value-format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd"
|
||||||
placeholder="请选择留痕时间">
|
placeholder="请选择留痕时间"
|
||||||
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="工序名称" prop="processName">
|
<el-form-item label="工序名称" prop="processName">
|
||||||
|
@ -281,9 +351,23 @@
|
||||||
<sspProblemmodifyAuditinfoDrawer
|
<sspProblemmodifyAuditinfoDrawer
|
||||||
size="40%"
|
size="40%"
|
||||||
:visible.sync="sspProblemmodifyAuditinfoDrawerVisible"
|
:visible.sync="sspProblemmodifyAuditinfoDrawerVisible"
|
||||||
:form-data="formData"/>
|
:form-data="formData"
|
||||||
<el-dialog title="视频播放" :visible.sync="openVideo" width="980px" :before-close="cancelVideo" append-to-body>
|
/>
|
||||||
<video ref="video" :src="videoSrc" controls="controls" autoplay="autoplay" poster="../../../assets/images/video_loading.gif" style="max-height: 550px;"/>
|
<el-dialog
|
||||||
|
title="视频播放"
|
||||||
|
:visible.sync="openVideo"
|
||||||
|
width="980px"
|
||||||
|
:before-close="cancelVideo"
|
||||||
|
append-to-body
|
||||||
|
>
|
||||||
|
<video
|
||||||
|
ref="video"
|
||||||
|
:src="videoSrc"
|
||||||
|
controls="controls"
|
||||||
|
autoplay="autoplay"
|
||||||
|
poster="../../../assets/images/video_loading.gif"
|
||||||
|
style="max-height: 550px"
|
||||||
|
/>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button @click="cancelVideo">关 闭</el-button>
|
<el-button @click="cancelVideo">关 闭</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -292,16 +376,23 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listSspProblemmodify, getSspProblemmodify, delSspProblemmodify, addSspProblemmodify, updateSspProblemmodify } from "@/api/trouble/sspProblemmodify";
|
import {
|
||||||
import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
|
listSspProblemmodify,
|
||||||
import sspProblemmodifyAuditinfoDrawer from './sspProblemmodifyAuditinfoDrawer.vue'
|
getSspProblemmodify,
|
||||||
|
delSspProblemmodify,
|
||||||
|
addSspProblemmodify,
|
||||||
|
updateSspProblemmodify,
|
||||||
|
} from "@/api/trouble/sspProblemmodify";
|
||||||
|
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
|
||||||
|
import sspProblemmodifyAuditinfoDrawer from "./sspProblemmodifyAuditinfoDrawer.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "SspProblemmodify",
|
name: "SspProblemmodify",
|
||||||
components:{
|
components: {
|
||||||
sspProblemmodifyAuditinfoDrawer,ElImageViewer
|
sspProblemmodifyAuditinfoDrawer,
|
||||||
|
ElImageViewer,
|
||||||
},
|
},
|
||||||
dicts: ['ssp_zlyhlx','sys_common_isdel','smz_ssp_checkstate'],
|
dicts: ["ssp_zlyhlx", "sys_common_isdel", "smz_ssp_checkstate"],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
showViewer: false,
|
showViewer: false,
|
||||||
|
@ -323,7 +414,7 @@ export default {
|
||||||
title: "",
|
title: "",
|
||||||
// 是否显示弹出层
|
// 是否显示弹出层
|
||||||
open: false,
|
open: false,
|
||||||
openVideo:false,
|
openVideo: false,
|
||||||
videoSrc: null,
|
videoSrc: null,
|
||||||
// 更新时间时间范围
|
// 更新时间时间范围
|
||||||
daterangeMarksTime: [],
|
daterangeMarksTime: [],
|
||||||
|
@ -356,49 +447,48 @@ export default {
|
||||||
createTime: null,
|
createTime: null,
|
||||||
updateUser: null,
|
updateUser: null,
|
||||||
updateTime: null,
|
updateTime: null,
|
||||||
projectDeptId: null
|
projectDeptId: null,
|
||||||
},
|
},
|
||||||
depts: null,
|
depts: null,
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {
|
rules: {},
|
||||||
},
|
|
||||||
srcList: [],
|
srcList: [],
|
||||||
activeName: 'dzg',
|
activeName: "dzg",
|
||||||
sspProblemmodifyAuditinfoDrawerVisible: false,
|
sspProblemmodifyAuditinfoDrawerVisible: false,
|
||||||
formData: {
|
formData: {
|
||||||
problemmodifyId:null
|
problemmodifyId: null,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getList();
|
this.getList();
|
||||||
this.$api.publics.getZgsDeptList().then(d=>{
|
this.$api.publics.getZgsDeptList().then((d) => {
|
||||||
this.depts=d?.data||[];
|
this.depts = d?.data || [];
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onPreview(urls) {
|
onPreview(urls) {
|
||||||
var arrayurls = urls.split(",");
|
var arrayurls = urls.split(",");
|
||||||
this.srcList=[];
|
this.srcList = [];
|
||||||
arrayurls.forEach((v, i) => {
|
arrayurls.forEach((v, i) => {
|
||||||
this.srcList.push(v);
|
this.srcList.push(v);
|
||||||
});
|
});
|
||||||
this.showViewer = true
|
this.showViewer = true;
|
||||||
},
|
},
|
||||||
closeViewer() {
|
closeViewer() {
|
||||||
this.showViewer = false
|
this.showViewer = false;
|
||||||
},
|
},
|
||||||
/** 查询质量整改列表 */
|
/** 查询质量整改列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
this.queryParams.params = {};
|
this.queryParams.params = {};
|
||||||
if (null != this.daterangeMarksTime && '' != this.daterangeMarksTime) {
|
if (null != this.daterangeMarksTime && "" != this.daterangeMarksTime) {
|
||||||
this.queryParams.params["beginMarksTime"] = this.daterangeMarksTime[0];
|
this.queryParams.params["beginMarksTime"] = this.daterangeMarksTime[0];
|
||||||
this.queryParams.params["endMarksTime"] = this.daterangeMarksTime[1];
|
this.queryParams.params["endMarksTime"] = this.daterangeMarksTime[1];
|
||||||
}
|
}
|
||||||
listSspProblemmodify(this.queryParams).then(response => {
|
listSspProblemmodify(this.queryParams).then((response) => {
|
||||||
this.sspProblemmodifyList = response.rows;
|
this.sspProblemmodifyList = response.rows;
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
@ -411,7 +501,7 @@ export default {
|
||||||
},
|
},
|
||||||
// 取消按钮
|
// 取消按钮
|
||||||
cancelVideo() {
|
cancelVideo() {
|
||||||
this.videoSrc=null;
|
this.videoSrc = null;
|
||||||
this.$refs.video.pause();
|
this.$refs.video.pause();
|
||||||
this.openVideo = false;
|
this.openVideo = false;
|
||||||
},
|
},
|
||||||
|
@ -441,7 +531,7 @@ export default {
|
||||||
createUser: null,
|
createUser: null,
|
||||||
createTime: null,
|
createTime: null,
|
||||||
updateUser: null,
|
updateUser: null,
|
||||||
updateTime: null
|
updateTime: null,
|
||||||
};
|
};
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
},
|
},
|
||||||
|
@ -458,9 +548,9 @@ export default {
|
||||||
},
|
},
|
||||||
// 多选框选中数据
|
// 多选框选中数据
|
||||||
handleSelectionChange(selection) {
|
handleSelectionChange(selection) {
|
||||||
this.ids = selection.map(item => item.id)
|
this.ids = selection.map((item) => item.id);
|
||||||
this.single = selection.length!==1
|
this.single = selection.length !== 1;
|
||||||
this.multiple = !selection.length
|
this.multiple = !selection.length;
|
||||||
},
|
},
|
||||||
/** 新增按钮操作 */
|
/** 新增按钮操作 */
|
||||||
handleAdd() {
|
handleAdd() {
|
||||||
|
@ -471,8 +561,8 @@ export default {
|
||||||
/** 修改按钮操作 */
|
/** 修改按钮操作 */
|
||||||
handleUpdate(row) {
|
handleUpdate(row) {
|
||||||
this.reset();
|
this.reset();
|
||||||
const id = row.id || this.ids
|
const id = row.id || this.ids;
|
||||||
getSspProblemmodify(id).then(response => {
|
getSspProblemmodify(id).then((response) => {
|
||||||
this.form = response.data;
|
this.form = response.data;
|
||||||
this.open = true;
|
this.open = true;
|
||||||
this.title = "修改质量整改";
|
this.title = "修改质量整改";
|
||||||
|
@ -480,16 +570,16 @@ export default {
|
||||||
},
|
},
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id != null) {
|
||||||
updateSspProblemmodify(this.form).then(response => {
|
updateSspProblemmodify(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
this.getList();
|
this.getList();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
addSspProblemmodify(this.form).then(response => {
|
addSspProblemmodify(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("新增成功");
|
this.$modal.msgSuccess("新增成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
this.getList();
|
this.getList();
|
||||||
|
@ -499,30 +589,38 @@ export default {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 页签点击
|
// 页签点击
|
||||||
handleClick(){
|
handleClick() {
|
||||||
this.queryParams.activeName = this.activeName;
|
this.queryParams.activeName = this.activeName;
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
/** 删除按钮操作 */
|
/** 删除按钮操作 */
|
||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
const ids = row.id || this.ids;
|
const ids = row.id || this.ids;
|
||||||
this.$modal.confirm('是否确认删除质量整改编号为"' + ids + '"的数据项?').then(function() {
|
this.$modal
|
||||||
return delSspProblemmodify(ids);
|
.confirm('是否确认删除质量整改编号为"' + ids + '"的数据项?')
|
||||||
}).then(() => {
|
.then(function () {
|
||||||
this.getList();
|
return delSspProblemmodify(ids);
|
||||||
this.$modal.msgSuccess("删除成功");
|
})
|
||||||
}).catch(() => {});
|
.then(() => {
|
||||||
|
this.getList();
|
||||||
|
this.$modal.msgSuccess("删除成功");
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
},
|
},
|
||||||
handleLog(row){
|
handleLog(row) {
|
||||||
this.formData.problemmodifyId = row.id;
|
this.formData.problemmodifyId = row.id;
|
||||||
this.sspProblemmodifyAuditinfoDrawerVisible = true;
|
this.sspProblemmodifyAuditinfoDrawerVisible = true;
|
||||||
},
|
},
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
handleExport() {
|
handleExport() {
|
||||||
this.download('trouble/sspProblemmodify/export', {
|
this.download(
|
||||||
...this.queryParams
|
"trouble/sspProblemmodify/export",
|
||||||
}, `sspProblemmodify_${new Date().getTime()}.xlsx`)
|
{
|
||||||
}
|
...this.queryParams,
|
||||||
}
|
},
|
||||||
|
`sspProblemmodify_${new Date().getTime()}.xlsx`
|
||||||
|
);
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -0,0 +1,150 @@
|
||||||
|
package com.yanzhu.jh.project.controller;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.text.Convert;
|
||||||
|
import com.ruoyi.common.enums.SysRoleEnum;
|
||||||
|
import com.ruoyi.system.service.ISysDeptService;
|
||||||
|
import com.yanzhu.jh.project.domain.SurProjectUnitInfo;
|
||||||
|
import com.yanzhu.jh.project.service.ISurProjectUnitInfoService;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PutMapping;
|
||||||
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
import com.ruoyi.common.annotation.Log;
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
|
import com.yanzhu.jh.project.domain.SurProjectDeptWroks;
|
||||||
|
import com.yanzhu.jh.project.service.ISurProjectDeptWroksService;
|
||||||
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目部门在册人员Controller
|
||||||
|
*
|
||||||
|
* @author JiangYuQi
|
||||||
|
* @date 2023-08-15
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/project/projectDeptWroks")
|
||||||
|
public class SurProjectDeptWroksController extends BaseController
|
||||||
|
{
|
||||||
|
@Autowired
|
||||||
|
private ISurProjectDeptWroksService surProjectDeptWroksService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISurProjectUnitInfoService surProjectUnitInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISysDeptService sysDeptService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询项目部门在册人员列表
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('project:projectDeptWroks:list')")
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo list(SurProjectDeptWroks surProjectDeptWroks)
|
||||||
|
{
|
||||||
|
surProjectDeptWroks.setNowRole(Convert.toStr(getUserFirstRole()));
|
||||||
|
if(SysRoleEnum.ZGS.getCode().equals(surProjectDeptWroks.getNowRole())){
|
||||||
|
surProjectDeptWroks.setNowDept(Convert.toStr(sysDeptService.getZGSDeptId(getDeptId())));
|
||||||
|
}else{
|
||||||
|
surProjectDeptWroks.setNowDept(Convert.toStr(getDeptId()));
|
||||||
|
}
|
||||||
|
surProjectDeptWroks.setNowUser(Convert.toStr(getUserId()));
|
||||||
|
List<SurProjectDeptWroks> list = surProjectDeptWroksService.selectSurProjectDeptWroksList(surProjectDeptWroks);
|
||||||
|
return getDataTable(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询项目部门在册人员列表
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('project:projectDeptWroks:list')")
|
||||||
|
@GetMapping("/list2")
|
||||||
|
public TableDataInfo list2(SurProjectDeptWroks surProjectDeptWroks)
|
||||||
|
{
|
||||||
|
surProjectDeptWroks.setNowRole(Convert.toStr(getUserFirstRole()));
|
||||||
|
if(SysRoleEnum.ZGS.getCode().equals(surProjectDeptWroks.getNowRole())){
|
||||||
|
surProjectDeptWroks.setNowDept(Convert.toStr(sysDeptService.getZGSDeptId(getDeptId())));
|
||||||
|
}else{
|
||||||
|
surProjectDeptWroks.setNowDept(Convert.toStr(getDeptId()));
|
||||||
|
}
|
||||||
|
surProjectDeptWroks.setNowUser(Convert.toStr(getUserId()));
|
||||||
|
List<SurProjectDeptWroks> list = surProjectDeptWroksService.selectSurProjectDeptWroksListv2(surProjectDeptWroks);
|
||||||
|
return getDataTable(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询项目部门在册人员列表
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('project:projectDeptWroks:list')")
|
||||||
|
@GetMapping("/unitList")
|
||||||
|
public TableDataInfo unitList(SurProjectUnitInfo surProjectUnitInfo)
|
||||||
|
{
|
||||||
|
return getDataTable(surProjectUnitInfoService.selectSurProjectUnitInfoList(surProjectUnitInfo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出项目部门在册人员列表
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('project:projectDeptWroks:export')")
|
||||||
|
@Log(title = "项目部门在册人员", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(HttpServletResponse response, SurProjectDeptWroks surProjectDeptWroks)
|
||||||
|
{
|
||||||
|
List<SurProjectDeptWroks> list = surProjectDeptWroksService.selectSurProjectDeptWroksList(surProjectDeptWroks);
|
||||||
|
ExcelUtil<SurProjectDeptWroks> util = new ExcelUtil<SurProjectDeptWroks>(SurProjectDeptWroks.class);
|
||||||
|
util.exportExcel(response, list, "项目部门在册人员数据");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取项目部门在册人员详细信息
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('project:projectDeptWroks:query')")
|
||||||
|
@GetMapping(value = "/{id}")
|
||||||
|
public AjaxResult getInfo(@PathVariable("id") Long id)
|
||||||
|
{
|
||||||
|
return success(surProjectDeptWroksService.selectSurProjectDeptWroksById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增项目部门在册人员
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('project:projectDeptWroks:add')")
|
||||||
|
@Log(title = "项目部门在册人员", businessType = BusinessType.INSERT)
|
||||||
|
@PostMapping
|
||||||
|
public AjaxResult add(@RequestBody SurProjectDeptWroks surProjectDeptWroks)
|
||||||
|
{
|
||||||
|
return toAjax(surProjectDeptWroksService.insertSurProjectDeptWroks(surProjectDeptWroks));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改项目部门在册人员
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('project:projectDeptWroks:edit')")
|
||||||
|
@Log(title = "项目部门在册人员", businessType = BusinessType.UPDATE)
|
||||||
|
@PutMapping
|
||||||
|
public AjaxResult edit(@RequestBody SurProjectDeptWroks surProjectDeptWroks)
|
||||||
|
{
|
||||||
|
return toAjax(surProjectDeptWroksService.updateSurProjectDeptWroks(surProjectDeptWroks));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除项目部门在册人员
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('project:projectDeptWroks:remove')")
|
||||||
|
@Log(title = "项目部门在册人员", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{ids}")
|
||||||
|
public AjaxResult remove(@PathVariable Long[] ids)
|
||||||
|
{
|
||||||
|
return toAjax(surProjectDeptWroksService.deleteSurProjectDeptWroksByIds(ids));
|
||||||
|
}
|
||||||
|
}
|
|
@ -101,8 +101,8 @@ public class SurProject extends BaseEntity
|
||||||
@Excel(name = "建筑面积")
|
@Excel(name = "建筑面积")
|
||||||
private String floorArea;
|
private String floorArea;
|
||||||
|
|
||||||
/** 总产值 */
|
/** 开累产值 */
|
||||||
@Excel(name = "总产值")
|
@Excel(name = "开累产值")
|
||||||
private String totalOutputValue;
|
private String totalOutputValue;
|
||||||
|
|
||||||
/** 计划完成时间 */
|
/** 计划完成时间 */
|
||||||
|
|
|
@ -0,0 +1,124 @@
|
||||||
|
package com.yanzhu.jh.project.domain;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目部门在册人员对象 sur_project_dept_wroks
|
||||||
|
*
|
||||||
|
* @author JiangYuQi
|
||||||
|
* @date 2023-08-15
|
||||||
|
*/
|
||||||
|
public class SurProjectDeptWroks extends BaseEntity
|
||||||
|
{
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** 主键 */
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/** 项目主键 */
|
||||||
|
@Excel(name = "项目主键")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/** 部门主键 */
|
||||||
|
@Excel(name = "部门主键")
|
||||||
|
private Long deptId;
|
||||||
|
|
||||||
|
/** 部门名称 */
|
||||||
|
@Excel(name = "部门名称")
|
||||||
|
private String deptName;
|
||||||
|
|
||||||
|
/** 劳务人员 */
|
||||||
|
@Excel(name = "劳务人员")
|
||||||
|
private Long servicePersonnel;
|
||||||
|
|
||||||
|
/** 管理人员 */
|
||||||
|
@Excel(name = "管理人员")
|
||||||
|
private Long supervisorPersonnel;
|
||||||
|
|
||||||
|
/** 总包人员 */
|
||||||
|
@Excel(name = "总包人员")
|
||||||
|
private Long contractorPersonnel;
|
||||||
|
|
||||||
|
public void setId(Long id)
|
||||||
|
{
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getId()
|
||||||
|
{
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
public void setProjectId(Long projectId)
|
||||||
|
{
|
||||||
|
this.projectId = projectId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getProjectId()
|
||||||
|
{
|
||||||
|
return projectId;
|
||||||
|
}
|
||||||
|
public void setDeptId(Long deptId)
|
||||||
|
{
|
||||||
|
this.deptId = deptId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getDeptId()
|
||||||
|
{
|
||||||
|
return deptId;
|
||||||
|
}
|
||||||
|
public void setServicePersonnel(Long servicePersonnel)
|
||||||
|
{
|
||||||
|
this.servicePersonnel = servicePersonnel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getServicePersonnel()
|
||||||
|
{
|
||||||
|
return servicePersonnel;
|
||||||
|
}
|
||||||
|
public void setSupervisorPersonnel(Long supervisorPersonnel)
|
||||||
|
{
|
||||||
|
this.supervisorPersonnel = supervisorPersonnel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getSupervisorPersonnel()
|
||||||
|
{
|
||||||
|
return supervisorPersonnel;
|
||||||
|
}
|
||||||
|
public void setContractorPersonnel(Long contractorPersonnel)
|
||||||
|
{
|
||||||
|
this.contractorPersonnel = contractorPersonnel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getContractorPersonnel()
|
||||||
|
{
|
||||||
|
return contractorPersonnel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDeptName() {
|
||||||
|
return deptName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDeptName(String deptName) {
|
||||||
|
this.deptName = deptName;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||||
|
.append("id", getId())
|
||||||
|
.append("projectId", getProjectId())
|
||||||
|
.append("deptId", getDeptId())
|
||||||
|
.append("servicePersonnel", getServicePersonnel())
|
||||||
|
.append("supervisorPersonnel", getSupervisorPersonnel())
|
||||||
|
.append("contractorPersonnel", getContractorPersonnel())
|
||||||
|
.append("createBy", getCreateBy())
|
||||||
|
.append("createTime", getCreateTime())
|
||||||
|
.append("updateBy", getUpdateBy())
|
||||||
|
.append("updateTime", getUpdateTime())
|
||||||
|
.append("remark", getRemark())
|
||||||
|
.toString();
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,77 @@
|
||||||
|
package com.yanzhu.jh.project.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import com.yanzhu.jh.project.domain.SurProjectDeptWroks;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目部门在册人员Mapper接口
|
||||||
|
*
|
||||||
|
* @author JiangYuQi
|
||||||
|
* @date 2023-08-15
|
||||||
|
*/
|
||||||
|
public interface SurProjectDeptWroksMapper
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询项目部门在册人员
|
||||||
|
*
|
||||||
|
* @param id 项目部门在册人员主键
|
||||||
|
* @return 项目部门在册人员
|
||||||
|
*/
|
||||||
|
public SurProjectDeptWroks selectSurProjectDeptWroksById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询项目部门在册人员列表
|
||||||
|
*
|
||||||
|
* @param surProjectDeptWroks 项目部门在册人员
|
||||||
|
* @return 项目部门在册人员集合
|
||||||
|
*/
|
||||||
|
public List<SurProjectDeptWroks> selectSurProjectDeptWroksList(SurProjectDeptWroks surProjectDeptWroks);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询项目部门在册人员列表
|
||||||
|
*
|
||||||
|
* @param surProjectDeptWroks 项目部门在册人员
|
||||||
|
* @return 项目部门在册人员集合
|
||||||
|
*/
|
||||||
|
public List<SurProjectDeptWroks> selectSurProjectDeptWroksListv2(SurProjectDeptWroks surProjectDeptWroks);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增项目部门在册人员
|
||||||
|
*
|
||||||
|
* @param surProjectDeptWroks 项目部门在册人员
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int insertSurProjectDeptWroks(SurProjectDeptWroks surProjectDeptWroks);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改项目部门在册人员
|
||||||
|
*
|
||||||
|
* @param surProjectDeptWroks 项目部门在册人员
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int updateSurProjectDeptWroks(SurProjectDeptWroks surProjectDeptWroks);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改项目部门在册人员
|
||||||
|
*
|
||||||
|
* @param surProjectDeptWroks 项目部门在册人员
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int updateProjectDeptWorksById(SurProjectDeptWroks surProjectDeptWroks);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除项目部门在册人员
|
||||||
|
*
|
||||||
|
* @param id 项目部门在册人员主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteSurProjectDeptWroksById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除项目部门在册人员
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的数据主键集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteSurProjectDeptWroksByIds(Long[] ids);
|
||||||
|
}
|
|
@ -0,0 +1,69 @@
|
||||||
|
package com.yanzhu.jh.project.service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import com.yanzhu.jh.project.domain.SurProjectDeptWroks;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目部门在册人员Service接口
|
||||||
|
*
|
||||||
|
* @author JiangYuQi
|
||||||
|
* @date 2023-08-15
|
||||||
|
*/
|
||||||
|
public interface ISurProjectDeptWroksService
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询项目部门在册人员
|
||||||
|
*
|
||||||
|
* @param id 项目部门在册人员主键
|
||||||
|
* @return 项目部门在册人员
|
||||||
|
*/
|
||||||
|
public SurProjectDeptWroks selectSurProjectDeptWroksById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询项目部门在册人员列表
|
||||||
|
*
|
||||||
|
* @param surProjectDeptWroks 项目部门在册人员
|
||||||
|
* @return 项目部门在册人员集合
|
||||||
|
*/
|
||||||
|
public List<SurProjectDeptWroks> selectSurProjectDeptWroksList(SurProjectDeptWroks surProjectDeptWroks);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询项目部门在册人员列表
|
||||||
|
*
|
||||||
|
* @param surProjectDeptWroks 项目部门在册人员
|
||||||
|
* @return 项目部门在册人员集合
|
||||||
|
*/
|
||||||
|
public List<SurProjectDeptWroks> selectSurProjectDeptWroksListv2(SurProjectDeptWroks surProjectDeptWroks);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增项目部门在册人员
|
||||||
|
*
|
||||||
|
* @param surProjectDeptWroks 项目部门在册人员
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int insertSurProjectDeptWroks(SurProjectDeptWroks surProjectDeptWroks);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改项目部门在册人员
|
||||||
|
*
|
||||||
|
* @param surProjectDeptWroks 项目部门在册人员
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int updateSurProjectDeptWroks(SurProjectDeptWroks surProjectDeptWroks);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除项目部门在册人员
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的项目部门在册人员主键集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteSurProjectDeptWroksByIds(Long[] ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除项目部门在册人员信息
|
||||||
|
*
|
||||||
|
* @param id 项目部门在册人员主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteSurProjectDeptWroksById(Long id);
|
||||||
|
}
|
|
@ -0,0 +1,118 @@
|
||||||
|
package com.yanzhu.jh.project.service.impl;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import com.yanzhu.jh.project.mapper.SurProjectDeptWroksMapper;
|
||||||
|
import com.yanzhu.jh.project.domain.SurProjectDeptWroks;
|
||||||
|
import com.yanzhu.jh.project.service.ISurProjectDeptWroksService;
|
||||||
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
/**
|
||||||
|
* 项目部门在册人员Service业务层处理
|
||||||
|
*
|
||||||
|
* @author JiangYuQi
|
||||||
|
* @date 2023-08-15
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class SurProjectDeptWroksServiceImpl implements ISurProjectDeptWroksService
|
||||||
|
{
|
||||||
|
@Autowired
|
||||||
|
private SurProjectDeptWroksMapper surProjectDeptWroksMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询项目部门在册人员
|
||||||
|
*
|
||||||
|
* @param id 项目部门在册人员主键
|
||||||
|
* @return 项目部门在册人员
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public SurProjectDeptWroks selectSurProjectDeptWroksById(Long id)
|
||||||
|
{
|
||||||
|
return surProjectDeptWroksMapper.selectSurProjectDeptWroksById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询项目部门在册人员列表
|
||||||
|
*
|
||||||
|
* @param surProjectDeptWroks 项目部门在册人员
|
||||||
|
* @return 项目部门在册人员
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<SurProjectDeptWroks> selectSurProjectDeptWroksList(SurProjectDeptWroks surProjectDeptWroks)
|
||||||
|
{
|
||||||
|
return surProjectDeptWroksMapper.selectSurProjectDeptWroksList(surProjectDeptWroks);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询项目部门在册人员列表
|
||||||
|
*
|
||||||
|
* @param surProjectDeptWroks 项目部门在册人员
|
||||||
|
* @return 项目部门在册人员集合
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<SurProjectDeptWroks> selectSurProjectDeptWroksListv2(SurProjectDeptWroks surProjectDeptWroks)
|
||||||
|
{
|
||||||
|
return surProjectDeptWroksMapper.selectSurProjectDeptWroksListv2(surProjectDeptWroks);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增项目部门在册人员
|
||||||
|
*
|
||||||
|
* @param surProjectDeptWroks 项目部门在册人员
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int insertSurProjectDeptWroks(SurProjectDeptWroks surProjectDeptWroks)
|
||||||
|
{
|
||||||
|
surProjectDeptWroks.setCreateBy(SecurityUtils.getUsername());
|
||||||
|
surProjectDeptWroks.setCreateTime(DateUtils.getNowDate());
|
||||||
|
return surProjectDeptWroksMapper.insertSurProjectDeptWroks(surProjectDeptWroks);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改项目部门在册人员
|
||||||
|
*
|
||||||
|
* @param surProjectDeptWroks 项目部门在册人员
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int updateSurProjectDeptWroks(SurProjectDeptWroks surProjectDeptWroks)
|
||||||
|
{
|
||||||
|
if(surProjectDeptWroks.getId()!=null){
|
||||||
|
surProjectDeptWroks.setUpdateBy(SecurityUtils.getUsername());
|
||||||
|
surProjectDeptWroks.setUpdateTime(DateUtils.getNowDate());
|
||||||
|
int res = surProjectDeptWroksMapper.updateProjectDeptWorksById(surProjectDeptWroks);
|
||||||
|
return surProjectDeptWroksMapper.updateSurProjectDeptWroks(surProjectDeptWroks);
|
||||||
|
}else{
|
||||||
|
surProjectDeptWroks.setCreateBy(SecurityUtils.getUsername());
|
||||||
|
surProjectDeptWroks.setCreateTime(DateUtils.getNowDate());
|
||||||
|
int res = surProjectDeptWroksMapper.updateProjectDeptWorksById(surProjectDeptWroks);
|
||||||
|
return surProjectDeptWroksMapper.insertSurProjectDeptWroks(surProjectDeptWroks);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除项目部门在册人员
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的项目部门在册人员主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteSurProjectDeptWroksByIds(Long[] ids)
|
||||||
|
{
|
||||||
|
return surProjectDeptWroksMapper.deleteSurProjectDeptWroksByIds(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除项目部门在册人员信息
|
||||||
|
*
|
||||||
|
* @param id 项目部门在册人员主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteSurProjectDeptWroksById(Long id)
|
||||||
|
{
|
||||||
|
return surProjectDeptWroksMapper.deleteSurProjectDeptWroksById(id);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,152 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.yanzhu.jh.project.mapper.SurProjectDeptWroksMapper">
|
||||||
|
|
||||||
|
<resultMap type="SurProjectDeptWroks" id="SurProjectDeptWroksResult">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
<result property="projectId" column="project_id" />
|
||||||
|
<result property="deptId" column="dept_id" />
|
||||||
|
<result property="deptName" column="dept_name" />
|
||||||
|
<result property="servicePersonnel" column="service_personnel" />
|
||||||
|
<result property="supervisorPersonnel" column="supervisor_personnel" />
|
||||||
|
<result property="contractorPersonnel" column="contractor_personnel" />
|
||||||
|
<result property="createBy" column="create_by" />
|
||||||
|
<result property="createTime" column="create_time" />
|
||||||
|
<result property="updateBy" column="update_by" />
|
||||||
|
<result property="updateTime" column="update_time" />
|
||||||
|
<result property="remark" column="remark" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<sql id="selectSurProjectDeptWroksVo">
|
||||||
|
select id, project_id, dept_id, service_personnel, supervisor_personnel, contractor_personnel, create_by, create_time, update_by, update_time, remark from sur_project_dept_wroks
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="selectSurProjectDeptWroksList" parameterType="SurProjectDeptWroks" resultMap="SurProjectDeptWroksResult">
|
||||||
|
<include refid="selectSurProjectDeptWroksVo"/>
|
||||||
|
<where>
|
||||||
|
<if test="projectId != null "> and project_id = #{projectId}</if>
|
||||||
|
<if test="deptId != null "> and dept_id = #{deptId}</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectSurProjectDeptWroksListv2" parameterType="SurProjectDeptWroks" resultMap="SurProjectDeptWroksResult">
|
||||||
|
SELECT
|
||||||
|
spdw.id,
|
||||||
|
sp.id AS project_id,
|
||||||
|
spui.unitId AS dept_id,
|
||||||
|
spui.unitName AS dept_name,
|
||||||
|
IFNULL(spdw.service_personnel, 0) AS service_personnel,
|
||||||
|
IFNULL(
|
||||||
|
spdw.supervisor_personnel,
|
||||||
|
0
|
||||||
|
) AS supervisor_personnel,
|
||||||
|
IFNULL(
|
||||||
|
spdw.contractor_personnel,
|
||||||
|
0
|
||||||
|
) AS contractor_personnel
|
||||||
|
FROM
|
||||||
|
sur_project sp
|
||||||
|
LEFT JOIN sur_project_unit_info spui ON spui.projectId = sp.id and spui.unitType = 2
|
||||||
|
LEFT JOIN sur_project_dept_wroks spdw ON spui.unitId = spdw.dept_id
|
||||||
|
AND spdw.project_id = sp.id
|
||||||
|
<where>
|
||||||
|
<if test="projectId != null "> and sp.id = #{projectId}</if>
|
||||||
|
<if test='nowRole == "6"'> and spui.unitId = #{nowDept}</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectSurProjectDeptWroksById" parameterType="Long" resultMap="SurProjectDeptWroksResult">
|
||||||
|
<include refid="selectSurProjectDeptWroksVo"/>
|
||||||
|
where id = #{id}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<insert id="insertSurProjectDeptWroks" parameterType="SurProjectDeptWroks" useGeneratedKeys="true" keyProperty="id">
|
||||||
|
insert into sur_project_dept_wroks
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="projectId != null">project_id,</if>
|
||||||
|
<if test="deptId != null">dept_id,</if>
|
||||||
|
<if test="servicePersonnel != null">service_personnel,</if>
|
||||||
|
<if test="supervisorPersonnel != null">supervisor_personnel,</if>
|
||||||
|
<if test="contractorPersonnel != null">contractor_personnel,</if>
|
||||||
|
<if test="createBy != null">create_by,</if>
|
||||||
|
<if test="createTime != null">create_time,</if>
|
||||||
|
<if test="updateBy != null">update_by,</if>
|
||||||
|
<if test="updateTime != null">update_time,</if>
|
||||||
|
<if test="remark != null">remark,</if>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="projectId != null">#{projectId},</if>
|
||||||
|
<if test="deptId != null">#{deptId},</if>
|
||||||
|
<if test="servicePersonnel != null">#{servicePersonnel},</if>
|
||||||
|
<if test="supervisorPersonnel != null">#{supervisorPersonnel},</if>
|
||||||
|
<if test="contractorPersonnel != null">#{contractorPersonnel},</if>
|
||||||
|
<if test="createBy != null">#{createBy},</if>
|
||||||
|
<if test="createTime != null">#{createTime},</if>
|
||||||
|
<if test="updateBy != null">#{updateBy},</if>
|
||||||
|
<if test="updateTime != null">#{updateTime},</if>
|
||||||
|
<if test="remark != null">#{remark},</if>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<update id="updateSurProjectDeptWroks" parameterType="SurProjectDeptWroks">
|
||||||
|
update sur_project_dept_wroks
|
||||||
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
|
<if test="projectId != null">project_id = #{projectId},</if>
|
||||||
|
<if test="deptId != null">dept_id = #{deptId},</if>
|
||||||
|
<if test="servicePersonnel != null">service_personnel = #{servicePersonnel},</if>
|
||||||
|
<if test="supervisorPersonnel != null">supervisor_personnel = #{supervisorPersonnel},</if>
|
||||||
|
<if test="contractorPersonnel != null">contractor_personnel = #{contractorPersonnel},</if>
|
||||||
|
<if test="createBy != null">create_by = #{createBy},</if>
|
||||||
|
<if test="createTime != null">create_time = #{createTime},</if>
|
||||||
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||||
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||||
|
<if test="remark != null">remark = #{remark},</if>
|
||||||
|
</trim>
|
||||||
|
where id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<delete id="deleteSurProjectDeptWroksById" parameterType="Long">
|
||||||
|
delete from sur_project_dept_wroks where id = #{id}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<delete id="deleteSurProjectDeptWroksByIds" parameterType="String">
|
||||||
|
delete from sur_project_dept_wroks where id in
|
||||||
|
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<update id="updateProjectDeptWorksById" parameterType="SurProjectDeptWroks">
|
||||||
|
UPDATE sur_project sp
|
||||||
|
SET sp.servicePersonnel = (IFNULL(sp.servicePersonnel,0) - (
|
||||||
|
SELECT
|
||||||
|
IFNULL(service_personnel,0)
|
||||||
|
FROM
|
||||||
|
sur_project_dept_wroks
|
||||||
|
WHERE
|
||||||
|
project_id = sp.id
|
||||||
|
AND dept_id =#{deptId}
|
||||||
|
)) +#{servicePersonnel}, sp.supervisorPersonnel = (IFNULL(sp.supervisorPersonnel,0) - (
|
||||||
|
SELECT
|
||||||
|
IFNULL(supervisor_personnel,0)
|
||||||
|
FROM
|
||||||
|
sur_project_dept_wroks
|
||||||
|
WHERE
|
||||||
|
project_id = sp.id
|
||||||
|
AND dept_id =#{deptId}
|
||||||
|
)) +#{supervisorPersonnel}, sp.generalContractor = (IFNULL(sp.generalContractor,0) - (
|
||||||
|
SELECT
|
||||||
|
IFNULL(contractor_personnel,0)
|
||||||
|
FROM
|
||||||
|
sur_project_dept_wroks
|
||||||
|
WHERE
|
||||||
|
project_id = sp.id
|
||||||
|
AND dept_id =#{deptId}
|
||||||
|
)) +#{contractorPersonnel}
|
||||||
|
WHERE
|
||||||
|
id = #{projectId}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -89,7 +89,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test='activeName == "dzg"'> and ssp.checkState in (0,3)</if>
|
<if test='activeName == "dzg"'> and ssp.checkState in (0,3)</if>
|
||||||
<if test='activeName == "dqr"'> and ssp.checkState in (1)</if>
|
<if test='activeName == "dqr"'> and ssp.checkState in (1)</if>
|
||||||
<if test='activeName == "ycl"'> and ssp.checkState = 4 </if>
|
<if test='activeName == "ycl"'> and ssp.checkState = 4 </if>
|
||||||
<if test='activeName == "zgcs"'> and (ssp.updateTime is null or ssp.updateTime <![CDATA[ > ]]> ssp.nickedTime) </if>
|
<if test='activeName == "zgcs"'> and (NOW()<![CDATA[ > ]]> ssp.nickedTime and (ssp.updateTime is null or ssp.updateTime <![CDATA[ > ]]> ssp.nickedTime)) </if>
|
||||||
</where>
|
</where>
|
||||||
order by createTime desc
|
order by createTime desc
|
||||||
</select>
|
</select>
|
||||||
|
|
Loading…
Reference in New Issue