From 2ffb110afafd3374c458cea74e41bc1da9ccb739 Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期二, 27 二月 2024 09:13:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 static/js/menu.js                       |    2 
 src/assets/api/controller.js            |   14 +++
 src/components/view/5capacity-scope.vue |  211 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 225 insertions(+), 2 deletions(-)

diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js
index a3738d8..e0385f8 100644
--- a/src/assets/api/controller.js
+++ b/src/assets/api/controller.js
@@ -4,7 +4,8 @@
 		login,
 		user,
 		dataReporting,
-		enums
+		enums,
+		capacityScope
 	}
 }
 
@@ -66,3 +67,14 @@
 	upEnum: "/enum/upEnum", //淇敼鏋氫妇
 	delEnum: "/enum/delEnum", //鍒犻櫎鏋氫妇
 }
+
+const capacityScope = {
+	selectItemParameterList: "/capacityScope/selectItemParameterList", //鑾峰彇妫�楠岄」鐩弬鏁�
+	addItemParameter: "/capacityScope/addItemParameter", //鏂板妫�楠岄」鐩弬鏁�
+	delItemParameter: "/capacityScope/delItemParameter", //鍒犻櫎妫�楠岄」鐩弬鏁�
+	upItemParameter: "/capacityScope/upItemParameter", //淇敼妫�楠岄」鐩弬鏁�
+	selectTestObjectList: "/capacityScope/selectTestObjectList", //鑾峰彇妫�娴嬪璞�
+	addTestObject: "/capacityScope/addTestObject", //鏂板妫�娴嬪璞�
+	delTestObject: "/capacityScope/delTestObject", //鍒犻櫎妫�娴嬪璞�
+	upTestObject: "/capacityScope/upTestObject", //淇敼妫�娴嬪璞�
+}
diff --git a/src/components/view/5capacity-scope.vue b/src/components/view/5capacity-scope.vue
new file mode 100644
index 0000000..cf0ee79
--- /dev/null
+++ b/src/components/view/5capacity-scope.vue
@@ -0,0 +1,211 @@
+<style scoped>
+	.title {
+		height: 60px;
+		line-height: 60px;
+	}
+
+	.search {
+		background-color: #fff;
+		height: 80px;
+		display: flex;
+		align-items: center;
+	}
+
+	.search_thing {
+		width: 350px;
+		display: flex;
+		align-items: center;
+	}
+
+	.search_label {
+		width: 110px;
+		font-size: 14px;
+		text-align: right;
+	}
+
+	.search_input {
+		width: calc(100% - 110px);
+	}
+
+	.table {
+		margin-top: 10px;
+		background-color: #fff;
+		width: calc(100% - 40px);
+		height: calc(100% - 60px - 80px - 10px - 40px);
+		padding: 20px;
+	}
+</style>
+
+<template>
+	<div class="role_manage">
+		<div>
+			<el-row class="title">
+				<el-col :span="12" style="padding-left: 20px;">  
+                    <el-radio-group v-model="radio" @change="selectorSwitch">
+                        <el-radio-button label="0">妫�楠岄」鐩弬鏁�</el-radio-button>
+                        <el-radio-button label="1">妫�楠屽璞�</el-radio-button>
+                    </el-radio-group>
+                </el-col>
+				<el-col :span="12" style="text-align: right;">
+					<el-button size="medium" type="primary" @click="openAdd" v-if="addPower">鏂板</el-button>
+					<el-button size="medium" icon="el-icon-delete" >鍒犻櫎</el-button>
+				</el-col>
+			</el-row>
+		</div>
+            <div class="search" v-if="showItemParameter">
+			<div class="search_thing">
+				<div class="search_label">妫�楠岄」锛�</div>
+				<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+						v-model="itemParameterData.entity.inspectionItem" @keyup.enter.native="refreshTable()"></el-input></div>
+			</div>
+			<div class="search_thing">
+				<div class="search_label">瀹為獙瀹わ細</div>
+				<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+						v-model="itemParameterData.entity.laboratory" @keyup.enter.native="refreshTable()"></el-input></div>
+			</div>
+            <div class="search_thing">
+				<div class="search_label">璁惧缁勶細</div>
+				<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+						v-model="itemParameterData.entity.deviceGroup" @keyup.enter.native="refreshTable()"></el-input></div>
+			</div>
+			<div class="search_thing" style="padding-left: 30px;">
+				<el-button size="small" @click="refresh()">閲� 缃�</el-button>
+				<el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
+			</div>
+		</div>
+		<div class="table" v-if="showItemParameter">
+			<ValueTable ref="itemParameterTable" :url="$api.capacityScope.selectItemParameterList" :upUrl="$api.capacityScope.upItemParameter" :delUrl="$api.capacityScope.delItemParameter" :componentData="itemParameterData" :key="upIndex"/>
+		</div>
+        <div class="search testObject" v-if="showTestObject">
+			<div class="search_thing">
+				<div class="search_label">鏍峰搧鍚嶇О锛�</div>
+				<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+						v-model="testObjectData.entity.specimenName" @keyup.enter.native="refreshTable()"></el-input></div>
+			</div>
+			<div class="search_thing" style="padding-left: 30px;">
+				<el-button size="small" @click="refresh()">閲� 缃�</el-button>
+				<el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
+			</div>
+		</div>
+		<div class="table" v-if="showTestObject">
+			<ValueTable ref="testObjectTable" :url="$api.capacityScope.selectTestObjectList" :upUrl="$api.capacityScope.upTestObject" :delUrl="$api.capacityScope.delTestObject" :componentData="testObjectData" :key="upIndex"/>
+		</div>
+	</div>
+</template>
+
+<script>
+	import ValueTable from '../tool/value-table.vue'
+	export default {
+		components: {
+			ValueTable
+		},
+		data() {
+			return {
+                radio: '0',
+                showItemParameter: true,
+                showTestObject: false,
+				itemParameterData: {
+					entity: {
+						inspectionItem: null,
+						laboratory: null,
+						deviceGroup: null,
+						orderBy: {
+							field: 'id',
+							order: 'asc'
+						}
+					},
+					isIndex: false,
+					showSelect: true,
+					select: true,
+					do: [{
+						id: 'update',
+						font: '缂栬緫',
+						type: 'text',
+						method: 'doDiy',
+						field:[]
+					},{
+						id: 'delete',
+						font: '鍒犻櫎',
+						type: 'text',
+						method: 'doDiy'
+					}],
+					tagField: {},
+					selectField: {},
+					requiredAdd:['inspectionItem', 'manHour', 'inspectionItemType', 'manHourGroup'],
+					requiredUp:['inspectionItem', 'manHour', 'inspectionItemType', 'manHourGroup']
+				},
+                testObjectData: {
+					entity: {
+						specimenName: null,
+						orderBy: {
+							field: 'id',
+							order: 'asc'
+						}
+					},
+					isIndex: false,
+					showSelect: true,
+					select: true,
+					do: [{
+						id: 'update',
+						font: '缂栬緫',
+						type: 'text',
+						method: 'doDiy',
+						field:['createUserName', 'updateUserName']
+					},{
+						id: 'delete',
+						font: '鍒犻櫎',
+						type: 'text',
+						method: 'doDiy'
+					}],
+					tagField: {},
+					selectField: {},
+					requiredAdd:['specimenName'],
+					requiredUp:['specimenName']
+				},
+				itemParameterEntityCopy: {},
+				testObjectDataEntityCopy: {},
+				upIndex: 0,
+				addDia: false,
+				addPower: true
+			}
+		},
+		mounted() {
+			this.itemParameterEntityCopy = this.HaveJson(this.itemParameterData.entity)
+			this.testObjectDataEntityCopy = this.HaveJson(this.testObjectData.entity)
+		},
+		methods: {
+            selectorSwitch() {
+                if(this.radio === '0') {
+                    this.showItemParameter = true;
+                    this.showTestObject = false;
+					this.$nextTick(() => {
+						this.$refs.itemParameterTable.selectList()
+					})
+                } else {
+                    this.showTestObject = true;
+                    this.showItemParameter = false;
+                }
+			},
+			refreshTable() {
+                if(this.radio === '0') {
+                    this.$refs['itemParameterTable'].selectList()
+                } else {
+                    this.$refs['testObjectTable'].selectList()
+                }
+			},
+			refresh() {
+				this.itemParameterData.entity = this.HaveJson(this.itemParameterEntityCopy)
+				this.testObjectData.entity = this.HaveJson(this.testObjectDataEntityCopy)
+				this.upIndex++
+			},
+			openAdd(){
+                if(this.radio === '0') {
+                    this.$refs.itemParameterTable.openAddDia(this.$api.capacityScope.addItemParameter);
+                } else {
+                    this.$refs.testObjectTable.openAddDia(this.$api.capacityScope.addTestObject);
+                }
+				
+			}
+		}
+	}
+</script>
\ No newline at end of file
diff --git a/static/js/menu.js b/static/js/menu.js
index 615ef98..a4c04ea 100644
--- a/static/js/menu.js
+++ b/static/js/menu.js
@@ -238,7 +238,7 @@
 		}, {
 			v: "鑳藉姏鑼冨洿",
 			i: "font icon-24gl-clipboardList",
-			u: "",
+			u: "5capacity-scope",
 			g: "C鑳藉姏鑼冨洿鍜岃祫璐�",
 			p: ""
 		}, {

--
Gitblit v1.9.3