| | |
| | | <script setup> |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | |
| | | <div class="app-container"> |
| | | <div style="display: flex;justify-content: space-between;"> |
| | | <el-form :inline="true" style="display: flex;align-items: center;flex-wrap: wrap;" > |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="Plus" |
| | | @click="addProject('add',{})" |
| | | > |
| | | 新增仓库 |
| | | </el-button> |
| | | </el-form-item> |
| | | <el-form-item label="区域:" style="display: flex;align-items: center"> |
| | | <div style="margin: 10px"> |
| | | <div class="basic_search" > |
| | | <el-select v-model="queryParams.filter.provinceCode" clearable filterable > |
| | | <el-option v-for="item in data.provinceList" :key="item.id" :label="item.name" :value="item.code"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <!-- <div class="basic_search" style="display:inline-block">--> |
| | | <!-- <el-select v-model="params.city" prop="city" clearable filterable @change="changeArea('city')">--> |
| | | <!-- <el-option v-for="item in cityList" :key="item.id" :label="item.name" :value="item.name">--> |
| | | <!-- </el-option>--> |
| | | <!-- </el-select>--> |
| | | <!-- </div>--> |
| | | <!-- <div class="basic_search" style="display:inline-block">--> |
| | | <!-- <el-select v-model="params.district" clearable filterable>--> |
| | | <!-- <el-option v-for="item in districtList" :key="item.id" :label="item.name" :value="item.name">--> |
| | | <!-- </el-option>--> |
| | | <!-- </el-select>--> |
| | | <!-- </div>--> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item > |
| | | <el-button |
| | | type="primary" |
| | | @click="getList" |
| | | >查询</el-button> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | @click="reset" |
| | | >重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <!-- 表格数据 --> |
| | | <el-table v-loading="loading" :data="dataList" :border="true"> |
| | | <el-table-column label="序号" type="index" align="center" width="80" /> |
| | | <el-table-column label="仓库名称" prop="storeName" align="center" /> |
| | | <el-table-column label="仓库编号" prop="storeNum" align="center" /> |
| | | <el-table-column label="面积" prop="acreage" align="center" /> |
| | | <el-table-column label="危险等级" prop="dangerLevel" align="center" > |
| | | <template #default="scope"> |
| | | <span>{{scope.row.dangerLevel == 1 ? '1.1级库房' :scope.row.dangerLevel == 2? '1.3级库房' : '无药库房'}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="核定药量" prop="dosage" align="center" /> |
| | | <el-table-column label="核定人员数量" prop="personLimit" align="center" width="120"/> |
| | | <el-table-column label="创建人" prop="createBy" align="center" /> |
| | | <el-table-column label="创建时间" prop="createDate" align="center" width="120"/> |
| | | <el-table-column label="修改人" prop="updateBy" align="center" /> |
| | | <el-table-column label="修改时间" prop="updateDate" align="center" width="120"/> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" @click="addProject('edit',scope.row)">编辑</el-button> |
| | | <el-button link type="primary" @click="handleRoom(scope.row)">管理库房</el-button> |
| | | <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | v-model:page="queryParams.pageIndex" |
| | | v-model:limit="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | <warehouseDialog ref="dialogRef" @getList="getList"></warehouseDialog> |
| | | <room-dialog ref="roomRef" @getList="getList"></room-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped lang="scss"> |
| | | <script setup> |
| | | import {getCurrentInstance, onMounted, onUnmounted, reactive, ref, toRefs} from "vue"; |
| | | import {ElMessage, ElMessageBox} from "element-plus"; |
| | | import warehouseDialog from './components/warehouseDialog.vue' |
| | | import roomDialog from './components/roomDialog.vue' |
| | | import Cookies from "js-cookie"; |
| | | import {delWarehouse, getWarehouse} from "@/api/company/warehouse"; |
| | | import {subPixelOptimize} from "zrender/lib/graphic/helper/subPixelOptimize"; |
| | | import {getProvinceListData} from "@/api/company/area"; |
| | | const { proxy } = getCurrentInstance(); |
| | | const loading = ref(false); |
| | | const dialogRef = ref(); |
| | | const roomRef = ref() |
| | | const createSignRef = ref(); |
| | | const data = reactive({ |
| | | queryParams: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | filter: { |
| | | companyName: '', |
| | | companyCode: '', |
| | | provinceCode: '' |
| | | } |
| | | }, |
| | | total: 0, |
| | | dataList: [], |
| | | provinceList: [] |
| | | }); |
| | | |
| | | </style> |
| | | const { queryParams, total, dataList } = toRefs(data); |
| | | const classHourRef = ref(); |
| | | onMounted(async ()=>{ |
| | | const info = JSON.parse(Cookies.get('userInfo')) |
| | | data.queryParams.filter.companyCode = info.companynumber |
| | | await getProvince() |
| | | await getList() |
| | | }) |
| | | |
| | | onUnmounted(()=>{ |
| | | |
| | | }) |
| | | |
| | | const addProject = (type,value) => { |
| | | dialogRef.value.openDialog(type,value) |
| | | } |
| | | const getProvince = async () =>{ |
| | | let res = await getProvinceListData() |
| | | if(res.code == 200){ |
| | | data.provinceList = res.result.provinceList |
| | | } |
| | | } |
| | | const getList = async () => { |
| | | loading.value = true |
| | | const res = await getWarehouse(data.queryParams) |
| | | if(res.code == 200){ |
| | | data.dataList = res.result.records |
| | | data.total = res.result.total |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | | } |
| | | loading.value = false |
| | | } |
| | | |
| | | /** 重置新增的表单以及其他数据 */ |
| | | function reset() { |
| | | data.queryParams = { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | filter: { |
| | | companyName: '', |
| | | companyCode: '', |
| | | provinceCode: '' |
| | | } |
| | | } |
| | | getList() |
| | | } |
| | | const handleDelete = (val) => { |
| | | ElMessageBox.confirm( |
| | | '确定删除此条数据?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | }) |
| | | .then( async() => { |
| | | const param = { |
| | | id: val.id |
| | | } |
| | | const res = await delWarehouse(param) |
| | | if(res.code == 200){ |
| | | ElMessage.success('数据删除成功') |
| | | await getList() |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | const handleRoom = (val) => { |
| | | roomRef.value.openDialog(val) |
| | | } |
| | | const getRowKeys = (row) => { |
| | | return row.name |
| | | } |
| | | </script> |