From ce3be66189098e60bac79251d44ae390fa0450d7 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期三, 06 九月 2023 15:45:06 +0800
Subject: [PATCH] modified: src/views/experiment/planAssignments/plan.vue
---
src/views/experiment/planAssignments/index.vue | 356 ++++++++++++++++++++++++++++++----------------------------
1 files changed, 185 insertions(+), 171 deletions(-)
diff --git a/src/views/experiment/planAssignments/index.vue b/src/views/experiment/planAssignments/index.vue
index cffcc61..ad051ce 100644
--- a/src/views/experiment/planAssignments/index.vue
+++ b/src/views/experiment/planAssignments/index.vue
@@ -3,12 +3,17 @@
<div class="top-bar">
<el-form ref="form" :inline="true" :model="searchData">
<el-form-item label="璁惧鍚嶇О:" class="sermargin">
- <el-select v-model="searchData.devicename" placeholder="鍏ㄩ儴" style="width: 100px;">
+ <el-select
+ v-model="searchData.devicename"
+ placeholder="鍏ㄩ儴"
+ style="width: 120px"
+ >
<el-option
- v-for="item in options"
+ v-for="item in options1"
:key="item.value"
:label="item.label"
- :value="item.value">
+ :value="item.value"
+ >
</el-option>
</el-select>
</el-form-item>
@@ -16,206 +21,215 @@
<el-date-picker
v-model="searchData.time"
type="daterange"
+ value-format="yyyy-MM-dd"
range-separator="~"
start-placeholder="寮�濮嬫棩鏈�"
- end-placeholder="缁撴潫鏃ユ湡">
+ end-placeholder="缁撴潫鏃ユ湡"
+ >
</el-date-picker>
</el-form-item>
- <el-form-item label="妫�楠屼汉:" style="margin-right: 20px;">
- <el-select v-model="searchData.person" placeholder="鍏ㄩ儴" style="width: 80px;margin-right: 100px;">
+ <el-form-item label="妫�楠屼汉:" style="margin-right: 20px">
+ <el-select
+ v-model="searchData.person"
+ placeholder="鍏ㄩ儴"
+ style="width: 100px; margin-right: 100px"
+ >
<el-option
- v-for="item in options"
+ v-for="item in options2"
:key="item.value"
:label="item.label"
- :value="item.value">
+ :value="item.value"
+ >
</el-option>
</el-select>
</el-form-item>
<el-form-item>
- <el-button type="primary" plain style="margin-right: 10px;">閲嶇疆</el-button>
- <el-button type="primary">鏌ヨ</el-button>
+ <el-button
+ type="primary"
+ plain
+ style="margin-right: 10px"
+ @click="resetData()"
+ >閲嶇疆</el-button
+ >
+ <el-button type="primary" @click="getData()">鏌ヨ</el-button>
</el-form-item>
- </el-form>
+ </el-form>
</div>
<div class="table-box">
<div class="formwrapper">
<el-table
ref="planTable"
:max-height="800"
- :cell-style="{textAlign: 'center'}"
- :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
+ :cell-style="{ textAlign: 'center' }"
+ :header-cell-style="{
+ border: '0px',
+ background: '#f5f7fa',
+ color: '#606266',
+ boxShadow: 'inset 0 1px 0 #ebeef5',
+ textAlign: 'center',
+ }"
:data="planTable"
style="width: 100%"
>
- <el-table-column
- type="index"
- label="搴忓彿"
- min-width="10%"
- />
- <el-table-column
- prop="device"
- label="妫�楠岃澶�"
- min-width="8%"
- />
- <el-table-column
- prop="samplename"
- label="鏍峰搧鍚嶇О"
- min-width="8%"
- />
- <el-table-column
- prop="sampleid"
- label="鏍峰搧缂栧彿"
- min-width="10%"
- />
- <el-table-column
- prop="modelandspecification"
- label="瑙勬牸鍨嬪彿"
- min-width="12%"
- />
- <el-table-column
- prop="unit"
- label="鍗曚綅"
- min-width="5%"
- />
- <el-table-column
- prop="amount"
- label="鏁伴噺"
- min-width="5%"
- />
- <el-table-column
- prop="checkproject"
- label="妫�楠岄」鐩�"
- min-width="12%"
- />
- <el-table-column
- prop="checker"
- label="妫�楠屼汉"
- min-width="6%"
- />
- <el-table-column
- prop="duration"
- label="璁″垝宸ユ湡/h"
- min-width="8%"
- />
- <el-table-column
- prop="progress"
- label="妫�楠岃繘搴�"
- min-width="12%">
- <template slot-scope="scope">
- <div v-if="scope.row.progress === 100" style="display: flex;">
- <el-progress :text-inside="true" :stroke-width="15" :percentage="scope.row.progress" status="success" style="width: 70%;"></el-progress>
- <span style="color: rgb(103, 194, 58);">宸插畬鎴�</span>
- </div>
- <div v-if="scope.row.progress <100 && scope.row.progress >0" style="display: flex;">
- <el-progress :text-inside="true" :stroke-width="15" :percentage="scope.row.progress" status="warning" style="width: 70%;"></el-progress>
- <span style="color: rgb(230, 162, 60);">妫�楠屼腑</span>
- </div>
- <div v-if="scope.row.progress === 0" style="display: flex;">
- <el-progress :text-inside="true" :stroke-width="15" :percentage="scope.row.progress" style="width: 70%;"></el-progress>
- <span style="color: gray">鏈垎閰�</span>
- </div>
- <div v-else>
- </div>
- </template>
- </el-table-column>
- <el-table-column
- prop="starttime"
- label="璁″垝寮�濮嬫椂闂�"
- min-width="10%"
- />
- <el-table-column
- prop="finishtime"
- label="璁″垝缁撴潫鏃堕棿"
- min-width="10%"
- />
- <el-table-column
- label="鎿嶄綔"
- min-width="8%"
- >
- <template slot-scope="scope">
- <el-button type="text" size="small" @click="handleClick(scope.row)">鏌ョ湅</el-button>
- </template>
- </el-table-column>
+ <el-table-column type="index" label="搴忓彿" min-width="10%" />
+ <el-table-column prop="device" label="妫�楠岃澶�" min-width="8%" />
+ <el-table-column prop="samplename" label="鏍峰搧鍚嶇О" min-width="8%" />
+ <el-table-column prop="sampleid" label="鏍峰搧缂栧彿" min-width="10%" />
+ <el-table-column
+ prop="modelandspecification"
+ label="瑙勬牸鍨嬪彿"
+ min-width="12%"
+ />
+ <el-table-column prop="unit" label="鍗曚綅" min-width="5%" />
+ <el-table-column prop="amount" label="鏁伴噺" min-width="5%" />
+ <el-table-column
+ prop="checkproject"
+ label="妫�楠岄」鐩�"
+ min-width="12%"
+ />
+ <el-table-column prop="checker" label="妫�楠屼汉" min-width="6%" />
+ <el-table-column prop="duration" label="璁″垝宸ユ湡/h" min-width="8%" />
+ <el-table-column prop="progress" label="妫�楠岃繘搴�" min-width="12%">
+ <template slot-scope="scope">
+ <div v-if="scope.row.progress === 100" style="display: flex">
+ <el-progress
+ :text-inside="true"
+ :stroke-width="15"
+ :percentage="scope.row.progress"
+ status="success"
+ style="width: 70%"
+ ></el-progress>
+ <span style="color: rgb(103, 194, 58)">宸插畬鎴�</span>
+ </div>
+ <div
+ v-if="scope.row.progress < 100 && scope.row.progress > 0"
+ style="display: flex"
+ >
+ <el-progress
+ :text-inside="true"
+ :stroke-width="15"
+ :percentage="scope.row.progress"
+ status="warning"
+ style="width: 70%"
+ ></el-progress>
+ <span style="color: rgb(230, 162, 60)">妫�楠屼腑</span>
+ </div>
+ <div v-if="scope.row.progress === 0" style="display: flex">
+ <el-progress
+ :text-inside="true"
+ :stroke-width="15"
+ :percentage="scope.row.progress"
+ style="width: 70%"
+ ></el-progress>
+ <span style="color: gray">鏈垎閰�</span>
+ </div>
+ <div v-else></div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="starttime"
+ label="璁″垝寮�濮嬫椂闂�"
+ min-width="10%"
+ />
+ <el-table-column
+ prop="finishtime"
+ label="璁″垝缁撴潫鏃堕棿"
+ min-width="10%"
+ />
+ <el-table-column label="鎿嶄綔" min-width="8%">
+ <template slot-scope="scope">
+ <el-button
+ type="text"
+ size="small"
+ @click="handleClick(scope.row)"
+ >鏌ョ湅</el-button
+ >
+ </template>
+ </el-table-column>
</el-table>
</div>
- </div>
+ </div>
</div>
</template>
<script>
+import { selectAllPlan } from "@/api/experiment/planAssignments";
export default {
data() {
return {
searchData: {
devicename: "",
- time: "",
+ time: [],
person: "",
},
- options: [
- {
- value: "閫夐」1",
- label: "閫夐」1",
- },
- {
- value: "閫夐」2",
- label: "閫夐」2",
- disabled: true,
- },
- ],
- planTable: [{
- device: '鎷夊姏鏈�',
- samplename: '闀�閿岄挗缁炵嚎',
- sampleid: 'SN1027401-12937',
- modelandspecification: 'JLHA/G1A-185/30-14/7',
- unit: 'm',
- amount: '200',
- checkproject: '鎶楀帇寮哄害锛堢粸鍓嶏級',
- checker: '榛勫皬鏄�',
- duration: '2',
- progress: 100,
- starttime: '2023-08-04 8:00',
- finishtime: '2023-08-04 10:00',
- },{
- device: '鎷夊姏鏈�',
- samplename: '闀�閿岄挗缁炵嚎',
- sampleid: 'SN1027401-12937',
- modelandspecification: 'JLHA/G1A-185/30-14/7',
- unit: 'm',
- amount: '200',
- checkproject: '鎶楀帇寮哄害锛堢粸鍓嶏級',
- checker: '榛勫皬鏄�',
- duration: '2',
- progress: 60,
- starttime: '2023-08-04 8:00',
- finishtime: '2023-08-04 10:00',
- },{
- device: '鎷夊姏鏈�',
- samplename: '闀�閿岄挗缁炵嚎',
- sampleid: 'SN1027401-12937',
- modelandspecification: 'JLHA/G1A-185/30-14/7',
- unit: 'm',
- amount: '200',
- checkproject: '鎶楀帇寮哄害锛堢粸鍓嶏級',
- checker: '榛勫皬鏄�',
- duration: '2',
- progress: 30,
- starttime: '2023-08-04 8:00',
- finishtime: '2023-08-04 10:00',
- },{
- device: '鎷夊姏鏈�',
- samplename: '闀�閿岄挗缁炵嚎',
- sampleid: 'SN1027401-12937',
- modelandspecification: 'JLHA/G1A-185/30-14/7',
- unit: 'm',
- amount: '200',
- checkproject: '鎶楀帇寮哄害锛堢粸鍓嶏級',
- checker: '榛勫皬鏄�',
- duration: '2',
- progress: 0,
- starttime: '2023-08-04 8:00',
- finishtime: '2023-08-04 10:00',
- }]
+ options1: [],
+ options2: [],
+ planTable: [],
+ planTableView: [],
};
+ },
+ created() {
+ this.getData();
+ },
+
+ methods: {
+ // 鏌ヨ鍒楄〃
+ async getData() {
+ const params = {
+ device: this.searchData.devicename
+ ? this.searchData.devicename
+ : undefined,
+ user: this.searchData.person ? this.searchData.person : undefined,
+ beginTime:
+ this.searchData.time && this.searchData.time.length > 0
+ ? this.searchData.time[0]
+ : undefined,
+ endTime:
+ this.searchData.time && this.searchData.time.length > 0
+ ? this.searchData.time[1]
+ : undefined,
+ };
+ const { data } = await selectAllPlan(params);
+ this.planTable = data;
+ if (this.options1.length === 0) {
+ //娣诲姞璁惧鍚嶇О
+ const deviceData = [];
+ this.planTable.forEach((res) => {
+ if (!deviceData.includes(res.device)) {
+ deviceData.push(res.device);
+ }
+ });
+ deviceData.forEach((item) => {
+ this.options1.push({
+ value: item,
+ label: item,
+ });
+ });
+ //娣诲姞鐢ㄦ埛
+ const userData = [];
+ this.planTable.forEach((res) => {
+ if (res.checker != undefined && !userData.includes(res.checker)) {
+ userData.push(res.checker);
+ }
+ });
+ userData.forEach((item) => {
+ this.options2.push({
+ value: item,
+ label: item,
+ });
+ });
+ console.log(this.options2);
+ }
+ },
+ // 閲嶇疆鎸夐挳
+ resetData() {
+ (this.searchData = {
+ devicename: "",
+ time: [],
+ person: "",
+ }),
+ this.getData();
+ },
},
};
</script>
@@ -236,16 +250,16 @@
margin-right: 60px;
}
}
-.table-box{
+.table-box {
background-color: #fff;
margin: 0px -15px;
margin-top: 35px;
display: flex;
flex-direction: column;
height: 78vh;
- .formwrapper{
+ .formwrapper {
padding: 0px 20px;
- margin-top: 0px;
+ margin-top: 20px;
flex: 1;
background: #fff;
/* padding: 20px 20px 10px 20px; */
--
Gitblit v1.9.3