李林
2024-02-27 82bcd9ca9ee68118c6d3ec82ac4aa5361fbc668f
src/components/view/5capacity-scope.vue
@@ -40,19 +40,19 @@
   <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="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-button size="medium" icon="el-icon-delete">删除</el-button>
            </el-col>
         </el-row>
      </div>
            <div class="search" v-if="showItemParameter">
      <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
@@ -63,7 +63,7 @@
            <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_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>
@@ -74,9 +74,11 @@
         </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"/>
         <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 testObject" v-if="showTestObject">
         <div class="search_thing">
            <div class="search_label">样品名称:</div>
            <div class="search_input"><el-input size="small" placeholder="请输入" clearable
@@ -88,7 +90,9 @@
         </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"/>
         <ValueTable ref="testObjectTable" :url="$api.capacityScope.selectTestObjectList"
            :upUrl="$api.capacityScope.upTestObject" :delUrl="$api.capacityScope.delTestObject"
            :componentData="testObjectData" :key="upIndex" />
      </div>
   </div>
</template>
@@ -101,9 +105,9 @@
      },
      data() {
         return {
                radio: '0',
                showItemParameter: true,
                showTestObject: false,
            radio: '0',
            showItemParameter: true,
            showTestObject: false,
            itemParameterData: {
               entity: {
                  inspectionItem: null,
@@ -122,19 +126,23 @@
                  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']
               selectField: {
                  inspectionItemType: {
                     select: []
                  }
               },
               requiredAdd: ['inspectionItem', 'manHour', 'inspectionItemType', 'manHourGroup'],
               requiredUp: ['inspectionItem', 'manHour', 'inspectionItemType', 'manHourGroup']
            },
                testObjectData: {
            testObjectData: {
               entity: {
                  specimenName: null,
                  orderBy: {
@@ -150,8 +158,8 @@
                  font: '编辑',
                  type: 'text',
                  method: 'doDiy',
                  field:['createUserName', 'updateUserName']
               },{
                  field: ['createUserName', 'updateUserName']
               }, {
                  id: 'delete',
                  font: '删除',
                  type: 'text',
@@ -159,8 +167,8 @@
               }],
               tagField: {},
               selectField: {},
               requiredAdd:['specimenName'],
               requiredUp:['specimenName']
               requiredAdd: ['specimenName'],
               requiredUp: ['specimenName']
            },
            itemParameterEntityCopy: {},
            testObjectDataEntityCopy: {},
@@ -172,39 +180,71 @@
      mounted() {
         this.itemParameterEntityCopy = this.HaveJson(this.itemParameterData.entity)
         this.testObjectDataEntityCopy = this.HaveJson(this.testObjectData.entity)
         this.selectEnumByCategory()
      },
      methods: {
            selectorSwitch() {
                if(this.radio === '0') {
                    this.showItemParameter = true;
                    this.showTestObject = false;
         selectorSwitch() {
            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;
            }
         },
         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
            })
         },
         // 权限分配
         getPower(){
            let power = JSON.parse(sessionStorage.getItem('power'))
            let up = false
            let add = false
            let del = false
            for (var i = 0; i < power.length; i++) {
               if(power[i].menuMethod=='upItemParameter'){
                  up = true
               }
               if(power[i].menuMethod=='delItemParameter'){
                  del = true
               }
               if(power[i].menuMethod=='addItemParameter'){
                  add = true
               }
            }
            if(!del){
               this.componentData.do.splice(1, 1)
            }
            if(!up){
               this.componentData.do.splice(0, 1)
            }
            this.addPower = add
         }
      }
   }