From b403195a75a452b54fe2112158b454f6d80c0e11 Mon Sep 17 00:00:00 2001
From: gaoluyang <gaoluyang@rengu.cc>
Date: 星期四, 11 七月 2024 15:03:55 +0800
Subject: [PATCH] 科学计数法逻辑修改
---
src/components/do/b3-work-time-management/work-time-management.vue | 605 +++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 438 insertions(+), 167 deletions(-)
diff --git a/src/components/do/b3-work-time-management/work-time-management.vue b/src/components/do/b3-work-time-management/work-time-management.vue
index 0024274..fa6f726 100644
--- a/src/components/do/b3-work-time-management/work-time-management.vue
+++ b/src/components/do/b3-work-time-management/work-time-management.vue
@@ -5,30 +5,32 @@
<div class="search_label">鍛ㄦ锛�</div>
<div class="search_input" style="display: flex;align-items: center;">
<el-input size="small" placeholder="寮�濮嬪懆娆�" clearable
- v-model="componentData.entity.number"></el-input>
+ v-model="entity.week1"></el-input>
<span> - </span>
<el-input size="small" placeholder="缁撴潫鍛ㄦ" clearable
- v-model="componentData.entity.number"></el-input>
+ v-model="entity.week2"></el-input>
</div>
</div>
<div class="search_thing" style="width: 200px;">
<div class="search_label">鏄熸湡锛�</div>
- <el-select v-model="componentData.entity.laboratory" placeholder="鍏ㄩ儴" size="small">
+ <el-select v-model="entity.weekDay" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()" clearable>
<el-option v-for="item in weekList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
<div class="search_thing">
- <div class="search_label">鏃堕棿鑼冨洿锛�</div>
+ <div class="search_label" style="width: 90px;">鏃堕棿鑼冨洿锛�</div>
<div class="search_input">
<el-date-picker
style="width: 100%;"
- v-model="componentData.entity.number"
+ v-model="entity.dateTime"
size="small"
type="daterange"
range-separator="鑷�"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
start-placeholder="寮�濮嬫棩鏈�"
- end-placeholder="缁撴潫鏃ユ湡">
+ end-placeholder="缁撴潫鏃ユ湡" @change="refreshTable()" clearable>
</el-date-picker>
</div>
</div>
@@ -36,11 +38,11 @@
<div class="search_thing" style="width: 200px;">
<div class="search_label" >鍚嶅瓧锛�</div>
<el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="componentData.entity.number"></el-input>
+ v-model="entity.name" @keyup.enter.native="refreshTable()"></el-input>
</div>
- <div class="search_thing" style="width: 200px;">
- <div class="search_label">鐘舵�侊細</div>
- <el-select v-model="componentData.entity.laboratory" placeholder="鍏ㄩ儴" size="small">
+ <div class="search_thing" style="width: 200px;" v-if="currentTable == 'ValueTable0'">
+ <div class="search_label" >鐘舵�侊細</div>
+ <el-select v-model="entity.state" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()">
<el-option v-for="item in stateList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
@@ -61,69 +63,75 @@
</el-radio-group>
<div style="display: flex;align-items: center;">
<p style="font-size: 14px;margin-right: 30px;">
- 浜ч噺宸ユ椂姹囨�伙細<span style="font-size: 16px;color: #3A7BFA;">11.333</span> 杈呭姪宸ユ椂姹囨�伙細<span style="font-size: 16px;color: #3A7BFA;">12.333</span>
+ 鎬诲伐鏃舵眹鎬伙細<span style="font-size: 16px;color: #3A7BFA;" v-if="totalInfo">{{ (totalInfo['浜ч噺宸ユ椂姹囨��']+totalInfo['杈呭姪宸ユ椂姹囨��'])? (totalInfo['浜ч噺宸ユ椂姹囨��']+totalInfo['杈呭姪宸ユ椂姹囨��']):0 }}</span> 浜ч噺宸ユ椂姹囨�伙細<span style="font-size: 16px;color: #3A7BFA;" v-if="totalInfo">{{totalInfo['浜ч噺宸ユ椂姹囨��']?totalInfo['浜ч噺宸ユ椂姹囨��']:0}}</span> 杈呭姪宸ユ椂姹囨�伙細<span style="font-size: 16px;color: #3A7BFA;" v-if="totalInfo">{{totalInfo['杈呭姪宸ユ椂姹囨��']?totalInfo['杈呭姪宸ユ椂姹囨��']:0}}</span>
</p>
- <el-button size="small" type="primary" style="margin-right: 16px;" @click="openAdd">褰曞叆鏁版嵁</el-button>
- <el-button size="small" type="primary">瀵� 鍑�</el-button>
+ <el-button size="small" type="primary" style="margin-right: 16px;" @click="openAdd" v-show="currentTable == 'ValueTable0'&&add">褰曞叆鏁版嵁</el-button>
+ <el-button size="small" type="primary"
+ v-if="down"
+ @click="handleOut" :loading="outLoading">瀵� 鍑�</el-button>
</div>
</div>
<div class="table">
<ValueTable ref="ValueTable0"
- v-show="currentTable == 'ValueTable0'"
- :url="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours" :upUrl="$api.auxiliaryWorkingHours.upAuxiliaryWorkingHours"
- :delUrl="$api.auxiliaryWorkingHours.deleteAuxiliaryWorkingHours" :componentData="componentData" :key="upIndex" />
+ v-if="currentTable == 'ValueTable0'"
+ :url="$api.auxiliaryWorkingHoursDay.selectAuxiliaryWorkingHoursDay"
+ :delUrl="$api.auxiliaryWorkingHoursDay.deleteAuxiliaryWorkingHoursDay" :componentData="componentData" :key="upIndex"
+ @delete="handleDelete" />
<ValueTable ref="ValueTable1"
- v-show="currentTable == 'ValueTable1'"
- :url="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours" :upUrl="$api.auxiliaryWorkingHours.upAuxiliaryWorkingHours"
- :delUrl="$api.auxiliaryWorkingHours.deleteAuxiliaryWorkingHours" :componentData="componentData1" :key="upIndex1" />
+ v-if="currentTable == 'ValueTable1'"
+ :url="$api.auxiliaryOutputWorkingHours.selectAuxiliaryOutputWorkingHours" :componentData="componentData1" :key="upIndex1" />
</div>
<el-dialog :title="formData.id?'缂栬緫':'褰曞叆鏁版嵁'" :visible.sync="addVisible" width="600px" :before-close="handleClose">
<el-row style="display:flex;justify-content: space-around;">
<el-col :span="12">
<el-form :model="formData" label-width="90px">
<el-form-item label="褰曞叆鏃堕棿:">
- <el-radio-group v-model="formData.value0" size="small">
- <el-radio :label="0">浠婂ぉ</el-radio>
- <el-radio :label="1">鏄庡ぉ</el-radio>
+ <el-radio-group v-model="formData.dateTime" size="small">
+ <el-radio :label="getYearAndMonthAndDays()+' 00:00:00'">浠婂ぉ</el-radio>
+ <el-radio :label="getYearAndMonthAndDays(new Date((new Date()).getTime() - 24 * 60 * 60 * 1000))+' 00:00:00'">鏄ㄥぉ</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="骞翠唤:">
<el-input v-model="formData.year" disabled size="small"></el-input>
</el-form-item>
<el-form-item label="鍛ㄦ:">
- <el-input v-model="formData.value2" size="small" disabled></el-input>
+ <el-input v-model="formData.week" size="small" disabled></el-input>
</el-form-item>
<el-form-item label="鏄熸湡:">
- <el-input v-model="formData.value3" size="small" disabled></el-input>
+ <!-- <el-input v-model="formData.weekDay" size="small" disabled></el-input> -->
+ <el-select v-model="formData.weekDay" placeholder="璇烽�夋嫨" size="small" disabled>
+ <el-option v-for="item in weekList" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
</el-form-item>
<el-form-item label="鐝:">
- <el-input v-model="formData.value4" size="small" disabled></el-input>
+ <el-input v-model="formData.shift" size="small" disabled></el-input>
</el-form-item>
</el-form>
</el-col>
<el-col :span="12">
<el-form :model="formData" label-width="90px">
- <el-form-item label="缂栧彿:">
- <el-input v-model="formData.value5" size="small"></el-input>
+ <el-form-item label="缂栧彿:" required>
+ <el-input v-model="formData.number" size="small" @blur="getInfoByCode"></el-input>
</el-form-item>
- <el-form-item label="鏁伴噺:">
- <el-input v-model="formData.value6" size="small" ></el-input>
+ <el-form-item label="鏁伴噺:" required>
+ <el-input v-model="formData.amount" size="small" ></el-input>
</el-form-item>
<el-form-item label="鏍稿噯宸ユ椂:">
- <el-input v-model="formData.value7" size="small" disabled></el-input>
+ <el-input v-model="formData.approvedWorkingHour" size="small" disabled></el-input>
</el-form-item>
<el-form-item label="杈呭姪宸ユ椂:">
- <el-input v-model="formData.value8" size="small" disabled></el-input>
+ <el-input v-model="formData.nonproductiveTime" size="small" disabled></el-input>
</el-form-item>
<el-form-item label="杈呭姪椤圭洰:">
- <el-input v-model="formData.value9" size="small" disabled></el-input>
+ <el-input v-model="formData.auxiliaryProject" size="small" disabled></el-input>
</el-form-item>
</el-form>
</el-col>
</el-row>
<el-form :model="formData" label-width="90px">
<el-form-item label="杈呭姪璇存槑:">
- <el-input v-model="formData.value10" type="textarea"
+ <el-input v-model="formData.remarks" type="textarea"
:rows="3" size="small"></el-input>
</el-form-item>
</el-form>
@@ -139,19 +147,23 @@
<el-col :span="12">
<el-form :model="formData0" label-width="90px">
<el-form-item label="骞翠唤:">
- <el-input v-model="formData0.year" size="small"></el-input>
+ <el-input v-model="formData0.year" size="small" :disabled="title=='鎵瑰噯'"></el-input>
</el-form-item>
<el-form-item label="鍛ㄦ:">
- <el-input v-model="formData0.value2" size="small"></el-input>
+ <el-input v-model="formData0.week" size="small" :disabled="title=='鎵瑰噯'"></el-input>
</el-form-item>
<el-form-item label="鏄熸湡:">
- <el-input v-model="formData0.value3" size="small"></el-input>
+ <!-- <el-input v-model="formData0.weekDay" size="small" :disabled="title=='鎵瑰噯'"></el-input> -->
+ <el-select v-model="formData0.weekDay" placeholder="璇烽�夋嫨" size="small" :disabled="title=='鎵瑰噯'">
+ <el-option v-for="item in weekList" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
</el-form-item>
<el-form-item label="濮撳悕:">
- <el-input v-model="formData0.value4" size="small" disabled></el-input>
+ <el-input v-model="formData0.nameUser" size="small" disabled></el-input>
</el-form-item>
<el-form-item label="鐝:">
- <el-select v-model="formData0.value4" placeholder="璇烽�夋嫨" size="small">
+ <el-select v-model="formData0.shift" placeholder="璇烽�夋嫨" size="small" :disabled="title=='鎵瑰噯'">
<el-option v-for="item in classType" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
@@ -160,28 +172,28 @@
</el-col>
<el-col :span="12">
<el-form :model="formData0" label-width="90px">
- <el-form-item label="缂栧彿:">
- <el-input v-model="formData0.value5" size="small"></el-input>
+ <el-form-item label="缂栧彿:" required>
+ <el-input v-model="formData0.number" size="small" :disabled="title=='鎵瑰噯'"></el-input>
</el-form-item>
- <el-form-item label="鏁伴噺:">
- <el-input v-model="formData0.value6" size="small" ></el-input>
+ <el-form-item label="鏁伴噺:" required>
+ <el-input v-model="formData0.reviewerNumber" size="small" :disabled="title=='鎵瑰噯'"></el-input>
</el-form-item>
<el-form-item label="鏍稿噯宸ユ椂:">
- <el-input v-model="formData0.value7" size="small" disabled></el-input>
+ <el-input v-model="formData0.approvedWorkingHour" size="small" disabled></el-input>
</el-form-item>
- <el-form-item label="杈呭姪宸ユ椂:">
- <el-input v-model="formData0.value8" size="small" disabled></el-input>
+ <el-form-item label="澶嶆牳宸ユ椂:">
+ <el-input v-model="formData0.reviewerNonproductiveTime" size="small" disabled></el-input>
</el-form-item>
<el-form-item label="杈呭姪椤圭洰:">
- <el-input v-model="formData0.value9" size="small" disabled></el-input>
+ <el-input v-model="formData0.auxiliaryProject" size="small" disabled></el-input>
</el-form-item>
</el-form>
</el-col>
</el-row>
<el-form :model="formData0" label-width="90px">
<el-form-item label="澶嶆牳璇存槑:">
- <el-input v-model="formData0.value10" type="textarea"
- :rows="3" size="small"></el-input>
+ <el-input v-model="formData0.reviewerRemark" type="textarea"
+ :rows="3" size="small" :disabled="title=='鎵瑰噯'"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
@@ -196,17 +208,24 @@
<script>
import ValueTable from '../../tool/value-table.vue'
+import {
+ getYearAndMonthAndDays
+ } from '../../../util/date'
export default {
components: {
ValueTable
},
data () {
return{
+ entity:{},
+ down:false,
+ add:false,
componentData: {
entity: {
- number: null,
- department: null,
- laboratory: null,
+ week: null,
+ weekDay: null,
+ dateTime: null,
+ name:null,
orderBy: {
field: 'id',
order: 'desc'
@@ -237,37 +256,60 @@
method: 'handleRatify'
}],
tagField: {
- deviceStatus: {
- select: []
- },
- equipmentManager: {
- select: []
- },
- authorizedPerson: {
- select: []
- },
- insProductIds:{
+ shift:{
+ select:[]
+ },
+ state:{
+ select:[
+ {
+ label:'宸叉彁浜�',
+ value:'宸叉彁浜�',
+ type:'primary'
+ },
+ {
+ label:'宸插鏍�',
+ value:'宸插鏍�',
+ type:'warning'
+ },
+ {
+ label:'宸叉壒鍑�',
+ value:'宸叉壒鍑�',
+ type:'success'
+ },
+ ]
+ },
+ weekDay:{
select:[]
}
- },
- linkEvent: {
- deviceName: {
- method: 'selectAllByOne'
- }
- },
+ },
+ linkEvent: {},
selectField: {
- authorizedPerson: {
- select: [],
- choose: true
- },
- equipmentManager: {
- select: []
- },
- insProductIds:{
- select:[],
- choose: true
+ shift:{
+ select:[]
+ },
+ state:{
+ select:[
+ {
+ label:'宸叉彁浜�',
+ value:'宸叉彁浜�',
+ type:'primary'
+ },
+ {
+ label:'宸插鏍�',
+ value:'宸插鏍�',
+ type:'warning'
+ },
+ {
+ label:'宸叉壒鍑�',
+ value:'宸叉壒鍑�',
+ type:'success'
+ },
+ ]
+ },
+ weekDay:{
+ select:[]
}
- },
+ },
requiredAdd: [],
requiredUp: []
},
@@ -275,9 +317,10 @@
upIndex: 0,
componentData1: {
entity: {
- number: null,
- department: null,
- laboratory: null,
+ week: null,
+ weekDay: null,
+ dateTime: null,
+ name:null,
orderBy: {
field: 'id',
order: 'desc'
@@ -288,78 +331,53 @@
select: false,
do: [],
tagField: {
- deviceStatus: {
- select: []
- },
- equipmentManager: {
- select: []
- },
- authorizedPerson: {
- select: []
- },
- insProductIds:{
- select:[]
- }
},
- linkEvent: {
- deviceName: {
- method: 'selectAllByOne'
- }
- },
- selectField: {
- authorizedPerson: {
- select: [],
- choose: true
- },
- equipmentManager: {
- select: []
- },
- insProductIds:{
- select:[],
- choose: true
- }
- },
+ linkEvent: {},
+ selectField: {},
requiredAdd: [],
requiredUp: []
},
- upIndex1:0,
+ addFileVisible:false,
+ entityCopy1: {},
+ upIndex1:100,
weekList:[
- {label: '鏄熸湡涓�', value: 1},
- {label: '鏄熸湡浜�', value: 2},
- {label: '鏄熸湡涓�', value: 3},
- {label: '鏄熸湡鍥�', value: 4},
- {label: '鏄熸湡浜�', value: 5},
- {label: '鏄熸湡鍏�', value: 6},
- {label: '鏄熸湡鏃�', value: 7}
+ {label: '鏄熸湡涓�', value: '1',type:'primary'},
+ {label: '鏄熸湡浜�', value: '2',type:'primary'},
+ {label: '鏄熸湡涓�', value: '3',type:'primary'},
+ {label: '鏄熸湡鍥�', value: '4',type:'primary'},
+ {label: '鏄熸湡浜�', value: '5',type:'primary'},
+ {label: '鏄熸湡鍏�', value: '6',type:'primary'},
+ {label: '鏄熸湡鏃�', value: '7',type:'primary'}
],
currentTable:'ValueTable0',
addVisible:false,
addLoad:false,
formData:{
- value0:0,
+ dateTime:getYearAndMonthAndDays()+' 00:00:00',
year:new Date().getFullYear(),
- value2:this.getCurrentWeekNumber(),
- value3:this.getWeek(),
- value4:'',
- value5:'',
- value6:'',
- value7:'',
- value8:'',
- value9:'',
- value10:'',
+ week:this.getCurrentWeekNumber(),
+ weekDay:this.getWeek(),
+ shift:'',
+ number:'',
+ amount:'',
+ approvedWorkingHour:'',
+ nonproductiveTime:'',
+ auxiliaryProject:'',
+ remarks:'',
},
formData0:{
- value0:0,
+ dateTime:0,
year:new Date().getFullYear(),
- value2:this.getCurrentWeekNumber(),
- value3:this.getWeek(),
- value4:'',
- value5:'',
- value6:'',
- value7:'',
- value8:'',
- value9:'',
- value10:'',
+ week:this.getCurrentWeekNumber(),
+ weekDay:this.getWeek(),
+ createUser:'',
+ shift:'',
+ number:'',
+ reviewerNumber:'',
+ approvedWorkingHour:'',
+ reviewerNonproductiveTime:'',
+ auxiliaryProject:'',
+ reviewerRemark:'',
},
checkVisible:false,
checkLoadN:false,
@@ -368,57 +386,180 @@
classType:[],
stateList:[
{
- value:0,
+ value:'宸叉彁浜�',
label:'宸叉彁浜�'
},
{
- value:1,
+ value:'宸插鏍�',
label:'宸插鏍�'
},
{
- value:2,
+ value:'宸叉壒鍑�',
label:'宸叉壒鍑�'
},
- ]
+ ],
+ totalInfo:null,
+ auxiliaryWorking:null,
+ outLoading:false
}
},
watch:{
- 'formData.value0'(val){
- if(val==0){
+ 'formData.dateTime'(val){
+ if(val==(getYearAndMonthAndDays()+' 00:00:00')){
this.formData.year = new Date().getFullYear();
- this.formData.value2 = this.getCurrentWeekNumber()
- this.formData.value3 = this.getWeek()
+ this.formData.week = this.getCurrentWeekNumber()
+ this.formData.weekDay = this.getWeek()
}else{
var today = new Date(); // 鑾峰彇褰撳墠鏃ユ湡
var yesterday = new Date(today); // 澶嶅埗褰撳墠鏃ユ湡
yesterday.setDate(today.getDate() - 1); // 璁剧疆涓哄墠涓�澶�
var timestamp = new Date(yesterday.getTime());
this.formData.year = timestamp.getFullYear();
- this.formData.value2 = this.getCurrentWeekNumber(timestamp)
- this.formData.value3 = this.getWeek(timestamp)
+ this.formData.week = this.getCurrentWeekNumber(timestamp)
+ this.formData.weekDay = this.getWeek(timestamp)
+ }
+ },
+ 'formData.amount'(val){
+ if(val){
+ if(!isNaN(val)){
+ if(this.formData.approvedWorkingHour){
+ this.formData.nonproductiveTime = this.formData.approvedWorkingHour*val
+ }
+ }else{
+ this.$message.error('璇疯緭鍏ユ暟瀛�')
+ this.formData.amount = ''
+ }
+ }
+ },
+ 'formData.approvedWorkingHour'(val){
+ if(val&&this.formData.amount){
+ this.formData.nonproductiveTime = this.formData.amount*val
+ }
+ },
+ 'formData0.reviewerNumber'(val){
+ if(val){
+ if(!isNaN(val)){
+ if(this.formData0.approvedWorkingHour){
+ this.formData0.reviewerNonproductiveTime = this.formData0.approvedWorkingHour*val
+ }
+ }else{
+ this.$message.error('璇疯緭鍏ユ暟瀛�')
+ this.formData0.reviewerNumber = ''
+ }
+ }
+ },
+ 'formData0.approvedWorkingHour'(val){
+ if(val&&this.formData0.reviewerNumber){
+ this.formData0.reviewerNonproductiveTime = this.formData0.reviewerNumber*val
}
}
},
mounted(){
this.getCurrentWeekNumber()
this.selectEnumByCategory()
+ this.collectWorkingHours()
+ this.selectshiftByUser()
+ this.entityCopy = this.HaveJson(this.componentData.entity);
+ this.entityCopy1 = this.HaveJson(this.componentData1.entity);
+ this.componentData.tagField.weekDay.select = this.weekList
+ this.componentData.selectField.weekDay.select = this.weekList
+ this.getPower()
},
methods:{
- refreshTable(){},
- refresh(){},
+ getPower(){
+ let power = JSON.parse(sessionStorage.getItem('power'))
+ let del = false
+ let down = false
+ let add = false
+ let up = false
+ let check = false
+ let ratify = false
+ for (var i = 0; i < power.length; i++) {
+ if (power[i].menuMethod == 'exportWorkingHours') {
+ down = true
+ }
+ if (power[i].menuMethod == 'deleteAuxiliaryWorkingHoursDay') {
+ del = true
+ }
+ if (power[i].menuMethod == 'insertAuxiliaryWorkingHoursDay') {
+ add = true
+ }
+ console.log(add)
+ if (power[i].menuMethod == 'updateAuxiliaryWorkingHoursDay') {
+ up = true
+ }
+ if (power[i].menuMethod == 'check') {
+ check = true
+ }
+ if (power[i].menuMethod == 'approve') {
+ ratify = true
+ }
+ }
+ if (!ratify) {
+ this.componentData.do.splice(3, 1)
+ }
+ if (!check) {
+ this.componentData.do.splice(2, 1)
+ }
+ if (!up) {
+ this.componentData.do.splice(1, 1)
+ }
+ if (!del) {
+ this.componentData.do.splice(0, 1)
+ }
+ this.down = down
+ this.add = add
+ },
+ getYearAndMonthAndDays(date){
+ return getYearAndMonthAndDays(date)
+ },
+ refreshTable(){
+ let entity = {}
+ if(this.entity.week1&&this.entity.week2){
+ entity.week = JSON.stringify([this.entity.week1,this.entity.week2])
+ }else{
+ entity.week = ''
+ }
+ if(this.entity.dateTime){
+ entity.dateTime = JSON.stringify(this.entity.dateTime)
+ }else{
+ entity.dateTime = ''
+ }
+ entity.weekDay = this.entity.weekDay
+ entity.name = this.entity.name
+ if(this.currentTable=='ValueTable0'){
+ entity.state = this.entity.state
+ this.componentData.entity = {...this.componentData.entity,...entity}
+ this.$refs['ValueTable0'].selectList()
+ }else{
+ this.componentData1.entity = {...this.componentData1.entity,...entity}
+ this.$refs['ValueTable1'].selectList()
+ }
+ },
+ refresh(){
+ this.entity = {}
+ if(this.currentTable=='ValueTable0'){
+ this.componentData.entity = this.HaveJson(this.entityCopy)
+ this.upIndex++
+ }else{
+ this.componentData1.entity = this.HaveJson(this.entityCopy1)
+ this.upIndex1++
+ }
+ this.refreshTable()
+ },
openAdd(){
this.formData = {
- value0:0,
+ dateTime:getYearAndMonthAndDays()+' 00:00:00',
year:new Date().getFullYear(),
- value2:this.getCurrentWeekNumber(),
- value3:this.getWeek(),
- value4:'',
- value5:'',
- value6:'',
- value7:'',
- value8:'',
- value9:'',
- value10:'',
+ week:this.getCurrentWeekNumber(),
+ weekDay:this.getWeek(),
+ shift:'',
+ number:'',
+ amount:'',
+ approvedWorkingHour:'',
+ nonproductiveTime:'',
+ auxiliaryProject:'',
+ remarks:'',
}
this.addVisible = true
},
@@ -426,19 +567,53 @@
this.formData = row;
this.addVisible = true
},
+ handleDelete(){
+ this.collectWorkingHours()
+ },
handleClose(){
this.addVisible = false
},
submitAdd(){
- if(!this.formData.value5){
+ if(!this.formData.number){
this.$message.error('璇疯緭鍏ョ紪鍙�')
return
}
- if(!this.formData.value6){
+ if(!this.formData.amount){
this.$message.error('璇疯緭鍏ユ暟閲�')
return
}
this.addLoad = true
+ if(!this.formData.id){
+ this.$axios.post(this.$api.auxiliaryWorkingHoursDay.insertAuxiliaryWorkingHoursDay, {
+ ...this.formData
+ }, {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }).then(res => {
+ this.addLoad = false
+ if (res.code == 201) return
+ this.$message.success('宸叉彁浜�')
+ this.addVisible = false
+ this.refreshTable()
+ this.collectWorkingHours()
+ })
+ }else{
+ this.$axios.post(this.$api.auxiliaryWorkingHoursDay.updateAuxiliaryWorkingHoursDay, {
+ ...this.formData
+ }, {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }).then(res => {
+ this.addLoad = false
+ if (res.code == 201) return
+ this.$message.success('鎿嶄綔鎴愬姛')
+ this.addVisible = false
+ this.refreshTable()
+ this.collectWorkingHours()
+ })
+ }
},
handleCheck(row){
this.title = '瀹℃牳'
@@ -451,21 +626,79 @@
this.checkVisible = true
},
submitCheck(e){
- if(!this.formData0.value5){
+ if(!this.formData0.number){
this.$message.error('璇疯緭鍏ョ紪鍙�')
return
}
- if(!this.formData0.value6){
+ if(!this.formData0.amount){
this.$message.error('璇疯緭鍏ユ暟閲�')
return
}
- this.checkLoadY = true
+
+ if(this.title == '瀹℃牳'){
+ if(e==0){
+ // 瀹℃牳涓嶉�氳繃
+ this.checkLoadN = true
+ }else{
+ // 瀹℃牳閫氳繃
+ this.checkLoadY = true
+ }
+ this.formData0.state = e==0?this.formData0.state:'宸插鏍�'
+ this.$axios.post(this.$api.auxiliaryWorkingHoursDay.check, {
+ ...this.formData0
+ }, {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }).then(res => {
+ if(e==0){
+ // 瀹℃牳涓嶉�氳繃
+ this.checkLoadN = false
+ }else{
+ // 瀹℃牳閫氳繃
+ this.checkLoadY = false
+ }
+ if (res.code == 201) return
+ this.$message.success('鎿嶄綔鎴愬姛')
+ this.checkVisible = false
+ this.refreshTable()
+ this.collectWorkingHours()
+ })
+ }else{
+ if(e==0){
+ this.checkLoadN = true
+ }else{
+ this.checkLoadY = true
+ }
+ this.$axios.post(this.$api.auxiliaryWorkingHoursDay.approve, {
+ id:this.formData0.id,
+ state:e==0?'宸叉彁浜�':'宸叉壒鍑�'
+ }, {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }).then(res => {
+ if(e==0){
+ this.checkLoadN = false
+ }else{
+ this.checkLoadY = false
+ }
+ if (res.code == 201) return
+ this.$message.success('鎿嶄綔鎴愬姛')
+ this.checkVisible = false
+ this.refreshTable()
+ this.collectWorkingHours()
+ })
+ }
},
selectEnumByCategory() {
this.$axios.post(this.$api.enums.selectEnumByCategory, {
category: "鐝绫诲瀷"
}).then(res => {
this.classType = res.data
+ this.componentData.tagField.shift.select = res.data
+ this.classType = res.data
+ this.componentData.selectField.shift.select = res.data
})
},
getCurrentWeekNumber(now=new Date()) {
@@ -491,7 +724,45 @@
let d = e.getDay()
// let c = str.charAt(d)
// return `鍛�${c}`
- return d
+ return String(d)
+ },
+ collectWorkingHours(){
+ this.$axios.post(this.$api.auxiliaryOutputWorkingHours.collectWorkingHours).then(res => {
+ this.totalInfo = res.data
+ })
+ },
+ selectshiftByUser(){
+ this.$axios.post(this.$api.auxiliaryWorkingHoursDay.selectshiftByUser).then(res => {
+ this.formData.shift = res.data
+ })
+ },
+ getInfoByCode(){
+ if(this.formData.number){
+ this.$axios.post(this.$api.auxiliaryWorkingHoursDay.selectAuxiliaryWorkingHoursByNumber+'?number='+this.formData.number).then(res => {
+ this.auxiliaryWorking = res.data
+ if(this.addVisible){
+ this.formData.approvedWorkingHour = this.auxiliaryWorking.approvedWorkingHour
+ this.formData.auxiliaryProject = this.auxiliaryWorking.auxiliaryProject
+ }else if(this.title=='瀹℃牳'&&this.checkVisible){
+ this.formData0.approvedWorkingHour = this.auxiliaryWorking.approvedWorkingHour
+ this.formData0.auxiliaryProject = this.auxiliaryWorking.auxiliaryProject
+ }
+ })
+ }
+ },
+ handleOut(){
+ this.outLoading = true
+ this.$axios.get(this.$api.auxiliaryOutputWorkingHours.exportWorkingHours,{responseType: "blob"}).then(res => {
+ this.outLoading = false
+ this.$message.success('瀵煎嚭鎴愬姛')
+ const blob = new Blob([res]);
+ console.log(blob)
+ const url = URL.createObjectURL(blob);
+ const link = document.createElement('a');
+ link.href = url;
+ link.download = '鏃ュ伐鏃舵眹鎬昏〃.xlsx';
+ link.click();
+ })
},
}
}
--
Gitblit v1.9.3