Compare commits

..

No commits in common. "e3133cef1fd1087976b16188c6c55e541cbfbda3" and "7b4cd85ba0f55f9ce872105d76f53574712a17c8" have entirely different histories.

7 changed files with 156 additions and 115 deletions

View File

@ -42,7 +42,7 @@ const service = axios.create({
let loadingInstance = null let loadingInstance = null
function startLoading() { function startLoading() {
loadingInstance = Loading.service({ loadingInstance = Loading.service({
fullscreen: true, fullscreen: false,
text: '拼命加载中...', text: '拼命加载中...',
background: 'rgba(0, 0, 0, 0.1)' background: 'rgba(0, 0, 0, 0.1)'
}) })

View File

@ -2,7 +2,11 @@
<el-form ref="form" :rules="rules" label-width="100px" :model="form"> <el-form ref="form" :rules="rules" label-width="100px" :model="form">
<el-form-item label="员工" prop="workerId" v-if='!isEdit'> <el-form-item label="员工" prop="workerId" v-if='!isEdit'>
<el-select v-model="form.workerId" placeholder="请选择" filterable style="width: 100%;" @change="selectWorker()"> <el-select v-model="form.workerId" placeholder="请选择" filterable style="width: 100%;" @change="selectWorker()">
<el-option v-for="item in workerList" :key="item.id" :label="item.name" :value="item.id"> <el-option
v-for="item in workerList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>

View File

@ -9,15 +9,18 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<p class="boldTitle">车间名称</p> <p class="boldTitle">车间名称</p>
<p class="lightText">{{ (queryParams.roomNameDict || queryParams.roomNameDict === 0) ? <p class="lightText">{{ (queryParams.roomNameDict || queryParams.roomNameDict === 0) ? getDictDataLabel('workshop',queryParams.roomNameDict) : '-' }}</p>
getDictDataLabel('workshop', queryParams.roomNameDict) : '-' }}</p>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<p class="boldTitle">班组名称</p> <p class="boldTitle">班组名称</p>
<p class="lightText">{{ queryParams.teamName ? queryParams.teamName : '-' }}</p> <p class="lightText">{{ queryParams.teamName ? queryParams.teamName : '-' }}</p>
</el-col> </el-col>
</el-row> </el-row>
<base-table :table-props="tableProps" :table-data="tableData" :max-height="tableH" :page="1" :limit="1000000" /> <base-table
:table-props="tableProps"
:table-data="tableData"
:max-height="tableH"
/>
</div> </div>
</el-drawer> </el-drawer>
</div> </div>
@ -44,7 +47,7 @@ const tableProps = [
}, },
{ {
prop: 'workTime', prop: 'workTime',
label: '工作时长(h)' label: '工作时长'
} }
] ]
export default { export default {
@ -80,12 +83,10 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.box { .box {
padding: 0 32px; padding: 0 32px;
.topBox { .topBox {
padding-bottom: 30px; padding-bottom: 30px;
margin-bottom: 30px; margin-bottom: 30px;
border-bottom: 1px solid #E9E9E9; border-bottom: 1px solid #E9E9E9;
.boldTitle { .boldTitle {
font-size: 14px; font-size: 14px;
font-weight: 600; font-weight: 600;
@ -93,7 +94,6 @@ export default {
margin: 0; margin: 0;
margin-bottom: 10px; margin-bottom: 10px;
} }
.lightText { .lightText {
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;

View File

@ -2,10 +2,12 @@
<el-form :inline="true" class="demo-form-inline"> <el-form :inline="true" class="demo-form-inline">
<span class="blue-block"></span> <span class="blue-block"></span>
<el-form-item label="班次信息"> <el-form-item label="班次信息">
<el-select v-model="queryParams.classesId" placeholder="班次信息" style="width: 200px;" size="small" clearable <el-select v-model="queryParams.classesId" placeholder="班次信息" style="width: 200px;" size="small" clearable>
filterable> <el-option
<el-option v-for="item in classesArr" :key="item.id" v-for="item in classesArr"
:label="(item.roomName ? item.roomName : '') + '-' + item.name" :value="item.id"> :key="item.id"
:label="(item.roomName?item.roomName:'')+'-'+item.name"
:value="item.id">
<span>{{ item.roomName }}-{{item.name}}</span> <span>{{ item.roomName }}-{{item.name}}</span>
</el-option> </el-option>
</el-select> </el-select>
@ -13,9 +15,15 @@
<el-form-item label="班组信息"> <el-form-item label="班组信息">
<el-input v-model="queryParams.teamName" placeholder="班组信息" style="width: 200px;" clearable></el-input> <el-input v-model="queryParams.teamName" placeholder="班组信息" style="width: 200px;" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="上班日期"> <el-form-item label="上班时间">
<el-date-picker v-model="queryParams.tiemStr" type="daterange" format='yyyy-MM-dd' value-format='yyyy-MM-dd' <el-date-picker
range-separator='-' style="width: 250px;" size="small"> v-model="queryParams.tiemStr"
type="daterange"
format='yyyy-MM-dd'
value-format='yyyy-MM-dd'
range-separator='-'
style="width: 250px;"
size="small">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -61,7 +69,6 @@ export default {
font-size: 16px; font-size: 16px;
color: #0B58FF; color: #0B58FF;
} }
.el-input__prefix .el-icon-date { .el-input__prefix .el-icon-date {
font-size: 16px; font-size: 16px;
color: #0B58FF; color: #0B58FF;
@ -76,7 +83,6 @@ export default {
background: #E8E8E8; background: #E8E8E8;
vertical-align: middle; vertical-align: middle;
} }
.demo-form-inline { .demo-form-inline {
.blue-block { .blue-block {
display: inline-block; display: inline-block;

View File

@ -1,8 +1,12 @@
<template> <template>
<div> <div>
<el-drawer title="生产情况" :visible.sync="visible" size="70%" @closed="closeDrawer" :show-close='false'> <el-drawer title="查看详情" :visible.sync="visible" size="70%" :wrapperClosable='false' @closed="closeDrawer">
<div class="box"> <div class="box">
<base-table :table-props="tableProps" :table-data="tableData" :max-height="tableH" /> <base-table
:table-props="tableProps"
:table-data="tableData"
:max-height="tableH"
/>
</div> </div>
</el-drawer> </el-drawer>
</div> </div>

View File

@ -8,13 +8,28 @@
@headBtnClick="buttonClick" @headBtnClick="buttonClick"
/> --> /> -->
<!-- 列表 --> <!-- 列表 -->
<base-table :page="queryParams.pageNo" :limit="queryParams.pageSize" :table-props="tableProps" :table-data="list" <base-table
:max-height="tableH"> :page="queryParams.pageNo"
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="80" label="操作" :method-list="tableBtn" :limit="queryParams.pageSize"
@clickBtn="handleClick" /> :table-props="tableProps"
:table-data="list"
:max-height="tableH"
>
<method-btn
v-if="tableBtn.length"
slot="handleBtn"
:width="80"
label="操作"
:method-list="tableBtn"
@clickBtn="handleClick"
/>
</base-table> </base-table>
<pagination :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" :total="total" <pagination
@pagination="getList" /> :page.sync="queryParams.pageNo"
:limit.sync="queryParams.pageSize"
:total="total"
@pagination="getList"
/>
<!-- 查看生产情况 --> <!-- 查看生产情况 -->
<team-production-detail v-if='paramVisible' ref='schedulingMonitoringDetail'/> <team-production-detail v-if='paramVisible' ref='schedulingMonitoringDetail'/>
</div> </div>
@ -71,6 +86,38 @@ export default {
name: 'GroupTeamScheduling', name: 'GroupTeamScheduling',
data() { data() {
return { return {
formConfig: [
{
type: 'select',
label: '班次信息',
selectOptions: [],
param: 'classesId'
},
{
type: 'input',
label: '班组信息',
placeholder: '班组信息',
param: 'teamName'
},
{
type: 'datePicker',
label: '上班日期',
dateType: 'daterange',
format: 'yyyy-MM-dd',
valueFormat: 'yyyy-MM-dd',
rangeSeparator: '-',
// valueFormat: "timestamp",
param: 'tiemStr',
defaultSelect: '',
width: 250
},
{
type: 'button',
btnName: '查询',
name: 'search',
color: 'primary'
}
],
// //
queryParams: { queryParams: {
pageNo: 1, pageNo: 1,
@ -83,9 +130,8 @@ export default {
tableBtn: [ tableBtn: [
this.$auth.hasPermi('base:team-production:detail') this.$auth.hasPermi('base:team-production:detail')
? { ? {
type: 'productionDetail', type: 'detail',
btnName: '查看', btnName: '详情'
showTip: '生产情况'
} }
: undefined : undefined
].filter((v) => v), ].filter((v) => v),

View File

@ -1,7 +1,7 @@
<!-- <!--
* @Author: zhp * @Author: zhp
* @Date: 2023-12-12 13:45:25 * @Date: 2023-12-12 13:45:25
* @LastEditTime: 2024-03-14 13:46:39 * @LastEditTime: 2024-03-12 11:17:14
* @LastEditors: zhp * @LastEditors: zhp
* @Description: * @Description:
--> -->
@ -9,7 +9,9 @@
<div class="app-container"> <div class="app-container">
<el-form :inline="true" :model="dataForm" class="demo-form-inline"> <el-form :inline="true" :model="dataForm" class="demo-form-inline">
<el-form-item> <el-form-item>
<el-date-picker clearable v-model="reportTime" @change="changeTime" type="date" placeholder="选择日期"> <el-date-picker clearable v-model="monthValue" type="monthrange" range-separator="" start-placeholder="开始日期"
end-placeholder="结束日期" value-format="timestamp" :clearable="false" :picker-options="pickerOptions"
size="small" style='width:350px;' @change="timeSelect">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-button type="primary" @click="getDataList()">查询</el-button> <el-button type="primary" @click="getDataList()">查询</el-button>
@ -430,7 +432,6 @@ export default {
// remark: undefined, // remark: undefined,
// }, // },
// //
reportTime:'',
dataForm: { dataForm: {
// pageSize: 100, // pageSize: 100,
// pageNo:1, // pageNo:1,
@ -448,41 +449,10 @@ export default {
// this.getProductLineList(); // this.getProductLineList();
}, },
mounted() { mounted() {
this.getTodayStartTimeAndEndTime()
this.getDataList() this.getDataList()
this.getDict() this.getDict()
}, },
methods: { methods: {
format(shijianchuo) {
//shijianchuoparseInt
var time = moment(new Date(shijianchuo)).format('YYYY-MM-DD HH:mm:ss')
// console.log(time)
// var y = time.getFullYear();
// var m = time.getMonth() + 1;
// var d = time.getDate();
// var h = time.getHours();
// var mm = time.getMinutes();
// var s = time.getSeconds();
return time
},
getTodayStartTimeAndEndTime() {
this.reportTime = new Date()
this.changeTime(this.reportTime)
},
changeTime(val) {
console.log(val)
if (val) {
// console.log(val)
// console.log(val.setHours(7, 0, 0))
// console.log(val.setHours(7, 0, 0) + 24 * 60 * 60 * 1000)
// let time = this.format(val.setHours(7, 0, 0))
this.dataForm.reportTime[0] = this.format(val.setHours(7, 0, 1)) //+ ' 00:00:00' //new Date(this.startTimeStamp + ' 00:00:00').getTime() / 1000
this.dataForm.reportTime[1] = this.format(val.setHours(7, 0, 0) + 24 * 60 * 60 * 1000) //+ ' 23:59:59' //new Date(this.endTimeStamp + ' 23:59:59').getTime() / 1000
console.log(this.dataForm.reportTime);
} else {
this.dataForm.reportTime = []
}
},
async getDict() { async getDict() {
// 线 // 线
const res = await getCorePLList() const res = await getCorePLList()
@ -560,7 +530,18 @@ export default {
} }
}, },
async getDataList() { async getDataList() {
this.timeTips = moment(new Date()).format('YYYY-MM-DD') + ' - ' + moment(new Date().setHours(7, 0, 0) + 24 * 60 * 60 * 1000).format('YYYY-MM-DD') if (this.monthValue.length > 0) {
console.log(this.monthValue)
this.dataForm.reportTime[0] = this.transformTime(this.monthValue[0])
// this.queryParams.startTime = this.monthValue[0]
this.dataForm.reportTime[1] = this.transformTime(this.monthValue[1])
this.timeTips = moment(this.monthValue[0]).format('YYYY-MM-DD') + ' - ' + moment(this.monthValue[1]).format('YYYY-MM-DD')
console.log(this.timeTips);
} else {
// this.$modal.msgError('')
// return false
}
console.log(this.dataForm); console.log(this.dataForm);
const res = await this.$axios({ const res = await this.$axios({
url: 'base/report-auto-delive/listPlus', url: 'base/report-auto-delive/listPlus',