李林
2024-02-27 2dc12f173c3d09cccde9568d533b50d6c04f7212
功能调整
已修改2个文件
184 ■■■■■ 文件已修改
src/components/view/5capacity-scope.vue 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/js/menu.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/5capacity-scope.vue
@@ -4,6 +4,10 @@
        line-height: 60px;
    }
    .bodys {
        height: 100%;
    }
    .search {
        background-color: #fff;
        height: 80px;
@@ -40,11 +44,13 @@
    <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-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>
@@ -52,47 +58,51 @@
                </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>
@@ -105,7 +115,7 @@
        },
        data() {
            return {
                radio: '0',
                radio: '-1',
                showItemParameter: true,
                showTestObject: false,
                itemParameterData: {
@@ -133,9 +143,19 @@
                        type: 'text',
                        method: 'doDiy'
                    }],
                    tagField: {},
                    tagField: {
                        inspectionItemType: {
                            select: []
                        },
                        valueType: {
                            select: []
                        }
                    },
                    selectField: {
                        inspectionItemType: {
                            select: []
                        },
                        valueType: {
                            select: []
                        }
                    },
@@ -174,26 +194,30 @@
                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() {
            selectorSwitch(radio) {
                if (this.radio === '0') {
                    this.showItemParameter = true;
                    this.showTestObject = false;
                    this.$nextTick(() => {
                    /* this.$nextTick(() => {
                        this.$refs.itemParameterTable.selectList()
                    })
                    }) */
                } else {
                    this.showTestObject = true;
                    this.showItemParameter = false;
                }
                this.getPower(radio)
            },
            refreshTable() {
                if (this.radio === '0') {
@@ -214,37 +238,79 @@
                    this.$refs.testObjectTable.openAddDia(this.$api.capacityScope.addTestObject);
                }
            },
            selectEnumByCategory(){
            selectEnumByCategory() {
                this.$axios.post(this.$api.enums.selectEnumByCategory, {
                    category: "检验项类型"
                }).then(res=>{
                }).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(){
            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=='upItemParameter'){
                        up = true
                    if (power[i].menuMethod == 'selectItemParameterList') {
                        select += 1
                    }
                    if(power[i].menuMethod=='delItemParameter'){
                        del = true
                    if (power[i].menuMethod == 'selectTestObjectList') {
                        select += 2
                    }
                    if(power[i].menuMethod=='addItemParameter'){
                        add = true
                    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(!del){
                    this.componentData.do.splice(1, 1)
                }
                if(!up){
                    this.componentData.do.splice(0, 1)
                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'
            }
        }
    }
static/js/menu.js
@@ -240,7 +240,7 @@
            i: "font icon-24gl-clipboardList",
            u: "5capacity-scope",
            g: "C能力范围和资质",
            p: "selectItemParameterList"
            p: "selectItemParameterList selectTestObjectList"
        }, {
            v: "场所或设施",
            i: "font icon-24gl-clipboardList",