Просмотр исходного кода

检验方法定期评审子表调整

lidie 1 год назад
Родитель
Сommit
796d889926
2 измененных файлов с 810 добавлено и 0 удалено
  1. 349 0
      src/views/business/testMethod/review.vue
  2. 461 0
      src/views/business/testMethod/reviewDialog.vue

+ 349 - 0
src/views/business/testMethod/review.vue

@@ -0,0 +1,349 @@
+<template>
+    <div class="main" :inert="isInert">
+        <div class="hand-btn">
+            <el-button v-if="btnShsow" type="primary" icon="el-icon-plus" @click="addData">添加</el-button>
+            <el-button v-if="btnShsow" type="danger" icon="el-icon-close" @click="goRemove">删除</el-button>
+            <!-- <el-button type="primary" icon="el-icon-delete">导出</el-button>
+            <el-button type="primary" icon="el-icon-delete">导入</el-button> -->
+        </div>
+        <el-table
+            ref="reviewTable"
+            :key="tableKey"
+            :data="statData"
+            border
+            stripe
+            highlight-current-row
+            style="width: 100%"
+            class="review-table blue-header"
+            :max-height="maxHeight"
+            @selection-change="handleSelectionChange"
+        >
+            <el-table-column
+                type="selection"
+                width="55"
+            />
+            <el-table-column
+                type="index"
+                label="序号"
+                width="55"
+                prop="date"
+            />
+            <el-table-column
+                label="检验方法"
+                width="140"
+            >
+                <template v-slot="{ row }">
+                    <span style="margin-left: 10px">{{ getJianYanFangFaName(row.jianYanFangFa) }}</span>
+                </template>
+            </el-table-column>
+            <el-table-column
+                label="项目与方法"
+                width="140"
+            >
+                <template v-slot="{ row }">
+                    <span style="margin-left: 10px">{{ getProjectAndMethod(row.xiangMuFangFa) }}</span>
+                </template>
+            </el-table-column>
+            <el-table-column
+                prop="xiangMuMingCheng"
+                label="项目名称"
+                width="140"
+            />
+            <el-table-column
+                prop="sheBeiMingCheng"
+                label="设备名称"
+                width="220"
+            />
+            <el-table-column
+                prop="sheBeiBianHao"
+                label="设备编号"
+                width="140"
+            />
+            <el-table-column
+                prop="faXianWenTi"
+                label="发现的问题"
+                width="220"
+            />
+            <el-table-column label="操作">
+                <template v-slot="{ row,$index }">
+                    <span v-if="btnShsow" class="spanto" @click="handleEdit(row,$index)"><i class="el-icon-edit-outline" />编辑</span>
+                    <span v-if="btnShsow" class="spant">|</span>
+                    <span class="spanto" @click="handleSelect(row)"><i class="el-icon-view" />查阅</span>
+                    <!-- <el-button
+                        v-if="btnShsow"
+                        size="mini"
+                        type="primary"
+                        icon="el-icon-edit-outline"
+                        @click="handleEdit(row,$index)"
+                    >编辑</el-button>
+                    <el-button
+                        size="mini"
+                        icon="el-icon-view"
+                        type="primary"
+                        @click="handleSelect(row)"
+                    >查阅</el-button> -->
+                </template>
+            </el-table-column>
+        </el-table>
+        <reviewDialog
+            v-if="dialogFormVisibles"
+            :visidial="dialogFormVisibles"
+            :select-edit-data="selectEditData"
+            :select-editchange="selectEditchange"
+            @getData="getData"
+            @getcolse="getcolse"
+        />
+
+        <!-- :select_edit-change="selectEditchange"-->
+    </div>
+</template>
+
+<script>
+import ibpsUserSelector from '@/business/platform/org/selector'
+import reviewDialog from './reviewDialog.vue'
+
+export default {
+    components: {
+        ibpsUserSelector,
+        reviewDialog,
+        IbpsCustomDialog: () => import('@/business/platform/data/templaterender/custom-dialog')
+    },
+    props: {
+        formData: {
+            type: Object,
+            default: () => {}
+        },
+        params: {
+            type: Object,
+            default: () => {}
+        },
+        readonly: {
+            type: Boolean,
+            default: false
+        }
+    },
+    data () {
+        const { first, second } = this.$store.getters.level || {}
+        return {
+            dynamicParams: {},
+            dialogFormVisibles: false,
+            isInert: false,
+            btnShsow: false,
+            isFirst: true,
+            selectEditchange: false,
+            statData: [],
+            first,
+            second,
+            maxHeight: '600px',
+            jianYanFangFaNameCache: {},
+            projectAndMethodNameCache: {},
+            tableKey: 0,
+            multipleSelection: [],
+            selectEditData: ''
+        }
+    },
+    // Activity_0ruri1g编制节点
+    // Activity_0ccsmb9审核节点
+    computed: {
+        getJianYanFangFaName () {
+            return (jianYanFangFa) => {
+                if (!this.jianYanFangFaNameCache[jianYanFangFa]) {
+                    this.loadJianYanFangFaName(jianYanFangFa)
+                }
+                return this.jianYanFangFaNameCache[jianYanFangFa] || ''
+            }
+        },
+        getProjectAndMethod () {
+            return (xiangMuFangFa) => {
+                if (!this.projectAndMethodNameCache[xiangMuFangFa]) {
+                    this.loadProjectAndMethodName(xiangMuFangFa)
+                }
+                return this.projectAndMethodNameCache[xiangMuFangFa] || ''
+            }
+        }
+    },
+    watch: {
+        formData: {
+            handler (val) {
+                if (val.lieBiaoShuJu) {
+                    if (this.isFirst) {
+                        this.statData = JSON.parse(val.lieBiaoShuJu)
+                        this.isFirst = false
+                    }
+                }
+            },
+            immediate: true,
+            deep: true
+        },
+        params: {
+            handler (val) {
+                if (val.nodeId && val.nodeId === 'Activity_0ruri1g') {
+                    this.btnShsow = true
+                } else {
+                    this.btnShsow = false
+                }
+            },
+            immediate: true,
+            deep: true
+        },
+        statData: {
+            handler (val) {
+                this.$emit('change-data', 'lieBiaoShuJu', JSON.stringify(val))
+            },
+            deep: true
+        }
+    },
+    created () {
+        // 初始化时加载所有需要的数据
+        this.statData.forEach(row => {
+            this.loadJianYanFangFaName(row.jianYanFangFa)
+            this.loadProjectAndMethodName(row.xiangMuFangFa)
+        })
+    },
+    methods: {
+
+        async loadJianYanFangFaName (jianYanFangFa) {
+            try {
+                const methodName = await this.jian(jianYanFangFa)
+
+                this.jianYanFangFaNameCache[jianYanFangFa] = methodName
+                this.refreshTable()
+            } catch (error) {
+                console.error('Error fetching data:', error)
+            }
+        },
+        refreshTable () {
+            this.tableKey++
+        },
+        async loadProjectAndMethodName (xiangMuFangFa) {
+            try {
+                const methodName = await this.xiang(xiangMuFangFa)
+                this.projectAndMethodNameCache[xiangMuFangFa] = methodName
+            } catch (error) {
+                console.error('Error fetching data:', error)
+            }
+        },
+        // 点击添加按钮
+        addData () {
+            this.selectEditchange = true
+            this.dialogFormVisibles = true
+        },
+        // 点击取消按钮
+        getcolse () {
+            this.selectEditData = ''
+            this.selectEditchange = false
+            this.dialogFormVisibles = false
+        },
+        getData (obj, index) {
+            if (typeof index === 'undefined') {
+                // 新增
+                this.statData.push(obj)
+            } else {
+                // 修改
+                Object.assign(this.statData[index], obj)
+            }
+            this.loadJianYanFangFaName(obj.jianYanFangFa)
+            this.loadProjectAndMethodName(obj.xiangMuFangFa)
+        },
+        async jian (val) {
+            try {
+                const sql1 = `select * FROM t_bzffglb WHERE id_='${val}'`
+                const response = await this.$common.request('sql', sql1)
+                const a = response.variables.data[0] && response.variables.data[0].fang_fa_ming_chen
+                return a
+            } catch (error) {
+                console.error('Error fetching data:', error)
+                throw error
+            }
+        },
+        async xiang (val) {
+            try {
+                const sql2 = `select * FROM neng_li_fan_wei_ WHERE id_='${val}'`
+                const response = await this.$common.request('sql', sql2)
+                const a = response.variables.data[0] && response.variables.data[0].jian_yan_xiang_mu
+                return a
+            } catch (error) {
+                console.error('Error fetching data:', error)
+                throw error
+            }
+        },
+        handleSelectionChange (val) {
+            this.multipleSelection = val
+        },
+        goRemove () {
+            if (this.multipleSelection.length === 0) {
+                this.$message({
+                    message: '请选择要删除的数据',
+                    type: 'warning'
+                })
+                return
+            }
+            this.statData = this.statData.filter(item => !this.multipleSelection.includes(item))
+        },
+        handleEdit (row, index) {
+            // 编辑操作
+            this.selectEditchange = true
+            this.selectEditData = row
+            this.selectEditData.rowIndex = index
+            this.dialogFormVisibles = true
+        },
+        handleSelect (row) {
+            // 查阅操作
+            this.dialogFormVisibles = true
+            this.selectEditData = row
+            this.selectEditchange = false
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.hand-btn{
+    width: 100%;
+    text-align: right;
+}
+::v-deep .blue-header .el-table__header th {
+  background-color: #84d5cf !important; /* 背景颜色 */
+  color: #080808; /* 标题文字颜色 */
+}
+.dialog{
+    padding: 10px;
+}
+.spanto{
+    color: #1E90FF;
+}
+.spanto:hover{
+    cursor: pointer;
+}
+.spant{
+    display: inline-block;
+    color: #dfdddd;
+    margin: 0 7px;
+}
+.dialog-footer{
+    text-align: center;
+}
+.el-form{
+    padding: 10px;
+}
+.setBorder{
+    border: 1px solid #dcdfe6;
+    padding:10px;
+    border-radius: 8px;
+}
+// .custom-input{
+//     display: inline-block;
+//     border: none; /* 移除所有边框 */
+//     outline: none; /* 移除点击时的轮廓 */
+//     border-bottom: 1px solid #ccc; /* 添加下边框 */
+// }
+/* 选中时的效果,可以根据需要调整 */
+// .custom-input:focus {
+//   border-bottom-color: #409EFF; /* 更改下边框颜色 */
+// }
+// ::v-deep .el-dialog {
+// width: 60% !important;
+// margin-top: 2vh !important;
+// height: 90% !important;
+// }
+</style>

+ 461 - 0
src/views/business/testMethod/reviewDialog.vue

@@ -0,0 +1,461 @@
+<template>
+    <!-- 点击添加 -->
+    <el-dialog
+        title="添加"
+        :visible.sync="dialogFormVisibles"
+        :close-on-click-modal="false"
+        :close-on-press-escape="false"
+        :show-close="false"
+        class="dialog paper-detail-dialog"
+        append-to-body
+        @close="dialogFormVisibles=false"
+    >
+        <el-form ref="ruleForm" :model="ruleForm" label-width="120px" :rules="rules" class="review-form">
+            <el-form-item label="检验方法" prop="jianYanFangFa">
+                <ibps-custom-dialog
+                    v-model="ruleForm.jianYanFangFa"
+                    size="small"
+                    template-key="ffglxz"
+                    :multiple="false"
+                    :disabled="!selectEditchanges"
+                    type="dialog"
+                    class="custom-dialog"
+                    placeholder="请选择检验方法"
+                />
+            </el-form-item>
+            <el-form-item label="项目与方法" prop="xiangMuFangFa">
+                <ibps-custom-dialog
+                    v-model="ruleForm.xiangMuFangFa"
+                    size="small"
+                    template-key="nlfwxz"
+                    :multiple="false"
+                    :disabled="!selectEditchanges"
+                    type="dialog"
+                    class="custom-dialog"
+                    placeholder="请选择检验方法"
+                    :dynamic-params="dynamicParams"
+                />
+                <!--  :dynamic-params="field.dynamicParams"接收的参数,相当于过滤 -->
+                <!-- <el-input v-model="ruleForm.xiangMuFangFa" placeholder="请输入项目名称" />
+                     -->
+            </el-form-item>
+            <el-form-item label="项目名称" prop="deng_ji_bu_men_">
+                <el-input v-model="ruleForm.xiangMuMingCheng" :disabled="!selectEditchanges" placeholder="请输入项目名称" />
+            </el-form-item>
+            <el-form-item label="设备名称" prop="deng_ji_bu_men_">
+                <el-input v-model="ruleForm.sheBeiMingCheng" :disabled="!selectEditchanges" placeholder="请输入设备名称" /></el-form-item>
+            <el-form-item label="设备编号" prop="deng_ji_bu_men_">
+                <el-input v-model="ruleForm.sheBeiBianHao" :disabled="!selectEditchanges" placeholder="请输入设备编号" /></el-form-item>
+            <el-form-item label="试剂及批号" prop="deng_ji_bu_men_">
+                <div class="setBorder" :disabled="!selectEditchanges">{{ ruleForm.shiJi?ruleForm.shiJi:'/' }}</div>
+            </el-form-item>
+            <el-form-item label="校准品及批号" prop="deng_ji_bu_men_">
+                <div class="setBorder" :disabled="!selectEditchanges">{{ ruleForm.jiaozhuiPin?ruleForm.jiaozhuiPin:'/' }}</div>
+            </el-form-item>
+            <el-form-item label="上次性能验证" prop="deng_ji_bu_men_">
+                <div class="setMargin" :inert="isInert">
+                    <div>{{ firstItemText }}</div>
+                    <el-radio-group v-model="ruleForm.xing_neng_yan_zheng">
+                        <el-row :gutter="20">
+                            <el-col v-for="(item, index) in yangzheng.slice(1)" :key="index" :span="8">
+                                <el-radio :label="item" :disabled="!selectEditchanges">{{ item }}</el-radio>
+                            </el-col>
+                        </el-row>
+                    </el-radio-group>
+                </div>
+            </el-form-item>
+            <el-form-item label="评审内容" prop="deng_ji_bu_men_">
+                <div>
+                    <el-table
+                        :data="pinShen1"
+                        style="width: 100%"
+                        border
+                        stripe
+                        max-height="300px"
+                    >
+                        <el-table-column
+                            prop="name"
+                            label="描述"
+                        />
+                        <el-table-column
+                            prop="shi_fou"
+                            label="判断"
+                        >
+                            <template v-slot="{ row }">
+                                <el-radio-group v-model="row.shi_fou">
+                                    <el-radio label="是" :disabled="!selectEditchanges" />
+                                    <el-radio label="否" :disabled="!selectEditchanges" />
+                                </el-radio-group>
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            prop="bei_zhu"
+                            label="备注"
+                        >
+                            <template v-slot="{ row }">
+                                <el-input
+                                    v-model="row.bei_zhu"
+                                    :disabled="!selectEditchanges"
+                                    placeholder="请输入备注"
+                                />
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                </div>
+            </el-form-item>
+            <el-form-item label="评审结论" prop="deng_ji_bu_men_">
+                <div :inert="isInert" class="setMargin">
+                    <div>{{ pinNeirong }}</div>
+                    <el-radio-group v-model="ruleForm.ping_shen_jie_lun">
+                        <el-row :gutter="20">
+                            <el-col v-for="(item, index) in jieLun.slice(1)" :key="index" :span="8">
+                                <el-radio :label="item" :disabled="!selectEditchanges">{{ item }}</el-radio>
+                            </el-col>
+                        </el-row>
+                    </el-radio-group>
+                </div>
+            </el-form-item>
+            <el-form-item label="发现的问题" prop="deng_ji_bu_men_">
+                <el-input v-model="ruleForm.faXianWenTi" class="custom-input" type="textarea" :disabled="!selectEditchanges" />
+            </el-form-item>
+        </el-form>
+        <div slot="footer" class="el-dialog--center">
+            <ibps-toolbar
+                :actions="toolbars"
+                @action-event="handleActionEvent"
+            />
+        </div>
+    </el-dialog>
+</template>
+<script>
+export default {
+    components: {
+        IbpsCustomDialog: () => import('@/business/platform/data/templaterender/custom-dialog')
+    },
+    props: {
+        formData: {
+            type: Object,
+            default: () => {}
+        },
+        params: {
+            type: Object,
+            default: () => {}
+        },
+        visidial: {
+            type: Boolean,
+            default: false
+        },
+        selectEditData: {
+            type: [Object, String],
+            default: () => {}
+        },
+        selectEditchange: {
+            type: Boolean,
+            default: false
+        }
+    },
+    data () {
+        return {
+            dialogFormVisibles: this.visidial,
+            selectEditchanges: this.selectEditchange,
+            selectEditDatas: this.selectEditData,
+            isInert: false,
+            dynamicParams: {},
+            // pinShenTitle: '上次验证性能,请选择以下内容中的一个选项:',
+            // jieLunTitle: '评审结论,请选择以下内容中的一项:',
+            id: '',
+            toolbars: [
+                {
+                    key: 'confirm'
+                },
+                {
+                    key: 'cancel'
+                }
+            ],
+            ruleForm: {
+                jianYanFangFa: '',
+                xiangMuFangFa: '',
+                xiangMuMingCheng: '',
+                sheBeiMingCheng: '',
+                sheBeiBianHao: '',
+                shiJi: '',
+                jiaozhuiPin: '',
+                xing_neng_yan_zheng: '',
+                ping_shen_jie_lun: '',
+                faXianWenTi: ''
+            },
+            //   jianYanXiangMu: '',
+            //   xiaoZhunPinJiPiHa: '',
+            //   a: ''
+            rules: {
+                jianYanFangFa: [{ required: true, message: '请填写数据' }],
+                xiangMuFangFa: [{ required: true, message: '请填写数据' }]
+            },
+            maxHeight: '600px',
+            yangzheng: [`上次验证性能,请选择以下内容中的一个选项:`, '(1)正确性', '(2)精密度', '(3)检出限', '(4)可报告范围', '(5)线性', '(6)符合率', '(7)抗干扰能力', '(8)特异性', '(9)携带污染率'],
+            jieLun: ['评审结论,请选择以下内容中的一项:', '(1)适用于检验申请', '(2)需方法验证', '(3)需方法确认', '(4)需室间比对', '(5)需设备间对比', '(6)需留样再测', '(7)需项目校准', '(8)复测室间质评物', '(9)其他'],
+            // pinShen: ['a 上次检验方法评审的执行情况;', 'b 病人和临床医护部门对某检测项目的意见或建议;', 'c 与检测项目有关的学术进展,是否有更好的替代实验;', 'd 检测项目的应用范围是否合适;', 'e 检测项目是否出现新的局限性;', 'f 检验申请(包括条码内容)是否需要变动;', 'g 检测项目所需标本的采集方式(标本类型、采集容器、保存剂)及量是否合适;', 'h 标本运送中是否存在的问题(包括安全、运送条件、运送时限);', 'i 标本保存中是否存在的问题;', 'j 标本处理(接收、拒收)中是否存在的问题;', 'k 检测项目所需设备和试剂是否合适,是否需要变更;仪器或试剂供应商提供的意见和建议;', 'l 设备与试剂的校准情况,检测结果的溯源情况;', 'm 检测项目的室间质量评价;', 'n 检测项目的室内质量控制情况;', 'o 检测结果的报告方式是否合适,计算方法是否正确;', 'p  检测项目执行过程中是否出现不符合项;', 'q 检测结果的生物参考区间是否合适;', 'r 测定方法的性能参数(包括线性、敏感性、特异性、精密度、准确度、检出限等)是否满足要求;', 's 检测方法的干扰因素影响;', 't 执行检测项目的安全性;', 'u 检验周期是否合适;', 'v 检验报告格式是否需要变更;检验报告的审核是否全面、规范,检验报告的更改;', 'w 检验报告发布方式是否合适;有无延迟或口头报告发送 ,检验后样品的处置; ', 'x 检测结果危急值的设定;'],
+            pinShen1: [
+                {
+                    name: 'a 上次检验方法评审的执行情况;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'b 病人和临床医护部门对某检测项目的意见或建议;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'c 与检测项目有关的学术进展,是否有更好的替代实验;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'd 检测项目的应用范围是否合适;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                }, {
+                    name: 'e 检测项目是否出现新的局限性;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'f 检验申请(包括条码内容)是否需要变动;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'g 检测项目所需标本的采集方式(标本类型、采集容器、保存剂)及量是否合适;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'h 标本运送中是否存在的问题(包括安全、运送条件、运送时限);',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'i 标本保存中是否存在的问题;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'j 标本处理(接收、拒收)中是否存在的问题;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'k 检测项目所需设备和试剂是否合适,是否需要变更;仪器或试剂供应商提供的意见和建议;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'l 设备与试剂的校准情况,检测结果的溯源情况;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'm 检测项目的室间质量评价;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'n 检测项目的室内质量控制情况;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'o 检测结果的报告方式是否合适,计算方法是否正确;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'p  检测项目执行过程中是否出现不符合项;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'q 检测结果的生物参考区间是否合适;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'r 测定方法的性能参数(包括线性、敏感性、特异性、精密度、准确度、检出限等)是否满足要求;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 's 检测方法的干扰因素影响;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 't 执行检测项目的安全性;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'u 检验周期是否合适;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'v 检验报告格式是否需要变更;检验报告的审核是否全面、规范,检验报告的更改;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'w 检验报告发布方式是否合适;有无延迟或口头报告发送 ,检验后样品的处置;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                },
+                {
+                    name: 'x 检测结果危急值的设定;',
+                    shi_fou: '是',
+                    bei_zhu: ''
+                }
+
+            ]
+        }
+    },
+    computed: {
+        firstItemText () {
+            return `上次验证性能,请选择以下内容中的一个选项:${this.ruleForm.xing_neng_yan_zheng}`
+        },
+        pinNeirong () {
+            return `评审结论,请选择以下内容中的一项:${this.ruleForm.ping_shen_jie_lun}`
+        }
+    },
+    watch: {
+        'ruleForm.jianYanFangFa' (val) {
+            this.dynamicParams.jian_yan_fang_fa_ = val
+        },
+        'ruleForm.xiangMuFangFa': function (newValeu) {
+            this.breakData(newValeu)
+            this.id = newValeu
+        }
+    },
+    created () {
+        if (this.selectEditDatas) {
+            this.slectUpdate(this.selectEditDatas)
+            // if (!this.selectEditchange) {
+            //     this.selectEditchanges = false
+            // } else {
+            //     this.selectEditchanges = true
+            // }
+        }
+    },
+    methods: {
+        handleActionEvent ({ key }) {
+            switch (key) {
+                case 'confirm':
+                    if (this.selectEditchanges) this.submitForm('ruleForm')
+                    else this.closeDialog()
+                    break
+                case 'cancel':
+                    this.closeDialog()
+                    break
+                default:
+                    break
+            }
+        },
+        closeDialog () {
+            this.$emit('getcolse')
+        },
+        submitForm (formName) {
+              this.$refs[formName]?.validate((valid) => {
+                  if (valid) {
+                      if (!this.selectEditData) {
+                          const a = this.yangzheng[0] + this.ruleForm.xing_neng_yan_zheng
+                          const b = this.jieLun[0] + this.ruleForm.ping_shen_jie_lun
+                          this.yangzheng[0] = a
+                          this.jieLun[0] = b
+                      } else {
+                          const a = this.yangzheng[0].split(':')
+                          const b = this.jieLun[0].split(':')
+                          if (a[1] !== this.ruleForm.xing_neng_yan_zheng) {
+                              this.yangzheng[0] = a[0] + ':' + this.ruleForm.xing_neng_yan_zheng
+                          }
+                          if (b[1] !== this.ruleForm.ping_shen_jie_lun) {
+                              this.jieLun[0] = b[0] + ':' + this.ruleForm.ping_shen_jie_lun
+                          }
+                      }
+                      const obj = {
+                          jianYanFangFa: this.ruleForm.jianYanFangFa,
+                          xiangMuFangFa: this.ruleForm.xiangMuFangFa,
+                          xiangMuMingCheng: this.ruleForm.xiangMuMingCheng,
+                          sheBeiMingCheng: this.ruleForm.sheBeiMingCheng,
+                          sheBeiBianHao: this.ruleForm.sheBeiBianHao,
+                          shiJi: this.ruleForm.shiJi,
+                          jiaozhuiPin: this.ruleForm.jiaozhuiPin,
+                          yangzheng: JSON.stringify(this.yangzheng),
+                          jieLun: JSON.stringify(this.jieLun),
+                          pinShen1: JSON.stringify(this.pinShen1),
+                          faXianWenTi: this.ruleForm.faXianWenTi
+                      }
+                      this.$emit('getData', obj, this.selectEditData.rowIndex)
+                      this.$emit('getcolse')
+                  } else {
+                      return false
+                  }
+              })
+        },
+        // 选择检验与方法带出数据
+        breakData (newValeu) {
+            const sql = `select * from neng_li_fan_wei_ where id_='${newValeu}'`
+            this.$common.request('sql', sql).then(res => {
+                // console.log('re121s', res)
+                this.ruleForm.xiangMuMingCheng = res.variables.data[0].jian_yan_xiang_mu
+                this.ruleForm.sheBeiMingCheng = res.variables.data[0].she_bei_
+                this.ruleForm.sheBeiBianHao = res.variables.data[0].she_bei_bian_hao_
+                this.ruleForm.shiJi = res.variables.data[0].shi_ji_
+                this.ruleForm.jiaozhuiPin = res.variables.data[0].yang_pin_lei_xing
+                this.ruleForm.jianYanXiangMu = res.variables.data[0].parent_id_
+                this.ruleForm.xiaoZhunPinJiPiHa = res.variables.data[0].xiao_zhun_wu_
+            })
+        },
+
+        // 查阅,修改带出数据
+        slectUpdate (selectEditDatas) {
+            const a = JSON.parse(selectEditDatas.yangzheng)[0].split(':')
+            const b = JSON.parse(selectEditDatas.jieLun)[0].split(':')
+            this.ruleForm.xing_neng_yan_zheng = a[1]
+            this.ruleForm.ping_shen_jie_lun = b[1]
+            this.ruleForm.jianYanFangFa = selectEditDatas.jianYanFangFa
+            this.ruleForm.xiangMuFangFa = selectEditDatas.xiangMuFangFa
+            this.ruleForm.xiangMuMingCheng = selectEditDatas.xiangMuMingCheng
+            this.ruleForm.sheBeiBianHao = selectEditDatas.sheBeiBianHao
+            this.ruleForm.sheBeiMingCheng = selectEditDatas.sheBeiMingCheng
+            this.ruleForm.shiJi = selectEditDatas.shiJi
+            this.ruleForm.jiaozhuiPin = selectEditDatas.jiaozhuiPin
+            this.ruleForm.faXianWenTi = selectEditDatas.faXianWenTi
+            this.yangzheng = JSON.parse(selectEditDatas.yangzheng)
+            this.pinShen1 = JSON.parse(selectEditDatas.pinShen1)
+            this.jieLun = JSON.parse(selectEditDatas.jieLun)
+        }
+    }
+}
+</script>
+<style scoped lang="scss">
+.dialog-footer{
+    text-align: center;
+}
+.setBorder{
+    border: 1px solid #dcdfe6;
+    padding:10px;
+    border-radius: 4px;
+}
+.setMargin{
+    margin:0 0 15px 0;
+}
+.review-form{
+ padding: 10px;
+}
+::v-deep .el-dialog {
+width: 60% !important;
+margin-top: 2vh !important;
+height: 90% !important;
+}
+</style>
+