包活派工单页面修改

master
wanglei 7 months ago
parent 5d9ade2858
commit 745e8ae911

@ -1,5 +1,22 @@
<template>
<div class="app-container">
<div class="company" v-if="!$store.state.user.tenantId">
<el-input
style="width: 200px"
placeholder="公司名称"
size="small"
prefix-icon="el-icon-search"
v-model="gsInfo.tenantName"
@keyup.enter.native="getGsInfoList">
</el-input>
<div class="cp-content" style="width: 200px">
<div :class="gsInfo.active_id===item.id?'cp-item active':'cp-item'" @click="changCompany(item.id)" v-for="item in gsInfo.list">{{ item.name }}</div>
</div>
</div>
<div :class="$store.state.user.tenantId?'content-all':'content'">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="租户id" prop="tenantId">
<el-input
@ -160,6 +177,8 @@
@pagination="getList"
/>
</div>
<!-- 添加或修改日工工时对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
@ -203,11 +222,18 @@
<script>
import { listDayWorkHours, getDayWorkHours, delDayWorkHours, addDayWorkHours, updateDayWorkHours } from "@/api/pay/dayWorkHours";
import { listTenant } from "@/api/pay/tenant";
export default {
name: "DayWorkHours",
data() {
return {
//
gsInfo:{
tenantName:'',
active_id:this.$store.state.user.tenantId,
list:[]
},
// loading
buttonLoading: false,
//
@ -276,12 +302,37 @@ export default {
};
},
created() {
if (!this.$store.state.user.tenantId) {
this.getGsInfoList()
}else {
this.gsInfo.active_id = this.$store.state.user.tenantId
this.getList();
}
},
methods: {
//
getGsInfoList(){
listTenant({ name: this.gsInfo.tenantName }).then(response => {
if(response.rows.length>0){
this.gsInfo.list = response.rows;
this.gsInfo.active_id = this.gsInfo.list[0].id
this.getList()
}else{
this.$alert(`没有查到相关公司,暂无数据!`, `提示`, {
type: 'warning'
});
}
});
},
//
changCompany(id){
this.gsInfo.active_id = id
this.getList()
},
/** 查询日工工时列表 */
getList() {
this.loading = true;
// this.queryParams.tenantId = this.gsInfo.active_id;
listDayWorkHours(this.queryParams).then(response => {
this.dayWorkHoursList = response.rows;
this.total = response.total;
@ -347,6 +398,7 @@ export default {
this.$refs["form"].validate(valid => {
if (valid) {
this.buttonLoading = true;
this.form.tenantId = this.gsInfo.active_id;
if (this.form.id != null) {
updateDayWorkHours(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
@ -391,3 +443,43 @@ export default {
}
};
</script>
<style scoped lang="scss">
.app-container {
display: flex;
.company {
border-radius: 5px;
width: 230px;
height: calc(100vh - 115px);
overflow-y: auto;
.cp-content {
margin-top: 20px;
.cp-item {
cursor: pointer;
padding: 6px 10px 6px 5px;
color: #424242;
font-size: 14px;
&:hover {
background: #f6f6f6;
}
}
.active{
background: #edf6ff;
}
}
}
.content{
padding-left: 15px;
width: calc(100% - 250px);
.el-button--medium {
padding: 2px 0px;
}
}
.content-all{
width: 100%;
.el-button--medium {
padding: 2px 0px;
}
}
}
</style>

@ -1,46 +1,23 @@
<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="租户id" prop="tenantId">
<el-input
v-model="queryParams.tenantId"
placeholder="请输入租户id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="归档ID" prop="archiveId">
<el-input
v-model="queryParams.archiveId"
placeholder="请输入归档ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产品ID" prop="productId">
<el-input
v-model="queryParams.productId"
placeholder="请输入产品ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="部门ID" prop="deptId">
<el-input
v-model="queryParams.deptId"
placeholder="请输入部门ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="车间" prop="workshop">
<div class="company" v-if="!$store.state.user.tenantId">
<el-input
v-model="queryParams.workshop"
placeholder="请输入车间"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
style="width: 200px"
placeholder="公司名称"
size="small"
prefix-icon="el-icon-search"
v-model="gsInfo.tenantName"
@keyup.enter.native="getGsInfoList">
</el-input>
<div class="cp-content" style="width: 200px">
<div :class="gsInfo.active_id===item.id?'cp-item active':'cp-item'" @click="changCompany(item.id)" v-for="item in gsInfo.list">{{ item.name }}</div>
</div>
</div>
<div :class="$store.state.user.tenantId?'content-all':'content'">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="包活工单名称" prop="name">
<el-input
v-model="queryParams.name"
@ -49,110 +26,61 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="加工数量" prop="productNum">
<el-form-item label="包活工单ID" prop="id">
<el-input
v-model="queryParams.productNum"
placeholder="请输入加工数量"
v-model="queryParams.id"
placeholder="请输入包活工单ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产品单价" prop="price">
<el-input
v-model="queryParams.price"
placeholder="请输入产品单价"
clearable
@keyup.enter.native="handleQuery"
/>
<el-form-item label="部门" prop="deptId">
<treeselect v-model="queryParams.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" style="width: 220px"/>
</el-form-item>
<el-form-item label="单位" prop="unit">
<el-input
v-model="queryParams.unit"
placeholder="请输入单位"
clearable
@keyup.enter.native="handleQuery"
/>
<el-form-item label="员工" prop="empId">
<el-select v-model="queryParams.empId" filterable clearable placeholder="请选择">
<el-option
v-for="item in employeeList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="加工总金额" prop="amount">
<el-input
v-model="queryParams.amount"
placeholder="请输入加工总金额"
clearable
@keyup.enter.native="handleQuery"
<el-form-item label="车间" prop="workshop">
<el-select v-model="queryParams.workshop" placeholder="请选择车间" clearable>
<el-option
v-for="dict in dict.type.pay_workshop"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="开始时间" prop="beginTime">
<el-form-item label="入库时间" prop="instorageTime">
<el-date-picker clearable
v-model="queryParams.beginTime"
v-model="queryParams.instorageTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择开始时间">
placeholder="请选择入库时间">
</el-date-picker>
</el-form-item>
<el-form-item label="结束时间" prop="endTime">
<el-form-item label="入库月份" prop="instorageDate">
<el-date-picker clearable
v-model="queryParams.endTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择结束时间">
v-model="queryParams.instorageDate"
type="month"
value-format="yyyy-MM"
placeholder="请选择入库月份">
</el-date-picker>
</el-form-item>
<el-form-item label="质检人员" prop="qualityName">
<el-input
v-model="queryParams.qualityName"
placeholder="请输入质检人员"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="检验说明" prop="qualityRemark">
<el-input
v-model="queryParams.qualityRemark"
placeholder="请输入检验说明"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="入库时间" prop="instorageTime">
<el-form-item label="工作日期" prop="workDate">
<el-date-picker clearable
v-model="queryParams.instorageTime"
v-model="queryParams.workDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择入库时间">
placeholder="请选择工作时间">
</el-date-picker>
</el-form-item>
<el-form-item label="入库人员" prop="instorageName">
<el-input
v-model="queryParams.instorageName"
placeholder="请输入入库人员"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="实际入库数量" prop="instorageNum">
<el-input
v-model="queryParams.instorageNum"
placeholder="请输入实际入库数量"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="项目经理" prop="managerName">
<el-input
v-model="queryParams.managerName"
placeholder="请输入项目经理"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="删除标志" prop="deleted">
<el-input
v-model="queryParams.deleted"
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>
@ -207,31 +135,12 @@
<el-table v-loading="loading" :data="workOrderBaohuoList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键ID" align="center" prop="id" v-if="true"/>
<el-table-column label="租户id" align="center" prop="tenantId" />
<el-table-column label="归档ID" align="center" prop="archiveId" />
<el-table-column label="产品ID" align="center" prop="productId" />
<el-table-column label="部门ID" align="center" prop="deptId" />
<el-table-column label="车间" align="center" prop="workshop" />
<el-table-column label="工单ID" align="center" prop="id"/>
<el-table-column label="包活工单名称" align="center" prop="name" />
<el-table-column label="工作内容" align="center" prop="content" />
<el-table-column label="加工数量" align="center" prop="productNum" />
<el-table-column label="产品单价" align="center" prop="price" />
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="加工总金额" align="center" prop="amount" />
<el-table-column label="开始时间" align="center" prop="beginTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.beginTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="结束时间" align="center" prop="endTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.endTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="质检人员" align="center" prop="qualityName" />
<el-table-column label="检验说明" align="center" prop="qualityRemark" />
<el-table-column label="入库时间" align="center" prop="instorageTime" width="180">
<el-table-column label="入库时间" align="center" prop="instorageTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.instorageTime, '{y}-{m}-{d}') }}</span>
</template>
@ -239,9 +148,8 @@
<el-table-column label="入库人员" align="center" prop="instorageName" />
<el-table-column label="实际入库数量" align="center" prop="instorageNum" />
<el-table-column label="项目经理" align="center" prop="managerName" />
<el-table-column label="删除标志" align="center" prop="deleted" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
@ -250,6 +158,13 @@
@click="handleUpdate(scope.row)"
v-hasPermi="['pay:workOrderBaohuo:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleDetails(scope.row)"
v-hasPermi="['pay:workOrderBaohuo:query']"
>详情</el-button>
<el-button
size="mini"
type="text"
@ -269,6 +184,8 @@
@pagination="getList"
/>
</div>
<!-- 添加或修改包活派工单对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
@ -356,16 +273,30 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listWorkOrderBaohuo, getWorkOrderBaohuo, delWorkOrderBaohuo, addWorkOrderBaohuo, updateWorkOrderBaohuo } from "@/api/pay/workOrderBaohuo";
import { listTenant } from "@/api/pay/tenant";
import { listEmployeeInfo } from "@/api/pay/employeeInfo";
import { deptTreeSelect } from "@/api/system/user";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "WorkOrderBaohuo",
dicts: ['pay_workshop'],
components: { Treeselect },
data() {
return {
//
gsInfo:{
tenantName:'',
active_id:this.$store.state.user.tenantId,
list:[]
},
// loading
buttonLoading: false,
//
@ -382,6 +313,8 @@ export default {
total: 0,
//
workOrderBaohuoList: [],
//
deptOptions: undefined,
//
title: "",
//
@ -411,23 +344,13 @@ export default {
managerName: undefined,
deleted: undefined,
},
//
employeeList: [],
//
form: {},
//
rules: {
id: [
{ required: true, message: "主键ID不能为空", trigger: "blur" }
],
tenantId: [
{ required: true, message: "租户id不能为空", trigger: "blur" }
],
archiveId: [
{ required: true, message: "归档ID不能为空", trigger: "blur" }
],
productId: [
{ required: true, message: "产品ID不能为空", trigger: "blur" }
],
deptId: [
/*deptId: [
{ required: true, message: "部门ID不能为空", trigger: "blur" }
],
workshop: [
@ -480,17 +403,60 @@ export default {
],
remark: [
{ required: true, message: "备注不能为空", trigger: "blur" }
]
]*/
}
};
},
created() {
if (!this.$store.state.user.tenantId) {
this.getGsInfoList()
}else {
this.gsInfo.active_id = this.$store.state.user.tenantId
this.getList();
this.getDeptTree();
this.getlistEmployee();
}
},
methods: {
//
getGsInfoList(){
listTenant({ name: this.gsInfo.tenantName }).then(response => {
if(response.rows.length>0){
this.gsInfo.list = response.rows;
this.gsInfo.active_id = this.gsInfo.list[0].id
this.getList();
this.getDeptTree();
this.getlistEmployee();
}else{
this.$alert(`没有查到相关公司,暂无数据!`, `提示`, {
type: 'warning'
});
}
});
},
//
changCompany(id){
this.gsInfo.active_id = id
this.getList();
this.getDeptTree();
this.getlistEmployee();
},
/** 查询时员工 */
getlistEmployee() {
listEmployeeInfo({pageSize: 100000}).then(response => {
this.employeeList = response.rows
});
},
/** 查询部门下拉树结构 */
getDeptTree() {
deptTreeSelect({tenantId: this.gsInfo.active_id}).then(response => {
this.deptOptions = response.data;
});
},
/** 查询包活派工单列表 */
getList() {
this.loading = true;
this.queryParams.tenantId = this.gsInfo.active_id;
listWorkOrderBaohuo(this.queryParams).then(response => {
this.workOrderBaohuoList = response.rows;
this.total = response.total;
@ -573,6 +539,7 @@ export default {
this.$refs["form"].validate(valid => {
if (valid) {
this.buttonLoading = true;
this.form.tenantId = this.gsInfo.active_id;
if (this.form.id != null) {
updateWorkOrderBaohuo(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
@ -617,3 +584,43 @@ export default {
}
};
</script>
<style scoped lang="scss">
.app-container {
display: flex;
.company {
border-radius: 5px;
width: 230px;
height: calc(100vh - 115px);
overflow-y: auto;
.cp-content {
margin-top: 20px;
.cp-item {
cursor: pointer;
padding: 6px 10px 6px 5px;
color: #424242;
font-size: 14px;
&:hover {
background: #f6f6f6;
}
}
.active{
background: #edf6ff;
}
}
}
.content{
padding-left: 15px;
width: calc(100% - 250px);
.el-button--medium {
padding: 2px 0px;
}
}
.content-all{
width: 100%;
.el-button--medium {
padding: 2px 0px;
}
}
}
</style>

Loading…
Cancel
Save