From 2dc12f173c3d09cccde9568d533b50d6c04f7212 Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期二, 27 二月 2024 15:01:29 +0800
Subject: [PATCH] 功能调整

---
 src/components/view/5capacity-scope.vue |  258 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 182 insertions(+), 76 deletions(-)

diff --git a/src/components/view/5capacity-scope.vue b/src/components/view/5capacity-scope.vue
index cf0ee79..c448299 100644
--- a/src/components/view/5capacity-scope.vue
+++ b/src/components/view/5capacity-scope.vue
@@ -4,6 +4,10 @@
 		line-height: 60px;
 	}
 
+	.bodys {
+		height: 100%;
+	}
+
 	.search {
 		background-color: #fff;
 		height: 80px;
@@ -40,55 +44,65 @@
 	<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">
+					<el-radio-group v-model="radio" @input="selectorSwitch" size="medium" fill="#3A7BFA" v-if="select==3">
+						<el-radio-button label="0">妫�楠岄」鐩弬鏁�</el-radio-button>
+						<el-radio-button label="1">妫�楠屽璞�</el-radio-button>
+					</el-radio-group>
+					<el-button size="medium" type="primary" v-else-if="select==1">妫�楠岄」鐩弬鏁�</el-button>
+					<el-button size="medium" type="primary" v-else-if="select==2">妫�楠屽璞�</el-button>
+				</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-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 v-if="radio==0" class="bodys">
+			<div class="search">
+				<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="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 class="table">
+				<ValueTable ref="itemParameterTable" :url="$api.capacityScope.selectItemParameterList"
+					:upUrl="$api.capacityScope.upItemParameter" :delUrl="$api.capacityScope.delItemParameter"
+					:componentData="itemParameterData" :key="upIndex" />
 			</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 class="bodys">
+			<div class="search" v-if="radio==1">
+				<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="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 class="table" v-if="radio==1">
+				<ValueTable ref="testObjectTable" :url="$api.capacityScope.selectTestObjectList"
+					:upUrl="$api.capacityScope.upTestObject" :delUrl="$api.capacityScope.delTestObject"
+					:componentData="testObjectData" :key="upIndex" />
 			</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>
@@ -101,9 +115,9 @@
 		},
 		data() {
 			return {
-                radio: '0',
-                showItemParameter: true,
-                showTestObject: false,
+				radio: '-1',
+				showItemParameter: true,
+				showTestObject: false,
 				itemParameterData: {
 					entity: {
 						inspectionItem: null,
@@ -122,19 +136,33 @@
 						font: '缂栬緫',
 						type: 'text',
 						method: 'doDiy',
-						field:[]
-					},{
+						field: []
+					}, {
 						id: 'delete',
 						font: '鍒犻櫎',
 						type: 'text',
 						method: 'doDiy'
 					}],
-					tagField: {},
-					selectField: {},
-					requiredAdd:['inspectionItem', 'manHour', 'inspectionItemType', 'manHourGroup'],
-					requiredUp:['inspectionItem', 'manHour', 'inspectionItemType', 'manHourGroup']
+					tagField: {
+						inspectionItemType: {
+							select: []
+						},
+						valueType: {
+							select: []
+						}
+					},
+					selectField: {
+						inspectionItemType: {
+							select: []
+						},
+						valueType: {
+							select: []
+						}
+					},
+					requiredAdd: ['inspectionItem', 'manHour', 'inspectionItemType', 'manHourGroup'],
+					requiredUp: ['inspectionItem', 'manHour', 'inspectionItemType', 'manHourGroup']
 				},
-                testObjectData: {
+				testObjectData: {
 					entity: {
 						specimenName: null,
 						orderBy: {
@@ -150,8 +178,8 @@
 						font: '缂栬緫',
 						type: 'text',
 						method: 'doDiy',
-						field:['createUserName', 'updateUserName']
-					},{
+						field: ['createUserName', 'updateUserName']
+					}, {
 						id: 'delete',
 						font: '鍒犻櫎',
 						type: 'text',
@@ -159,52 +187,130 @@
 					}],
 					tagField: {},
 					selectField: {},
-					requiredAdd:['specimenName'],
-					requiredUp:['specimenName']
+					requiredAdd: ['specimenName'],
+					requiredUp: ['specimenName']
 				},
 				itemParameterEntityCopy: {},
 				testObjectDataEntityCopy: {},
 				upIndex: 0,
 				addDia: false,
-				addPower: true
+				addPower: true,
+				select: 0
 			}
 		},
 		mounted() {
 			this.itemParameterEntityCopy = this.HaveJson(this.itemParameterData.entity)
 			this.testObjectDataEntityCopy = this.HaveJson(this.testObjectData.entity)
+			this.selectEnumByCategory()
+			this.selectEnumByCategoryForValue()
+			this.getPower('0')
 		},
 		methods: {
-            selectorSwitch() {
-                if(this.radio === '0') {
-                    this.showItemParameter = true;
-                    this.showTestObject = false;
-					this.$nextTick(() => {
+			selectorSwitch(radio) {
+				if (this.radio === '0') {
+					this.showItemParameter = true;
+					this.showTestObject = false;
+					/* this.$nextTick(() => {
 						this.$refs.itemParameterTable.selectList()
-					})
-                } else {
-                    this.showTestObject = true;
-                    this.showItemParameter = false;
-                }
+					}) */
+				} else {
+					this.showTestObject = true;
+					this.showItemParameter = false;
+				}
+				this.getPower(radio)
 			},
 			refreshTable() {
-                if(this.radio === '0') {
-                    this.$refs['itemParameterTable'].selectList()
-                } else {
-                    this.$refs['testObjectTable'].selectList()
-                }
+				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);
-                }
-				
+			openAdd() {
+				if (this.radio === '0') {
+					this.$refs.itemParameterTable.openAddDia(this.$api.capacityScope.addItemParameter);
+				} else {
+					this.$refs.testObjectTable.openAddDia(this.$api.capacityScope.addTestObject);
+				}
+			},
+			selectEnumByCategory() {
+				this.$axios.post(this.$api.enums.selectEnumByCategory, {
+					category: "妫�楠岄」绫诲瀷"
+				}).then(res => {
+					this.itemParameterData.selectField.inspectionItemType.select = res.data
+					res.data[1].type = 'info'
+					this.itemParameterData.tagField.inspectionItemType.select = res.data
+				})
+			},
+			selectEnumByCategoryForValue() {
+				this.$axios.post(this.$api.enums.selectEnumByCategory, {
+					category: "鍙栧�肩被鍨�"
+				}).then(res => {
+					this.itemParameterData.selectField.valueType.select = res.data
+					this.itemParameterData.tagField.valueType.select = res.data
+				})
+			},
+			// 鏉冮檺鍒嗛厤
+			getPower(radio) {
+				let power = JSON.parse(sessionStorage.getItem('power'))
+				let up = false
+				let add = false
+				let del = false
+				let select = 0
+				for (var i = 0; i < power.length; i++) {
+					if (power[i].menuMethod == 'selectItemParameterList') {
+						select += 1
+					}
+					if (power[i].menuMethod == 'selectTestObjectList') {
+						select += 2
+					}
+					if (this.radio === '0') {
+						if (power[i].menuMethod == 'upItemParameter') {
+							up = true
+						}
+						if (power[i].menuMethod == 'delItemParameter') {
+							del = true
+						}
+						if (power[i].menuMethod == 'addItemParameter') {
+							add = true
+						}
+					} else {
+						if (power[i].menuMethod == 'upTestObject') {
+							up = true
+						}
+						if (power[i].menuMethod == 'delTestObject') {
+							del = true
+						}
+						if (power[i].menuMethod == 'addTestObject') {
+							add = true
+						}
+					}
+				}
+				if (this.radio === '0') {
+					if (!del) {
+						this.itemParameterData.do.splice(1, 1)
+					}
+					if (!up) {
+						this.itemParameterData.do.splice(0, 1)
+					}
+				} else {
+					if (!del) {
+						this.testObjectData.do.splice(1, 1)
+					}
+					if (!up) {
+						this.testObjectData.do.splice(0, 1)
+					}
+				}
+				this.addPower = add
+				this.select = select
+				if (select == 1 || select == 3) this.radio = radio
+				else if (select == 2) this.radio = '1'
+				else this.radio = '-1'
 			}
 		}
 	}

--
Gitblit v1.9.3