Browse Source

项目维护和药品账页维护

zengfanwei 2 months ago
parent
commit
0060f55c42

+ 33 - 0
src/api/lc/project.js

@@ -0,0 +1,33 @@
+import request from "../../utils/request";
+//通过id获取项目信息
+export function getLcProjectById() {
+    return request({
+        url: '/LcProject/getLcProjectById',
+        method: 'get',
+
+    })
+}
+
+//模糊分页查询项目列表
+export function getLcProjectList(data) {
+    return request({
+        url: '/LcProject/getLcProjectList',
+        method: 'post',
+        data,
+    })
+}
+
+//新增项目
+export function insertLcProject(data) {
+    return request({
+        url: '/LcProject/insertLcProject',
+        method: 'post',
+        data,
+    })
+}
+
+
+
+
+
+

+ 1 - 1
src/auto-imports.d.ts

@@ -65,6 +65,6 @@ declare global {
 // for type re-export
 declare global {
   // @ts-ignore
-  export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
+  export type { Component, ComponentPublicInstance, ComputedRef, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue'
   import('vue')
 }

+ 51 - 569
src/views/logisticsMaterials/logisticsBasicData/projectInformation/index.vue

@@ -6,57 +6,45 @@
 
         <div class="layout_display_flex_y" style="height: 85%">
             <div style="background-color: #fff;padding: 8px">
-                <!-- <el-button type="primary" icon="Search" @click="queryItem" style="margin-left: 5px">查询</el-button> -->
                 <el-button type="primary" icon="Plus" @click="onAddItem" style="margin-left: 5px">新增</el-button>
-                <!-- <el-button type="primary" icon="Download" @click="exportData" style="margin-left: 5px">导出</el-button> -->
             </div>
             <el-table
-                :data="ypClassData.slice(pageSizeClass * (currentPageClass - 1), pageSizeClass * currentPageClass)"
+                :data="tableData"
                 border style="width: 100%" height="100%" stripe highlight-current-row class="ypClassTable normal-size">
-                <el-table-column prop="code" label="请领单号">
+                <el-table-column prop="code" label="项目编码">
                 </el-table-column>
-                <el-table-column prop="name" label="请领科室">
+                <el-table-column prop="name" label="项目名称">
                 </el-table-column>
-                <el-table-column prop="name" label="请领月份">
+                <el-table-column prop="name" label="规格">
                 </el-table-column>
-                <el-table-column prop="name" label="申请人">
+                <el-table-column prop="name" label="单位">
                 </el-table-column>
-                <el-table-column prop="name" label="申请时间">
+                <el-table-column prop="name" label="物价码">
                 </el-table-column>
-                <el-table-column prop="delFlag" label="服务库房">
+                <el-table-column prop="delFlag" label="项目类型">
                 </el-table-column>
-                <el-table-column prop="delFlag" label="审核人">
-                </el-table-column>
-                <el-table-column prop="delFlag" label="状态">
+                <el-table-column prop="delFlag" label="是否停用">
                 </el-table-column>
                 <el-table-column fixed="right" label="操作" min-width="180" width="180" center>
                     <template #default="scope">
-                        <el-button type="primary" size="small" v-if="!scope.row.isEdit"
-                            @click="editYpClass(scope.row)">编辑</el-button>
-                        <el-button type="primary" size="small" v-if="scope.row.isEdit"
-                            @click="updateYpClass(scope.row)">保存</el-button>
-                        <el-button type="primary" size="small" v-if="scope.row.isEdit"
-                            @click="cancelYpClass(scope.row)">取消
-                        </el-button>
-                        <el-button type="danger" size="small" @click.prevent="deleteYpClass(scope.$index, scope.row)">
-                            删除
-                        </el-button>
-                        <el-button type="success" size="small">
-                            查看
+                        <el-button type="primary" size="small" @click="editYpClass(scope.row)">编辑</el-button>
+                        <el-button :type="scope.row.delFlag !== '0' ? 'success' : 'info'" size="small"
+                            @click.prevent="changeDelFlag(scope.row)">
+                            {{ scope.row.delFlag == '0' ? '停用' : '启用' }}
                         </el-button>
                     </template>
                 </el-table-column>
             </el-table>
         </div>
         <div>
-            <el-pagination :current-page="currentPageClass" :page-size="pageSizeClass" :page-sizes="[10, 15, 20, 25]"
-                :total="ypClassData.length" layout="total, sizes, prev, pager, next, jumper" style="margin-top: 5px"
-                @size-change="handleSizeChangeClass" @current-change="handleCurrentChangeClass">
+            <el-pagination :current-page="pageNumber" :page-size="pageSize" :page-sizes="[10, 15, 20, 25]"
+                :total="total" layout="total, sizes, prev, pager, next, jumper" style="margin-top: 5px"
+                @size-change="handleSizeChange" @current-change="handleCurrentChange">
             </el-pagination>
         </div>
     </div>
     <el-dialog v-model="showDialog" :close-on-click-modal="false" :close-on-press-escape="false"
-        :title="(currentEditCode ? '编辑' : '新增') + '科室采购计划'" width="100%" destroy-on-close fullscreen>
+        :title="(currentEditCode ? '编辑' : '新增') + '项目'" width="100%" destroy-on-close fullscreen  @close="handleDialogClose">
         <!-- <YpPrintName :ypPrintNameDetail="ypPrintNameDetail" @closeYpPrintNameEditFor="closeYpPrintName" /> -->
         <info :currentEditCode="currentEditCode"></info>
     </el-dialog>
@@ -64,32 +52,22 @@
 <script setup name="YpDict">
 import { ref, onMounted, nextTick } from 'vue'
 import { ElMessage, ElMessageBox } from 'element-plus'
-import {
-    selectYpClass, saveYpClass, delYpClassByCode,
-    selectDrugKind,
-    selectYpDosage,
-    selectYpUnit,
-    selectYpChargeGroup,
-    selectYpVisibleFlag,
-    selectYpSupply,
-    selectYpManuFactory,
-} from '@/api/yp-dict/yp-dict-base.js'
+import { getLcProjectList, insertLcProject } from '@/api/lc/project.js'
 import searchArea from '@/components/searchArea/index.vue';
-import info from '@/views/logisticsMaterials/logisticsBasicData/projectInformation/info.vue';
+import info from '@/views/logisticsMaterials/procurement/departmentProcurementPlan/info.vue';
 
-const editableTabsValue = ref('ypClass')
-const msgTip = '分类编码(code)有变更,原始字典记录存在关联,请谨慎做更改,是否确认!!!'
+const delFlagOption = [{ value: '0', label: '启用' }, { value: '1', label: '停用' }]
 
 const searchData = ref([
     {
-        label: '请领单号',
+        label: '项目编码',
         key: 'vehicleName',
         type: 'input',
         value: '',
         clearable: true,
     },
     {
-        label: '申请状态',
+        label: '项目名称',
         key: 'vehicleType',
         type: 'select',
         value: '',
@@ -105,67 +83,56 @@ const searchData = ref([
         ],
     },
     {
-        label: '请领月份',
+        label: '项目类型',
         key: 'vehicleType',
-        type: 'monthDatePicker',
+        type: 'select',
         value: '',
+        optionsData: [
+            {
+                label: '轿车',
+                value: '0',
+            },
+            {
+                label: '面包车',
+                value: '1',
+            },
+        ],
     },
     {
-        label: '请领科室',
+        label: '是否停用',
         key: 'vehicleType',
         type: 'select',
         value: '',
-        optionsData: [ //(0:轿车,1:面包车,2:越野车,3:吉普车,4:巴士,5:卡车)
+        optionsData: [
             {
-                label: '轿车',
+                label: '',
                 value: '0',
             },
             {
-                label: '面包车',
+                label: '',
                 value: '1',
             },
         ],
     },
 ])
-const pageSizeClass = ref(20)
-const currentPageClass = ref(1)
-const handleSizeChangeClass = (val) => {
-    pageSizeClass.value = val
+const pageSize = ref(10)
+const pageNumber = ref(1)
+const total = ref(0)
+const currentEditCode = ref('')
+
+const tableData = ref([])
+const handleSizeChange = (val) => {
+    pageSize.value = val
 }
-const handleCurrentChangeClass = (val) => {
-    currentPageClass.value = val
+const handleCurrentChange = (val) => {
+    pageNumber.value = val
 }
 
-const pageSizeKind = ref(20)
-const currentPageKind = ref(1)
-
-const pageSizeDosage = ref(20)
-const currentPageDosage = ref(1)
-
-const pageSizeUnit = ref(20)
-const currentPageUnit = ref(1)
-
-const pageSizeSupply = ref(20)
-const currentPageSupply = ref(1)
-
-const pageSizeManuFactory = ref(20)
-const currentPageManuFactory = ref(1)
-
-const ypClassData = ref([])
-const drugKindData = ref([])
-const ypDosageData = ref([])
-const ypUnitData = ref([])
-const ypChargeGroupData = ref([])
-const visibleFlagData = ref([])
-const ypSupplyData = ref([])
-const ypManuFactoryData = ref([])
-
 let showDialog = ref(false)
 
-const text = ref('')
 onMounted(() => {
     nextTick(() => {
-        queryYpClass()
+       
     })
 })
 
@@ -174,501 +141,16 @@ const searchByForm = (form) => {
     console.log("search", form)
 }
 
-// 查询药品字典-药性字典
-const queryYpClass = () => {
-    selectYpClass(text.value)
-        .then((res) => {
-            res.forEach(row => {
-                // 是否标记
-                row['isEdit'] = false
-                // 是否新增
-                row['isAdd'] = false
-            })
-            ypClassData.value = res
-        })
-        .catch(() => {
-            ypClassData.value = []
-        })
-}
-
-// 查询药品字典-药品分类字典
-const queryDrugKind = () => {
-    selectDrugKind(text.value)
-        .then((res) => {
-            res.forEach(row => {
-                // 是否标记
-                row['isEdit'] = false
-                // 是否新增
-                row['isAdd'] = false
-            })
-            drugKindData.value = res
-        })
-        .catch(() => {
-            drugKindData.value = []
-        })
-}
-
-// 查询药品字典-药品剂型字典
-const queryYpDosage = () => {
-    selectYpDosage(text.value)
-        .then((res) => {
-            res.forEach(row => {
-                // 是否标记
-                row['isEdit'] = false
-                // 是否新增
-                row['isAdd'] = false
-            })
-            ypDosageData.value = res
-        })
-        .catch(() => {
-            ypDosageData.value = []
-        })
-}
-
-// 查询药品字典-药品单位字典
-const queryYpUnit = () => {
-    selectYpUnit(text.value)
-        .then((res) => {
-            res.forEach(row => {
-                // 是否标记
-                row['isEdit'] = false
-                // 是否新增
-                row['isAdd'] = false
-            })
-            ypUnitData.value = res
-        })
-        .catch(() => {
-            ypUnitData.value = []
-        })
-}
-
-// 查询药品字典-药品费别字典
-const queryYpChargeGroup = () => {
-    selectYpChargeGroup(text.value)
-        .then((res) => {
-            res.forEach(row => {
-                // 是否标记
-                row['isEdit'] = false
-                // 是否新增
-                row['isAdd'] = false
-            })
-            ypChargeGroupData.value = res
-        })
-        .catch(() => {
-            ypChargeGroupData.value = []
-        })
-}
-
-// 查询药房药品停用情况
-const flagFilter = ref('')
-const queryVisibleFlag = () => {
-    selectYpVisibleFlag(text.value, flagFilter.value)
-        .then((res) => {
-            res.forEach(row => {
-                // 是否标记
-                row['isEdit'] = false
-                // 是否新增
-                row['isAdd'] = false
-            })
-            visibleFlagData.value = res
-        })
-        .catch(() => {
-            visibleFlagData.value = []
-        })
-}
-
-// 查询药品字典-药品厂家字典
-const queryYpSupply = () => {
-    selectYpSupply(text.value)
-        .then((res) => {
-            res.forEach(row => {
-                // 是否标记
-                row['isEdit'] = false
-                // 是否新增
-                row['isAdd'] = false
-            })
-            ypSupplyData.value = res
-        })
-        .catch(() => {
-            ypSupplyData.value = []
-        })
-}
-
-// 查询药品字典-药品供应商字典
-const queryYpManuFactory = () => {
-    selectYpManuFactory(text.value)
-        .then((res) => {
-            res.forEach(row => {
-                // 是否标记
-                row['isEdit'] = false
-                // 是否新增
-                row['isAdd'] = false
-            })
-            ypManuFactoryData.value = res
-        })
-        .catch(() => {
-            ypManuFactoryData.value = []
-        })
-}
-
-// 查询
-const queryItem = () => {
-    if (editableTabsValue.value === 'ypClass') {
-        queryYpClass()
-    } else if (editableTabsValue.value === 'drugKind') {
-        queryDrugKind()
-    } else if (editableTabsValue.value === 'ypDosage') {
-        queryYpDosage()
-    } else if (editableTabsValue.value === 'ypUnit') {
-        queryYpUnit()
-    } else if (editableTabsValue.value === 'ypChargeGroup') {
-        queryYpChargeGroup()
-    } else if (editableTabsValue.value === 'visibleFlag') {
-        queryVisibleFlag()
-    } else if (editableTabsValue.value === 'ypSupply') {
-        queryYpSupply()
-    } else if (editableTabsValue.value === 'ypManuFactory') {
-        queryYpManuFactory()
-    }
-}
-
 // 新增行
 const onAddItem = () => {
     showDialog.value = true
-    return
-
-    if (editableTabsValue.value === 'ypClass') {
-        let count
-        if (ypClassData.value.length % pageSizeClass.value === 0) {
-            count = Math.ceil(ypClassData.value.length / pageSizeClass.value) + 1
-        } else {
-            count = Math.ceil(ypClassData.value.length / pageSizeClass.value)
-        }
-        currentPageClass.value = count
-        ypClassData.value.push({
-            code: '',
-            name: '',
-            pyCode: '',
-            dcode: '',
-            delFlag: '',
-            isEdit: true,
-            isAdd: true,
-        })
-        const el = document.querySelector('.ypClassTable .el-scrollbar__wrap')
-        const el2 = document.querySelector('.ypClassTable .el-table__body tbody')
-        setTimeout(() => {
-            const height = el2.clientHeight - el.clientHeight
-            if (height > 0) {
-                el.scrollTop = height
-            }
-        }, 100)
-    } else if (editableTabsValue.value === 'drugKind') {
-        let count
-        if (drugKindData.value.length % pageSizeKind.value === 0) {
-            count = Math.ceil(drugKindData.value.length / pageSizeKind.value) + 1
-        } else {
-            count = Math.ceil(drugKindData.value.length / pageSizeKind.value)
-        }
-        currentPageKind.value = count
-        drugKindData.value.push({
-            code: '',
-            name: '',
-            pyCode: '',
-            dcode: '',
-            ypType: '',
-            mzBillCode: '',
-            zyBillCode: '',
-            isEdit: true,
-            isAdd: true,
-        })
-        const el = document.querySelector('.drugKindTable .el-scrollbar__wrap')
-        const el2 = document.querySelector('.drugKindTable .el-table__body tbody')
-        setTimeout(() => {
-            const height = el2.clientHeight - el.clientHeight
-            if (height > 0) {
-                el.scrollTop = height
-            }
-        }, 100)
-    } else if (editableTabsValue.value === 'ypDosage') {
-        let count
-        if (ypDosageData.value.length % pageSizeDosage.value === 0) {
-            count = Math.ceil(ypDosageData.value.length / pageSizeDosage.value) + 1
-        } else {
-            count = Math.ceil(ypDosageData.value.length / pageSizeDosage.value)
-        }
-        currentPageDosage.value = count
-        ypDosageData.value.push({
-            code: '',
-            name: '',
-            pyCode: '',
-            dcode: '',
-            dosaType: '',
-            dosaRemark: '',
-            orderNo: '',
-            delFlag: '',
-            ybCode: '',
-            hnsybCode: '',
-            isEdit: true,
-            isAdd: true,
-        })
-        const el = document.querySelector('.ypDosageTable .el-scrollbar__wrap')
-        const el2 = document.querySelector('.ypDosageTable .el-table__body tbody')
-        setTimeout(() => {
-            const height = el2.clientHeight - el.clientHeight
-            if (height > 0) {
-                el.scrollTop = height
-            }
-        }, 100)
-    } else if (editableTabsValue.value === 'ypUnit') {
-        let count
-        if (ypUnitData.value.length % pageSizeUnit.value === 0) {
-            count = Math.ceil(ypUnitData.value.length / pageSizeUnit.value) + 1
-        } else {
-            count = Math.ceil(ypUnitData.value.length / pageSizeUnit.value)
-        }
-        currentPageUnit.value = count
-        ypUnitData.value.push({
-            code: '',
-            name: '',
-            pyCode: '',
-            dcode: '',
-            orderNo: '',
-            delFlag: '',
-            refundableFees: '',
-            isEdit: true,
-            isAdd: true,
-        })
-        const el = document.querySelector('.ypUnitTable .el-scrollbar__wrap')
-        const el2 = document.querySelector('.ypUnitTable .el-table__body tbody')
-        setTimeout(() => {
-            const height = el2.clientHeight - el.clientHeight
-            if (height > 0) {
-                el.scrollTop = height
-            }
-        }, 100)
-    } else if (editableTabsValue.value === 'ypChargeGroup') {
-        ypChargeGroupData.value.push({
-            code: '',
-            name: '',
-            pyCode: '',
-            dcode: '',
-            delFlag: '',
-            isEdit: true,
-            isAdd: true,
-        })
-    } else if (editableTabsValue.value === 'visibleFlag') {
-        ElMessage({
-            type: "warning",
-            message: "不能新增药房药品停用,需先维护药品信息!",
-            duration: 2500,
-            showClose: true,
-        });
-    } else if (editableTabsValue.value === 'ypSupply') {
-        let count
-        if (ypSupplyData.value.length % pageSizeSupply.value === 0) {
-            count = Math.ceil(ypSupplyData.value.length / pageSizeSupply.value) + 1
-        } else {
-            count = Math.ceil(ypSupplyData.value.length / pageSizeSupply.value)
-        }
-        currentPageSupply.value = count
-        ypSupplyData.value.push({
-            code: '',
-            name: '',
-            abbrName: '',
-            address: '',
-            zipCode: '',
-            telNo: '',
-            relName: '',
-            busiRange: '',
-            comment: '',
-            useFlag: '',
-            pyCode: '',
-            dcode: '',
-            delFlag: '',
-            isEdit: true,
-            isAdd: true,
-        })
-        const el = document.querySelector('.ypSupplyTable .el-scrollbar__wrap')
-        const el2 = document.querySelector('.ypSupplyTable .el-table__body tbody')
-        setTimeout(() => {
-            const height = el2.clientHeight - el.clientHeight
-            if (height > 0) {
-                el.scrollTop = height
-            }
-        }, 100)
-    } else if (editableTabsValue.value === 'ypManuFactory') {
-        let count
-        if (ypManuFactoryData.value.length % pageSizeManuFactory.value === 0) {
-            count = Math.ceil(ypManuFactoryData.value.length / pageSizeManuFactory.value) + 1
-        } else {
-            count = Math.ceil(ypManuFactoryData.value.length / pageSizeManuFactory.value)
-        }
-        currentPageManuFactory.value = count
-        ypManuFactoryData.value.push({
-            code: '',
-            name: '',
-            abbrName: '',
-            address: '',
-            zipCode: '',
-            telNo: '',
-            relName: '',
-            productRange: '',
-            comment: '',
-            useFlag: '',
-            pyCode: '',
-            dcode: '',
-            delFlag: '',
-            isEdit: true,
-            isAdd: true,
-        })
-        const el = document.querySelector('.ypManuFactoryTable .el-scrollbar__wrap')
-        const el2 = document.querySelector('.ypManuFactoryTable .el-table__body tbody')
-        setTimeout(() => {
-            const height = el2.clientHeight - el.clientHeight
-            if (height > 0) {
-                el.scrollTop = height
-            }
-        }, 100)
-    }
-}
-
-// 药品字典-药性字典增删改存开始
-// 编辑
-const editYpClass = (row) => {
-    // 备份原始数据
-    row['oldRow'] = JSON.parse(JSON.stringify(row))
-    row.isEdit = true
-}
-// 取消
-const cancelYpClass = (row) => {
-    // 如果是新增的数据
-    if (row.isAdd) {
-        ypClassData.value.splice(ypClassData.value.length - 1, 1)
-    } else {
-        // 不是新增的数据  还原数据
-        for (const i in row.oldRow) {
-            row[i] = row.oldRow[i]
-        }
-    }
-}
-// 保存
-const updateYpClass = (row) => {
-    if (!row.code || !row.name) {
-        ElMessage({
-            type: "warning",
-            message: "药性字典编码或名称不存在,请检查!",
-            duration: 2500,
-            showClose: true,
-        });
-        return
-    }
-
-    if (row.isAdd) {
-        let fe = 0
-        for (let num in ypClassData.value) {
-            if (ypClassData.value[num].code === row.code) {
-                fe++
-            }
-        }
-        if (fe === 2) {
-            ElMessage({
-                type: "warning",
-                message: "存在重复的药性字典,请核对!",
-                duration: 2500,
-                showClose: true,
-            });
-        } else {
-            callSaveYpClass(row, null)
-        }
-
-    } else {
-        let oldCode = row.oldRow.code
-        if (oldCode !== row.code) {
-            ElMessageBox.confirm(msgTip, {
-                cancelButtonText: '取消',
-                confirmButtonText: '确定',
-                type: 'warning',
-                distinguishCancelAndClose: true,
-                dangerouslyUseHTMLString: true
-            }).then(() => {
-                callSaveYpClass(row, oldCode)
-            }).catch((action) => {
-                if (action === 'cancel') {
-                    queryYpClass()
-                }
-            })
-        } else {
-            callSaveYpClass(row, oldCode)
-        }
-    }
-}
-
-const callSaveYpClass = (row, oldCode) => {
-    let title = '请确认是否保存<span style="color:#d12020;">' + row.name + '</span>?'
-    ElMessageBox.confirm(title, {
-        cancelButtonText: '取消',
-        confirmButtonText: '确定',
-        type: 'warning',
-        distinguishCancelAndClose: true,
-        dangerouslyUseHTMLString: true
-    }).then(() => {
-        saveYpClass(row).then((res) => {
-            ElMessage({
-                type: "success",
-                message: res.cg,
-                duration: 2500,
-                showClose: true,
-            });
-            if (oldCode !== null && oldCode !== row.code) {
-                // 删除原始数据
-                delYpClassByCode(oldCode).then((res) => {
-                    queryYpClass()
-                })
-            } else {
-                queryYpClass()
-            }
-        })
-    }).catch((action) => {
-        if (action === 'cancel') {
-            queryYpClass()
-        }
-    })
 }
 
-const deleteYpClass = (index, row) => {
-    let title = '请确认是否删除<span style="color:#d12020;">' + row.name + '</span>?'
-    ElMessageBox.confirm(title, {
-        cancelButtonText: '取消',
-        confirmButtonText: '确定',
-        type: 'warning',
-        distinguishCancelAndClose: true,
-        dangerouslyUseHTMLString: true
-    }).then(() => {
-        delYpClassByCode(row.code).then((res) => {
-            ElMessage({
-                type: "success",
-                message: res.cg,
-                duration: 2500,
-                showClose: true,
-            });
-            queryYpClass()
-        })
-    }).catch((action) => {
-        if (action === 'cancel') {
-            queryYpClass()
-        }
-    })
-}
-
-const currentEditCode = ref('')
-
-const tableEdit = (row) => {
-    currentEditCode.value = row.code
+const handleDialogClose = () => {
+    currentEditCode.value = ""
+    showDialog.value = false
 }
 
-
-
-
 </script>
 <style lang="scss" deep>
 .el-dialog__body {

+ 176 - 0
src/views/logisticsMaterials/logisticsBasicData/projectInformation/info.vue

@@ -165,6 +165,182 @@ const handleSearch = () => {
 
 
 
+.el-input__icon {
+  cursor: pointer;
+}
+
+.flex-center-row {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+</style><template>
+  <div class="container">
+    <el-form ref="formRef" :model="form" class="form" label-width="127px" size="default">
+      <el-row gutter="20">
+        <el-col :span="8">
+          <el-form-item label="服务库房" prop="name">
+            <el-input v-model="form.name" disabled></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="请领科室" prop="name">
+            <el-select v-model="form.type" placeholder="请选择请领科室">
+              <el-option label="请领科室" value=""></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="请领月份" prop="name">
+            <el-date-picker v-model="form.date" type="month" placeholder="请选择日期"></el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="项目名称" prop="name">
+            <el-input v-model="form.name" placeholder="请输入项目名称">
+              <template #prefix>
+                <el-icon class="el-input__icon" @click="handleSearch">
+                  <search />
+                </el-icon>
+              </template>
+            </el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+
+    <el-divider />
+    <div class="title-area">
+      采购明细
+    </div>
+    <el-table :data="detailTableData" style="width: 100%" height="500" size="default">
+      <el-table-column fixed="left" label="操作" width="80">
+        <template #default>
+          <el-button type="danger" size="small" @click="handleClick">
+            删 除
+          </el-button>
+          <!-- <el-button link type="primary" size="small">Edit</el-button> -->
+        </template>
+      </el-table-column>
+      <el-table-column type="index" prop="date" label="序号" width="80" />
+      <el-table-column prop="name" label="项目编码" />
+      <el-table-column prop="state" label="项目名称" />
+      <el-table-column prop="city" label="规格" />
+      <el-table-column prop="city" label="单位" />
+      <el-table-column prop="city" label="请领数量">
+        <template #default="scope">
+          <el-input v-model="scope.row.city" type="number" />
+        </template>
+      </el-table-column>
+    </el-table>
+    <div class="confirm-area flex-center-row" style="margin-top: 20px;">
+      <el-button type="primary" @click="confirm" size="default">确定</el-button>
+      <el-button @click="cancel" size="default">取消</el-button>
+    </div>
+  </div>
+
+  <!-- <el-divider /> -->
+
+
+  <el-dialog v-model="showDialog" :close-on-click-modal="false" :close-on-press-escape="false" title="选择项目" width="70%"
+    destroy-on-close>
+    <el-table :data="itemTableData" style="width: 100%" height="450">
+      <el-table-column prop="date" label="项目编码" />
+      <el-table-column prop="name" label="项目名称" />
+      <el-table-column prop="address" label="规格" />
+      <el-table-column prop="address" label="单位" />
+    </el-table>
+  </el-dialog>
+</template>
+<script setup name="YpDictInfo">
+import { nextTick, onMounted, ref } from 'vue'
+import { ElMessage, ElMessageBox } from 'element-plus'
+import { clone } from '@/utils/clone'
+import { Export } from '@/utils/ExportExcel'
+
+const props = defineProps({
+  //子组件接收父组件传递过来的值
+  currentEditCode: String,
+})
+//使用父组件传递过来的值
+const { currentEditCode } = toRefs(props)
+
+onMounted(() => {
+  nextTick(() => {
+
+  })
+})
+
+let form = ref({
+  code: ""
+})
+
+let showDialog = ref(false)
+
+let itemTableData = ref([
+  {
+    date: '2016-05-03',
+    name: 'Tom',
+    address: 'No. 189, Grove St, Los Angeles',
+  },
+  {
+    date: '2016-05-02',
+    name: 'Tom',
+    address: 'No. 189, Grove St, Los Angeles',
+  },
+  {
+    date: '2016-05-04',
+    name: 'Tom',
+    address: 'No. 189, Grove St, Los Angeles',
+  },
+])
+
+let detailTableData = ref([
+  {
+    date: '2016-05-03',
+    name: 'Tom',
+    address: 'No. 189, Grove St, Los Angeles',
+  },
+  {
+    date: '2016-05-02',
+    name: 'Tom',
+    address: 'No. 189, Grove St, Los Angeles',
+  },
+  {
+    date: '2016-05-04',
+    name: 'Tom',
+    address: 'No. 189, Grove St, Los Angeles',
+  },
+])
+
+
+
+const handleSearch = () => {
+  console.log(form.value)
+  showDialog.value = true
+}
+
+</script>
+
+<style lang="scss">
+.container {
+  height: 98%;
+  width: 100%;
+
+  .top-area {
+    height: 8%;
+    border-bottom: 1px solid #727070;
+    font-size: 1.2rem;
+  }
+
+  .title-area {
+    font-size: 1.2rem;
+    font-weight: bold;
+  }
+}
+
+
+
 .el-input__icon {
   cursor: pointer;
 }

+ 9 - 9
src/views/yp-dict/YpZdDict.vue

@@ -761,9 +761,9 @@
                 </el-col>
                 <el-col :span="6">
                   <el-form-item label="国家医保编码" prop="nationalCode">
-                    <el-input v-if="isEdit" v-model="ypForm.nationalCode" placeholder="请填写国家医保编码"
-                              disabled />
-                    <el-input v-else v-model="ypForm.nationalCode" placeholder="请填写国家医保编码" />
+                    <!-- <el-input v-if="isEdit" v-model="ypForm.nationalCode" placeholder="请填写国家医保编码"
+                              disabled /> -->
+                    <el-input v-model="ypForm.nationalCode" placeholder="请填写国家医保编码" />
                   </el-form-item>
                 </el-col>
               </el-row>
@@ -942,12 +942,12 @@ const rulesInfo = reactive({
     countryFlag: [
         { required: true, message: '请选择药品来源', trigger: 'change' },
     ],
-    manuCode: [
-        { required: true, message: '请选择制药厂', trigger: 'change' },
-    ],
-    pzwh: [
-        { required: true, message: '请填写批准文号', trigger: 'blur' },
-    ],
+    // manuCode: [
+    //     { required: true, message: '请选择制药厂', trigger: 'change' },
+    // ],
+    // pzwh: [
+    //     { required: true, message: '请填写批准文号', trigger: 'blur' },
+    // ],
     fhName: [
         { required: true, message: '请选择复核者', trigger: 'change' },
     ],