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