From 887b0e16b77a6d9c1161ada57f923f0ee20839b2 Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期二, 14 五月 2024 02:26:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/components/view/b3-work-time-management.vue | 2
src/components/do/b1-ins-order/add.vue | 4
src/main.js | 4
src/components/do/b3-work-time-management/work-time-management.vue | 10
src/components/do/b3-work-time-management/work-time-config.vue | 6
src/components/do/b3-work-time-management/work-time-statistics.vue | 233 ++++++++++++++++++++++++++++++++++++++
src/components/view/b3-classes.vue | 33 ++++-
src/components/view/b1-inspection-order.vue | 16 +-
8 files changed, 278 insertions(+), 30 deletions(-)
diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index 8967cea..75adee2 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -667,6 +667,10 @@
this.addObj.sampleNum = this.sampleList.length
this.$nextTick(() => {
this.$refs.sampleTable.doLayout()
+ if(this.addObj.sampleNum>0){
+ this.$refs.sampleTable.setCurrentRow(this.sampleList[0],true)
+ this.rowClick(this.sampleList[0])
+ }
})
})
}
diff --git a/src/components/do/b3-work-time-management/work-time-config.vue b/src/components/do/b3-work-time-management/work-time-config.vue
index ed06257..d26142d 100644
--- a/src/components/do/b3-work-time-management/work-time-config.vue
+++ b/src/components/do/b3-work-time-management/work-time-config.vue
@@ -8,7 +8,7 @@
</div>
<div class="search_thing">
<div class="search_label">瀹為獙瀹わ細</div>
- <el-select v-model="componentData.entity.laboratory" placeholder="鍏ㄩ儴" size="small">
+ <el-select v-model="componentData.entity.laboratory" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()">
<el-option v-for="item in laboratoryList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
@@ -16,7 +16,7 @@
<div class="search_thing">
<div class="search_label">閮ㄩ棬锛�</div>
<div class="search_input">
- <el-select v-model="componentData.entity.department" placeholder="鍏ㄩ儴" size="small">
+ <el-select v-model="componentData.entity.department" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()">
<el-option v-for="item in partList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
@@ -200,7 +200,7 @@
margin-top: 10px;
background-color: #fff;
width: calc(100% - 40px);
- height: calc(100% - 60px - 80px - 10px - 40px);
+ height: calc(100% - 60px - 80px - 10px - 24px);
padding: 20px;
}
</style>
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 cb657d0..17c0b8a 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
@@ -13,13 +13,13 @@
</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="componentData.entity.laboratory" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()">
<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%;"
@@ -28,7 +28,7 @@
type="daterange"
range-separator="鑷�"
start-placeholder="寮�濮嬫棩鏈�"
- end-placeholder="缁撴潫鏃ユ湡">
+ end-placeholder="缁撴潫鏃ユ湡" @change="refreshTable()">
</el-date-picker>
</div>
</div>
@@ -36,11 +36,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="componentData.entity.number" @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">
+ <el-select v-model="componentData.entity.laboratory" 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>
diff --git a/src/components/do/b3-work-time-management/work-time-statistics.vue b/src/components/do/b3-work-time-management/work-time-statistics.vue
index e624163..fd79c90 100644
--- a/src/components/do/b3-work-time-management/work-time-statistics.vue
+++ b/src/components/do/b3-work-time-management/work-time-statistics.vue
@@ -1,19 +1,246 @@
<template>
<div class="work-time-statistics">
- 宸ユ椂缁熻
+ <div class="search">
+ <div class="search_thing">
+ <div class="search_label">鏃ユ湡锛�</div>
+ <div class="search_input" style="display: flex;align-items: center;">
+ <el-date-picker
+ v-model="componentData.entity.laboratory"
+ type="month"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="閫夋嫨鏈�" size="small" style="width: 100%;">
+ </el-date-picker>
+ </div>
+ </div>
+ <div class="search_thing">
+ <div class="search_label">鍛樺伐锛�</div>
+ <el-select v-model="componentData.entity.laboratory" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()">
+ <el-option v-for="item in personList" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="search_thing">
+ <div class="search_label">閮ㄩ棬锛�</div>
+ <div class="search_input">
+ <el-select v-model="componentData.entity.laboratory" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()">
+ <el-option v-for="item in weekList" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ </div>
+ <div class="search_thing" style="padding-left: 30px;width: 100px;">
+ <el-button size="small" @click="refresh()">閲� 缃�</el-button>
+ <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
+ </div>
+ <el-button size="small" type="primary" style="position: absolute;right: 50px;" @click="handleDown">瀵� 鍑�</el-button>
+ <el-button size="small" type="primary" style="position: absolute;right: 120px;" @click="handleUp" v-show="currentTable == 'value0'">瀵� 鍏�</el-button>
+ </div>
+ <el-radio-group v-model="currentTable" size="small" :key="'111'" style="margin-top: 10px;">
+ <el-radio-button label="value0">
+ 鍘熷宸ユ椂
+ </el-radio-button>
+ <el-radio-button label="value1">
+ 淇宸ユ椂
+ </el-radio-button>
+ </el-radio-group>
+ <div class="table">
+ <ValueTable ref="ValueTable0"
+ v-show="currentTable == 'value0'"
+ :url="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours"
+ :componentData="componentData" :inputUrl="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours" :downUrl="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours" :key="upIndex" />
+ <ValueTable ref="ValueTable1"
+ v-show="currentTable == 'value1'"
+ :url="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours"
+ :componentData="componentData0" :key="upIndex" />
+ </div>
</div>
</template>
<script>
+import ValueTable from '../../tool/value-table.vue'
export default {
+ components: {
+ ValueTable
+ },
data () {
return{
-
+ componentData: {
+ entity: {
+ number: null,
+ department: null,
+ laboratory: null,
+ orderBy: {
+ field: 'id',
+ order: 'desc'
+ }
+ },
+ isIndex: true,
+ showSelect: false,
+ 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
+ }
+ },
+ requiredAdd: [],
+ requiredUp: []
+ },
+ componentData0: {
+ entity: {
+ number: null,
+ department: null,
+ laboratory: null,
+ orderBy: {
+ field: 'id',
+ order: 'desc'
+ }
+ },
+ isIndex: true,
+ showSelect: false,
+ 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
+ }
+ },
+ requiredAdd: [],
+ requiredUp: []
+ },
+ upIndex:0,
+ weekList:[],
+ personList:[],
+ currentTable:'value0'
+ }
+ },
+ mounted(){
+ this.getUsers()
+ },
+ methods: {
+ refresh(){},
+ refreshTable(){},
+ getUsers(){
+ this.$axios.post(this.$api.user.selectUserList, {
+ page: {
+ current: -1,
+ size: -1,
+ },
+ entity: {
+ name: null,
+ }
+ }, {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }).then(res => {
+ if (res.code === 201) {
+ return
+ }
+ let arr = res.data.body.records
+ this.personList = arr
+ })
+ },
+ handleDown(){
+ if(this.currentTable == 'value0'){
+ this.$refs.ValueTable0.downFile(false)
+ }else{
+ this.$refs.ValueTable1.downFile(false)
+ }
+ },
+ handleUp(){
+ this.$refs.ValueTable0.openUpload()
}
}
}
</script>
-<style>
+<style scoped>
+.work-time-statistics{
+ height: 100%;
+}
+.search {
+ background-color: #fff;
+ height: 80px;
+ display: flex;
+ align-items: center;
+ }
+ .search_thing {
+ width: 270px;
+ display: flex;
+ align-items: center;
+ }
+
+ .search_label {
+ width: 60px;
+ font-size: 14px;
+ text-align: right;
+ }
+
+ .search_input {
+ width: calc(100% - 60px);
+ }
+ .table {
+ margin-top: 10px;
+ background-color: #fff;
+ width: calc(100% - 40px);
+ height: calc(100% - 60px - 80px - 10px - 40px - 25px);
+ padding: 20px;
+ }
</style>
diff --git a/src/components/view/b1-inspection-order.vue b/src/components/view/b1-inspection-order.vue
index 7ccb0ea..a5f0a23 100644
--- a/src/components/view/b1-inspection-order.vue
+++ b/src/components/view/b1-inspection-order.vue
@@ -509,13 +509,15 @@
},
// 涓嬭浇鎶ュ憡
download(row) {
- // console.log(row);
- let url = row.url;
- const link = document.createElement('a');
- link.href = this.javaApi + url;
- link.target = '_blank';
- document.body.appendChild(link);
- link.click();
+ let url = row.urlS?row.urlS:row.url;
+ if(url){
+ url = url.split('.')[0]+'.pdf'
+ const link = document.createElement('a');
+ link.href = this.javaApi + url;
+ link.target = '_blank';
+ document.body.appendChild(link);
+ link.click();
+ }
},
// 瀹℃牳
handleVerify(row) {
diff --git a/src/components/view/b3-classes.vue b/src/components/view/b3-classes.vue
index 2d9ffd5..0417519 100644
--- a/src/components/view/b3-classes.vue
+++ b/src/components/view/b3-classes.vue
@@ -60,7 +60,7 @@
<div class="user-pic">{{ item.name.charAt(0) }}</div>
<div class="user-info">
<p style="font-size: 14px;color: #3A7BFA;line-height: 24px;">{{ item.name }}</p>
- <p style="color: #999999;font-size: 12px;transform: scale(0.8) translateX(-20px);white-space: nowrap;width: 150px;overflow-x: show;">鏃�: {{ item.day0 }}, 涓�: {{ item.day1 }}, 澶�: {{ item.day2 }}, 浼�: {{ item.day3 }}, 鍋�: {{ item.day4 }}</p>
+ <p style="color: #999999;font-size: 12px;transform: scale(0.8) translateX(-20px);white-space: nowrap;width: 150px;overflow-x: show;">鏃�:{{ item.day0 }},涓�:{{ item.day1 }},澶�:{{ item.day2 }},浼�:{{ item.day3 }},鍋�:{{ item.day4 }},宸�:{{ item.day6 }}</p>
<p style="margin-top: 4px;"><span style="color: #999999;font-size: 12px;display: inline-block;transform: scale(0.8) translateX(-10px);">鍚堣鍑哄嫟: </span><span style="font-size: 16px;
color: #FF4902;">{{ query.month?item.monthlyAttendance
.totalAttendance:item.sidebarAnnualAttendance
@@ -75,7 +75,7 @@
<span class="month" style="position: absolute;top: 4px;" v-if="item.week=='鍛ㄦ棩'">{{ item.weekNum }}鍛�</span>
<p style="height: 26px;position: absolute;bottom: 12px;">
<span class="day">{{ item.day }}</span>
- <span class="week">{{ item.week }}</span>
+ <span class="week">{{ item.week.charAt(1) }}</span>
</p>
</div>
</div>
@@ -83,13 +83,13 @@
v-on:mouseenter="onMouseEnter(index)"
v-on:mouseleave="currentUserIndex=null">
<div class="content-body-item" v-for="(m,i) in item.list" :key="'d'+i" :class="{hoverType:currentUserIndex==index}">
- <div class="work-box" :class="{type0:m.shift==='0',type1:m.shift==='1',type2:m.shift==='2',type3:m.shift==='3',type4:m.shift==='4',}">
+ <div class="work-box" :class="{type0:m.shift==='0',type1:m.shift==='1',type2:m.shift==='2',type3:m.shift==='3',type4:m.shift==='4',type5:m.shift==='5',type6:m.shift==='6'}">
<!-- <div class="work-box-left">
<span>{{ getShiftByDic(m.shift) }}</span>
</div> -->
<el-dropdown trigger="click" placement="bottom" @command="e=>handleCommand(e,m)" :disabled="!downPower">
<!-- <i class="el-icon-arrow-down el-icon--right" style="font-size: 20px;color: #fff;cursor: pointer;"></i> -->
- <span style="cursor: pointer;">{{ getShiftByDic(m.shift) }}</span>
+ <span style="cursor: pointer;" :style="`opacity: ${getShiftByDic(m.shift)=='鏃�'?0:1};`">{{ getShiftByDic(m.shift) }}</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(n,j) in classType" :key="'h'+j" :command="n.value">{{ n.label }}</el-dropdown-item>
</el-dropdown-menu>
@@ -112,7 +112,7 @@
<div class="user-pic">{{ item.name.charAt(0) }}</div>
<div class="user-info">
<p style="font-size: 14px;color: #3A7BFA;line-height: 24px;">{{ item.name }}</p>
- <p style="color: #999999;font-size: 12px;transform: scale(0.8) translateX(-20px);white-space: nowrap;width: 150px;overflow-x: show;">鏃�: {{ item.day0 }}, 涓�: {{ item.day1 }}, 澶�: {{ item.day2 }}, 浼�: {{ item.day3 }}, 鍋�: {{ item.day4 }}</p>
+ <p style="color: #999999;font-size: 12px;transform: scale(0.8) translateX(-20px);white-space: nowrap;width: 150px;overflow-x: show;">鏃�:{{ item.day0 }},涓�:{{ item.day1 }},澶�:{{ item.day2 }},浼�:{{ item.day3 }},鍋�:{{ item.day4 }},宸�:{{ item.day6 }}</p>
<p style="margin-top: 4px;"><span style="color: #999999;font-size: 12px;display: inline-block;transform: scale(0.8) translateX(-10px);">鍚堣鍑哄嫟: </span><span style="font-size: 16px;
color: #FF4902;">{{ item.work_time }}澶�</span></p>
</div>
@@ -139,7 +139,7 @@
<div class="content-body-item" v-for="(m,i) in item.monthList" :key="'d'+i" :class="{hoverType:currentUserIndex==index}">
<p style="color:rgb(153, 153, 153);font-size: 12px;">鍚堣鍑哄嫟锛�<span style="font-size: 14px;color:#000">{{ m.totalMonthAttendance }}</span></p>
<p style="color:rgb(153, 153, 153);font-size: 12px;">
- 鏃�: {{ m.day0 }}, 涓�: {{ m.day1 }}, 澶�: {{ m.day2 }}, 浼�: {{ m.day3 }}, 鍋�: {{ m.day4 }}
+ 鏃�:{{ m.day0 }},涓�:{{ m.day1 }},澶�:{{ m.day2 }},浼�:{{ m.day3 }},鍋�:{{ m.day4 }},宸�:{{ m.day6 }}
</p>
</div>
</div>
@@ -583,7 +583,7 @@
if(obj){
return obj.label
}
- return '鏈帓鐝�'
+ return '鏃�'
}
}
}
@@ -664,7 +664,7 @@
}
.content-title-item{
height: 100%;
- width: 60px;
+ width: 50px;
flex-shrink: 0;
border-bottom: 1px solid #EEEEEE;
box-sizing: border-box;
@@ -699,8 +699,9 @@
}
.content-body-item{
height: 70px;
- width: 60px;
+ width: 50px;
flex-shrink: 0;
+ font-size: 12px;
box-sizing: border-box;
padding: 4px;
border-right: 1px solid #EEEEEE;
@@ -752,6 +753,20 @@
.work-box.type4 span{
color: #F56C6C !important;
}
+.work-box.type5{
+ background: #ff46c145;
+ color: #ff46c0 !important;
+}
+.work-box.type5 span{
+ color: #ff46c0 !important;
+}
+.work-box.type6{
+ background: #00036418;
+ color: #000464 !important;
+}
+.work-box.type6 span{
+ color: #000464 !important;
+}
/* .el-icon-arrow-down::before{
color: #c6c4c4;
} */
diff --git a/src/components/view/b3-work-time-management.vue b/src/components/view/b3-work-time-management.vue
index 9a90bfc..66d77a4 100644
--- a/src/components/view/b3-work-time-management.vue
+++ b/src/components/view/b3-work-time-management.vue
@@ -27,7 +27,7 @@
},
data() {
return{
- currentComponent:'workTimeConfig'
+ currentComponent:'workTimeStatistics'
}
}
}
diff --git a/src/main.js b/src/main.js
index f149db9..24fdc91 100644
--- a/src/main.js
+++ b/src/main.js
@@ -13,8 +13,8 @@
//鏈湴
Vue.prototype.LOCATIONVUE = "http://127.0.0.1:80";
-// const javaApi = 'http://192.168.11.200:8001';//鏉�
-const javaApi = 'http://10.20.102.168:8001';//寮�
+const javaApi = 'http://192.168.11.200:8001';//鏉�
+// const javaApi = 'http://10.20.102.168:8001';//寮�
// const javaApi = 'http://172.20.10.3:8001';//濮�
// const javaApi = 'http://192.168.11.2:8001';//鏌�
// const javaApi = 'http://114.132.189.42:1234';//娴嬭瘯鏈�
--
Gitblit v1.9.3