独墅湖高教创新区危化品智慧管控平台(新危化品)
zhouwx
2025-04-18 817f8b5f25e08499e7e90b38c002e74131d57c17
修改
已修改30个文件
1426 ■■■■ 文件已修改
src/api/hazardousChemicals/count.js 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Navbar.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/components/flowDetail.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/accessRecords/components/productTable.vue 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/accessRecords/components/rawTable.vue 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/avoidWarning/index.vue 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/basicInfon/index.vue 94 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/electronicWarehouse/components/proDetail.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/electronicWarehouse/components/productTable.vue 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/electronicWarehouse/components/rawDetail.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/electronicWarehouse/components/rawTable.vue 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/electronicWarehouse/components/viewQR.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/finishedBasicInfo/index.vue 94 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/homePage/index.vue 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/overdueWarning/index.vue 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/systemManage/characteristic/index.vue 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/systemManage/classifyInfoTable/index.vue 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/systemManage/company/index.vue 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/systemManage/config/components/configDialog.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/systemManage/config/index.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/systemManage/department/index.vue 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/systemManage/user/components/userDialog.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/systemManage/user/index.vue 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/systemManage/warehouse/index.vue 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/traceableQuery/index.vue 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/useCount/index.vue 86 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/warehouseManage/components/proDetail.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/warehouseManage/components/productTable.vue 82 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/warehouseManage/components/rawDetail.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hazardousChemicals/warehouseManage/components/rawTable.vue 83 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/hazardousChemicals/count.js
@@ -1,30 +1,34 @@
import request from "@/utils/request";
export function getHoData() {
export function getHoData(params) {
    return request({
        url: '/statistic/homeDataStatistic',
        method: 'get',
        params:params
    })
}
export function getEntryData() {
export function getEntryData(params) {
    return request({
        url: '/statistic/entryStatistic',
        method: 'get',
        params:params
    })
}
export function getUseData() {
export function getUseData(params) {
    return request({
        url: '/statistic/useStatistic',
        method: 'get',
        params:params
    })
}
export function getMaxUseData() {
export function getMaxUseData(params) {
    return request({
        url: '/statistic/maxUseStatistic',
        method: 'get',
        params:params
    })
}
@@ -37,10 +41,11 @@
    })
}
export function unWarningCount() {
export function unWarningCount(params) {
    return request({
        url: '/warning/warningCount',
        method: 'get',
        params:params
    })
}
src/layout/components/Navbar.vue
@@ -96,7 +96,7 @@
  const info =  await getUserById(userInfo.value.id);
  if(info.code === 200){
    Cookies.set('userInfo',JSON.stringify(info.data))
    reviewRef.value.openDialog('edit',info.data)
    reviewRef.value.openDialog('view',info.data)
  }
}
src/views/components/flowDetail.vue
@@ -44,14 +44,16 @@
    id: '',
    name: '',
    productSn: '',
    code: ''
    code: '',
    companyId: null
  },
  dataList: [],
  active: null
})
const openDialog = async (type, value) => {
const openDialog = async (type, value,companyId) => {
  title.value = type;
  if(type === 'code'){
    state.form.code = value
@@ -59,7 +61,7 @@
    state.form = JSON.parse(JSON.stringify(value))
  }
  state.form.companyId = companyId
  await getAllFlow()
}
@@ -68,11 +70,13 @@
    let param = {}
    if(title.value == 'pro'){
      param = {
        productId: state.form.id
        productId: state.form.id,
        companyId: state.form.companyId
      }
    }else {
      param = {
        productId: state.form.productId
        productId: state.form.productId,
        companyId: state.form.companyId
      }
    }
    const res = await getAllProFlow(param)
@@ -103,11 +107,13 @@
    let param = {}
    if(title.value == 'raw'){
      param = {
        hazmatId: state.form.id
        hazmatId: state.form.id,
        companyId: state.form.companyId
      }
    }else {
      param = {
        hazmatId: state.form.hazmatId
        hazmatId: state.form.hazmatId,
        companyId: state.form.companyId
      }
    }
    const res = await getAllRawFlow(param)
@@ -136,7 +142,8 @@
    }
  }else if(title.value == 'code'){
    const param = {
      code: state.form.code
      code: state.form.code,
      companyId: state.form.companyId
    }
    const res = await getFlowByCode(param)
    if(res.code == 200){
src/views/hazardousChemicals/accessRecords/components/productTable.vue
@@ -2,6 +2,26 @@
  <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 label="企业名称:" >
          <el-select
              clearable
              v-model="data.queryParams.companyId"
              filterable
              remote
              reserve-keyword
              placeholder="请输入企业名称"
              remote-show-suffix
              :remote-method="getCompanyList"
              style="width: 100%"
          >
            <el-option
                v-for="item in data.companyList"
                :key="item.id"
                :label="item.name"
                :value="item.id"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="品名:" >
          <el-input v-model="data.queryParams.params.name" placeholder="请输入品名" clearable></el-input>
        </el-form-item>
@@ -78,6 +98,7 @@
  getProWarehouseRecord
} from "@/api/hazardousChemicals/productRecord";
import {delRawRecord} from "@/api/hazardousChemicals/rawRecord";
import {getCompany} from "@/api/hazardousChemicals/company";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const dialogRef = ref();
@@ -88,19 +109,22 @@
  queryParams: {
    pageNum: 1,
    pageSize: 10,
    companyId:null,
    params :{
      name: '',
      productSn: ''
      productSn: '',
    }
  },
  companyList: [],
  total: 0,
  dataList: []
});
const { queryParams, total, dataList } = toRefs(data);
const classHourRef = ref();
onMounted(()=>{
  getList()
onMounted(async ()=>{
  await getCompanyList('')
  await  getList()
})
const getList = async () => {
@@ -114,6 +138,33 @@
  }
  loading.value = false
}
const getCompanyList = async (val)=>{
  if(val){
    const queryParams = {
      name: val
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }else {
    const queryParams = {
      pageNum: 1,
      pageSize: 10
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
      if(data.queryParams.companyId == null){
        data.queryParams.companyId = data.companyList[0].id
      }
    } else {
      ElMessage.warning(res.message)
    }
  }
}
const openDialog = (type, value) => {
  dialogRef.value.openDialog(type, value);
@@ -124,11 +175,13 @@
  data.queryParams = {
    pageNum: 1,
    pageSize: 10,
    companyId: null,
    params :{
      name: '',
      productSn: ''
      productSn: '',
    }
  }
  data.queryParams.companyId = data.companyList[0].id
  getList()
}
const handleDelete = (val) => {
@@ -181,7 +234,7 @@
const viewFlow = (val) => {
  dialogVisible.value = true
  nextTick(() => {
    flowRef.value.openDialog('proRecord',val)
    flowRef.value.openDialog('proRecord',val,val.companyId)
  })
}
src/views/hazardousChemicals/accessRecords/components/rawTable.vue
@@ -2,6 +2,26 @@
  <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 label="企业名称:" >
          <el-select
              clearable
              v-model="data.queryParams.companyId"
              filterable
              remote
              reserve-keyword
              placeholder="请输入企业名称"
              remote-show-suffix
              :remote-method="getCompanyList"
              style="width: 100%"
          >
            <el-option
                v-for="item in data.companyList"
                :key="item.id"
                :label="item.name"
                :value="item.id"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="品名:" >
          <el-input v-model="data.queryParams.params.name" placeholder="请输入品名" clearable></el-input>
        </el-form-item>
@@ -81,6 +101,7 @@
  getRawWarehouseRecord
} from "@/api/hazardousChemicals/rawRecord";
import {useRoute, useRouter} from "vue-router";
import {getCompany} from "@/api/hazardousChemicals/company";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const dialogRef = ref();
@@ -91,18 +112,20 @@
  queryParams: {
    pageNum: 1,
    pageSize: 10,
    companyId: null,
    params :{
      name: '',
      productSn: ''
      productSn: '',
    }
  },
  total: 0,
  dataList: []
  dataList: [],
  companyList: []
});
const { queryParams, total, dataList } = toRefs(data);
const classHourRef = ref();
onMounted(()=>{
onMounted(async ()=>{
  if(route.query.val){
    const val = JSON.parse(route.query.val)
    if(val){
@@ -110,7 +133,8 @@
      data.queryParams.pageSize = val.pageSize;
    }
  }
  getList()
  await getCompanyList('')
  await  getList()
})
const getList = async () => {
  loading.value = true
@@ -124,6 +148,33 @@
  loading.value = false
}
const getCompanyList = async (val)=>{
  if(val){
    const queryParams = {
      name: val
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }else {
    const queryParams = {
      pageNum: 1,
      pageSize: 10
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
      if(data.queryParams.companyId == null){
        data.queryParams.companyId = data.companyList[0].id
      }
    } else {
      ElMessage.warning(res.message)
    }
  }
}
const openDialog = (type, value) => {
  dialogRef.value.openDialog(type, value);
}
@@ -135,9 +186,10 @@
    pageSize: 10,
    params :{
      name: '',
      productSn: ''
      productSn: '',
    }
  }
  data.queryParams.companyId = data.companyList[0].id
  getList()
}
const handleDelete = (val) => {
@@ -177,7 +229,7 @@
const viewFlow = (val) => {
  dialogVisible.value = true
  nextTick(() => {
    flowRef.value.openDialog('rawRecord',val)
    flowRef.value.openDialog('rawRecord',val,val.companyId)
  })
}
src/views/hazardousChemicals/avoidWarning/index.vue
@@ -1,5 +1,41 @@
<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 label="企业名称:" >
          <el-select
              clearable
              v-model="state.queryParams.companyId"
              filterable
              remote
              reserve-keyword
              placeholder="请输入企业名称"
              remote-show-suffix
              :remote-method="getCompanyList"
              style="width: 100%"
          >
            <el-option
                v-for="item in state.companyList"
                :key="item.id"
                :label="item.name"
                :value="item.id"
            />
          </el-select>
        </el-form-item>
        <el-form-item >
          <el-button
              type="primary"
              @click="getListAll"
          >查询</el-button>
          <el-button
              type="primary"
              plain
              @click="reset"
          >重置</el-button>
        </el-form-item>
      </el-form>
    </div>
<!--    卡片部分-->
    <div style="margin-bottom: 10px;display: flex;align-items: center;justify-content: space-between" >
      <div style="font-weight: 600;font-size: 20px">实时报警状态</div>
@@ -84,23 +120,28 @@
import {ElMessage} from "element-plus";
import avoidDialog from './components/avoidDialog.vue'
import {getAvoidInfoPage, getAvoidList} from "@/api/hazardousChemicals/avoid";
import {getCompany} from "@/api/hazardousChemicals/company";
const avoidRef = ref(null)
const state = reactive({
  queryParams: {
    pageNum: 1,
    pageSize: 5,
    warningType: ''
    warningType: '',
    companyId: null
  },
  cardQueryParams: {
    warningType: ''
    warningType: '',
    companyId: null
  },
  total: 0,
  dataList: [],
  tableList: []
  tableList: [],
  companyList: []
});
const { queryParams,cardQueryParams, total, dataList } = toRefs(state);
const loading = ref(false);
onMounted(()=>{
  getCompanyList('')
  getListPage()
  getList()
})
@@ -116,6 +157,9 @@
  loading.value = false
}
const getList = async () => {
  if(state.queryParams.companyId){
    state.cardQueryParams.companyId = state.queryParams.companyId
  }
  const res = await getAvoidList(state.cardQueryParams)
  if(res.code == 200){
    state.dataList = res.data
@@ -126,6 +170,30 @@
const handle = (val) => {
  avoidRef.value.openDialog(val);
}
const getCompanyList = async (val)=>{
  if(val){
    const queryParams = {
      name: val
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      state.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }else {
    const queryParams = {
      pageNum: 1,
      pageSize: 10
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      state.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }
}
const chooseType = (type) => {
  state.queryParams.warningType = type == 'red' ? 1 : type == '' ? '' :2
@@ -138,6 +206,20 @@
  getListPage()
  getList()
}
const reset = () => {
  state.queryParams= {
    pageNum: 1,
    pageSize: 5,
    warningType: '',
    companyId: null
  }
  state.cardQueryParams= {
    warningType: '',
    companyId: null
  }
  getListPage()
  getList()
}
</script>
src/views/hazardousChemicals/basicInfon/index.vue
@@ -1,23 +1,43 @@
<template>
  <div class="app-container">
    <div style="display: flex;flex-direction: column">
      <div style="display: flex">
        <el-button
            type="primary"
            plain
            icon="Plus"
            style="width: 70px;margin-bottom: 10px"
            @click="openDialog('add',{})"
        >新增</el-button>
        <el-button
            type="primary"
            plain
            style="width: 80px;margin-bottom: 10px"
            @click="exportData"
        >批量导入</el-button>
      </div>
<!--      <div style="display: flex">-->
<!--        <el-button-->
<!--            type="primary"-->
<!--            plain-->
<!--            icon="Plus"-->
<!--            style="width: 70px;margin-bottom: 10px"-->
<!--            @click="openDialog('add',{})"-->
<!--        >新增</el-button>-->
<!--        <el-button-->
<!--            type="primary"-->
<!--            plain-->
<!--            style="width: 80px;margin-bottom: 10px"-->
<!--            @click="exportData"-->
<!--        >批量导入</el-button>-->
<!--      </div>-->
      <el-form :inline="true" style="display: flex;align-items: center;flex-wrap: wrap;" >
        <el-form-item label="企业名称:" >
          <el-select
              clearable
              v-model="data.queryParams.companyId"
              filterable
              remote
              reserve-keyword
              placeholder="请输入企业名称"
              remote-show-suffix
              :remote-method="getCompanyList"
              style="width: 100%"
          >
            <el-option
                v-for="item in data.companyList"
                :key="item.id"
                :label="item.name"
                :value="item.id"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="名称:" >
          <el-input v-model="data.queryParams.name" placeholder="请输入危化品名称"></el-input>
        </el-form-item>
@@ -100,12 +120,12 @@
      <el-table-column label="安全库存" prop="safeNum" align="center"/>
      <el-table-column label="超期阈值(小时)" prop="threshold" align="center"/>
      <el-table-column label="单次入库最大数量" prop="maxEntry" align="center"/>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >
        <template #default="scope">
          <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>
          <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
        </template>
      </el-table-column>
<!--      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >-->
<!--        <template #default="scope">-->
<!--          <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>-->
<!--          <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>-->
<!--        </template>-->
<!--      </el-table-column>-->
    </el-table>
    <pagination
@@ -179,10 +199,12 @@
    cas:'',
    supplier: '',
    kind: '',
    productSn: ''
    productSn: '',
    companyId: null
  },
  total: 0,
  dataList: [],
  companyList: [],
  typeList: [
    {
      id: 0,
@@ -212,6 +234,7 @@
const { queryParams, total, dataList } = toRefs(data);
const classHourRef = ref();
onMounted(()=>{
  getCompanyList('')
  getList()
})
@@ -231,6 +254,30 @@
  loading.value = false
}
const getCompanyList = async (val)=>{
  if(val){
    const queryParams = {
      name: val
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }else {
    const queryParams = {
      pageNum: 1,
      pageSize: 10
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }
}
const openDialog = (type, value) => {
  dialogRef.value.openDialog(type, value);
}
@@ -244,7 +291,8 @@
    cas:'',
    supplier: '',
    kind: '',
    productSn: ''
    productSn: '',
    companyId: null
  }
  getList()
}
src/views/hazardousChemicals/electronicWarehouse/components/proDetail.vue
@@ -66,7 +66,7 @@
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180" >
        <template #default="scope">
          <el-button link type="primary" @click="viewFlow(scope.row)">取用记录</el-button>
          <el-button link type="danger" v-if="scope.row.state === 0" @click="disCard(scope.row)">标签作废</el-button>
<!--          <el-button link type="danger" v-if="scope.row.state === 0" @click="disCard(scope.row)">标签作废</el-button>-->
          <el-button link type="primary" @click="viewQR(scope.row)">查看二维码</el-button>
        </template>
      </el-table-column>
@@ -112,6 +112,8 @@
    state: null,
    pageNum: 1,
    pageSize: 10,
    companyId: null
  },
  total: 0,
  dataList: [],
@@ -141,6 +143,7 @@
    backValue.value.pageSize =val.pageSize;
    data.queryParams.warehouseId =val.warehouseId
    data.queryParams.basicId =val.basicId
    data.queryParams.companyId = val.companyId
  }
  await getList()
})
@@ -157,6 +160,7 @@
}
const reset = () => {
  data.queryParams = {
    companyId: data.queryParams.companyId,
    basicId: data.queryParams.basicId,
    warehouseId: data.queryParams.warehouseId,
    state: null,
@@ -205,8 +209,7 @@
const viewFlow = (val) => {
  dialogVisible.value = true
  nextTick(() => {
    flowRef.value.openDialog('pro',val)
    flowRef.value.openDialog('pro',val,val.companyId)
  })
}
src/views/hazardousChemicals/electronicWarehouse/components/productTable.vue
@@ -2,6 +2,26 @@
  <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 label="企业名称:" >
          <el-select
              clearable
              v-model="data.queryParams.companyId"
              filterable
              remote
              reserve-keyword
              placeholder="请输入企业名称"
              remote-show-suffix
              :remote-method="getCompanyList"
              style="width: 100%"
          >
            <el-option
                v-for="item in data.companyList"
                :key="item.id"
                :label="item.name"
                :value="item.id"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="品名:" >
          <el-input v-model="data.queryParams.params.name" placeholder="请输入品名" clearable></el-input>
        </el-form-item>
@@ -76,6 +96,7 @@
} from "@/api/hazardousChemicals/productRecord";
import {delRawRecord} from "@/api/hazardousChemicals/rawRecord";
import {useRoute, useRouter} from "vue-router";
import {getCompany} from "@/api/hazardousChemicals/company";
const router = useRouter()
const route = useRoute()
const { proxy } = getCurrentInstance();
@@ -86,18 +107,21 @@
  queryParams: {
    pageNum: 1,
    pageSize: 10,
    companyId: null,
    params :{
      name: '',
      productSn: ''
      productSn: '',
    }
  },
  total: 0,
  dataList: []
  dataList: [],
  companyList: []
});
const { queryParams, total, dataList } = toRefs(data);
const classHourRef = ref();
onMounted(()=>{
onMounted(async ()=>{
  if(route.query.val){
    const val = JSON.parse(route.query.val)
    if(val){
@@ -105,7 +129,9 @@
      data.queryParams.pageSize = val.pageSize;
    }
  }
  getList()
  await getCompanyList()
  await getList()
})
const getList = async () => {
@@ -119,6 +145,34 @@
  }
  loading.value = false
}
const getCompanyList = async (val)=>{
  if(val){
    const queryParams = {
      name: val
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }
  else {
    const queryParams = {
      pageNum: 1,
      pageSize: 10
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
      if(data.queryParams.companyId == null){
        data.queryParams.companyId = data.companyList[0].id
      }
    } else {
      ElMessage.warning(res.message)
    }
  }
}
const openDialog = (type, value) => {
  dialogRef.value.openDialog(type, value);
@@ -131,10 +185,13 @@
    pageSize: 10,
    params :{
      name: '',
      productSn: ''
      productSn: '',
    }
  }
  data.queryParams.companyId = data.companyList[0].id
  getList()
}
const getProRecord = (val) => {
  dialogRef.value.openDialog(val)
@@ -144,7 +201,8 @@
    pageNum: data.queryParams.pageNum,
    pageSize: data.queryParams.pageSize,
    basicId: val.basicId,
    warehouseId: val.warehouseId
    warehouseId: val.warehouseId,
    companyId: val.productBasic.companyId
  }
  const v = JSON.stringify(obj)
  router.push({ path: "/proDetail", query: { val: v } });
src/views/hazardousChemicals/electronicWarehouse/components/rawDetail.vue
@@ -68,9 +68,9 @@
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180" >
        <template #default="scope">
          <el-button link type="primary" v-if="scope.row.state ===0 || scope.row.state === 1" @click="editNum(scope.row)">零头修改</el-button>
<!--          <el-button link type="primary" v-if="scope.row.state ===0 || scope.row.state === 1" @click="editNum(scope.row)">零头修改</el-button>-->
          <el-button link type="primary" @click="viewFlow(scope.row)">取用记录</el-button>
          <el-button link type="danger" v-if="scope.row.state === 0 || scope.row.state === 1|| scope.row.state === 2" @click="disCard(scope.row)">标签作废</el-button>
<!--          <el-button link type="danger" v-if="scope.row.state === 0 || scope.row.state === 1|| scope.row.state === 2" @click="disCard(scope.row)">标签作废</el-button>-->
          <el-button link type="primary" @click="viewQR(scope.row)">查看二维码</el-button>
        </template>
      </el-table-column>
@@ -137,6 +137,7 @@
    state: null,
    pageNum: 1,
    pageSize: 10,
    companyId: null
  },
  total: 0,
  dataList: [],
@@ -181,6 +182,7 @@
    backValue.value.pageSize =val.pageSize;
    data.queryParams.warehouseId =val.warehouseId
    data.queryParams.basicId =val.basicId
    data.queryParams.companyId = val.companyId
  }
  await getList()
})
@@ -197,11 +199,13 @@
}
const reset = () => {
  data.queryParams = {
    companyId: data.queryParams.companyId,
    basicId: data.queryParams.basicId,
    warehouseId: data.queryParams.warehouseId,
    state: null,
    pageNum: 1,
    pageSize: 10,
  }
  getList()
}
@@ -243,7 +247,7 @@
const viewFlow = (val) => {
  dialogVisible.value = true
  nextTick(() => {
    flowRef.value.openDialog('raw',val)
    flowRef.value.openDialog('raw',val,val.companyId)
  })
}
const handleClose = () => {
src/views/hazardousChemicals/electronicWarehouse/components/rawTable.vue
@@ -2,6 +2,26 @@
  <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 label="企业名称:" >
          <el-select
              clearable
              v-model="data.queryParams.companyId"
              filterable
              remote
              reserve-keyword
              placeholder="请输入企业名称"
              remote-show-suffix
              :remote-method="getCompanyList"
              style="width: 100%"
          >
            <el-option
                v-for="item in data.companyList"
                :key="item.id"
                :label="item.name"
                :value="item.id"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="品名:" >
          <el-input v-model="data.queryParams.params.name" placeholder="请输入品名" clearable></el-input>
        </el-form-item>
@@ -105,6 +125,7 @@
  getRawWarehouseRecord
} from "@/api/hazardousChemicals/rawRecord";
import {useRoute, useRouter} from "vue-router";
import {getCompany} from "@/api/hazardousChemicals/company";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const dialogRef = ref();
@@ -113,19 +134,21 @@
  queryParams: {
    pageNum: 1,
    pageSize: 10,
    companyId: null,
    params :{
      name: '',
      productSn: ''
      productSn: '',
    }
  },
  total: 0,
  dataList: []
  dataList: [],
  companyList: []
});
const selectValue = ref([])
const { queryParams, total, dataList } = toRefs(data);
const classHourRef = ref();
onMounted(()=>{
onMounted(async ()=>{
  if(route.query.val){
    const val = JSON.parse(route.query.val)
    if(val){
@@ -133,11 +156,42 @@
      data.queryParams.pageSize = val.pageSize;
    }
  }
  getList()
 await getCompanyList("")
  await getList()
})
const getCompanyList = async (val)=>{
  if(val){
    const queryParams = {
      name: val
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }else {
    const queryParams = {
      pageNum: 1,
      pageSize: 10
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
      if(data.queryParams.companyId == null){
        data.queryParams.companyId = data.companyList[0].id
      }
    } else {
      ElMessage.warning(res.message)
    }
  }
}
const getList = async () => {
  loading.value = true
  const res = await getRawList(data.queryParams)
  if(res.code == 200){
    data.dataList = res.data.list
@@ -159,10 +213,12 @@
    pageSize: 10,
    params :{
      name: '',
      productSn: ''
      productSn: '',
    }
  }
  data.queryParams.companyId = data.companyList[0].id
  getList()
}
const handleDelete = (val) => {
  ElMessageBox.confirm(
@@ -189,7 +245,8 @@
    pageNum: data.queryParams.pageNum,
    pageSize: data.queryParams.pageSize,
    basicId: val.basicId,
    warehouseId: val.warehouseId
    warehouseId: val.warehouseId,
    companyId: val.hazmatBasic.companyId
  }
  const v = JSON.stringify(obj)
  router.push({ path: "/rawDetail", query: { val: v } });
src/views/hazardousChemicals/electronicWarehouse/components/viewQR.vue
@@ -8,7 +8,7 @@
        :close-on-click-modal="false"
    >
      <div style="display: flex;flex-direction: column;align-items: flex-end">
        <el-button type="primary" style="margin-bottom: 5px" @click="printCode">打印</el-button>
<!--        <el-button type="primary" style="margin-bottom: 5px" @click="printCode">打印</el-button>-->
      </div>
      <el-card style="max-width: 480px">
        <div :id="state.form.code">
src/views/hazardousChemicals/finishedBasicInfo/index.vue
@@ -1,22 +1,42 @@
<template>
  <div class="app-container">
    <div style="display: flex;flex-direction: column">
      <div style="display: flex">
        <el-button
            type="primary"
            plain
            icon="Plus"
            style="width: 70px;margin-bottom: 10px"
            @click="openDialog('add',{})"
        >新增</el-button>
        <el-button
            type="primary"
            plain
            style="width: 80px;margin-bottom: 10px"
            @click="exportData"
        >批量导入</el-button>
      </div>
<!--      <div style="display: flex">-->
<!--        <el-button-->
<!--            type="primary"-->
<!--            plain-->
<!--            icon="Plus"-->
<!--            style="width: 70px;margin-bottom: 10px"-->
<!--            @click="openDialog('add',{})"-->
<!--        >新增</el-button>-->
<!--        <el-button-->
<!--            type="primary"-->
<!--            plain-->
<!--            style="width: 80px;margin-bottom: 10px"-->
<!--            @click="exportData"-->
<!--        >批量导入</el-button>-->
<!--      </div>-->
      <el-form :inline="true" style="display: flex;align-items: center;flex-wrap: wrap;" >
        <el-form-item label="企业名称:" >
          <el-select
              clearable
              v-model="data.queryParams.companyId"
              filterable
              remote
              reserve-keyword
              placeholder="请输入企业名称"
              remote-show-suffix
              :remote-method="getCompanyList"
              style="width: 100%"
          >
            <el-option
                v-for="item in data.companyList"
                :key="item.id"
                :label="item.name"
                :value="item.id"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="名称:" >
          <el-input v-model="data.queryParams.name" placeholder="请输入危化品名称"></el-input>
        </el-form-item>
@@ -97,12 +117,12 @@
        </template>
      </el-table-column>
      <el-table-column label="单次入库最大数量" prop="maxEntry" align="center"/>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >
        <template #default="scope">
          <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>
          <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
        </template>
      </el-table-column>
<!--      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >-->
<!--        <template #default="scope">-->
<!--          <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>-->
<!--          <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>-->
<!--        </template>-->
<!--      </el-table-column>-->
    </el-table>
    <pagination
@@ -176,7 +196,8 @@
    cas:'',
    supplier: '',
    kind: '',
    productSn: ''
    productSn: '',
    companyId:null
  },
  total: 0,
  dataList: [],
@@ -203,12 +224,14 @@
    },
  ],
  fileList: [],
  companyList: [],
  limit: 1
});
const { queryParams, total, dataList } = toRefs(data);
const classHourRef = ref();
onMounted(()=>{
  getCompanyList('')
  getList()
})
@@ -232,6 +255,30 @@
  dialogRef.value.openDialog(type, value);
}
const getCompanyList = async (val)=>{
  if(val){
    const queryParams = {
      name: val
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }else {
    const queryParams = {
      pageNum: 1,
      pageSize: 10
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }
}
/** 重置新增的表单以及其他数据  */
function reset() {
  data.queryParams = {
@@ -241,7 +288,8 @@
    cas:'',
    supplier: '',
    kind: '',
    productSn: ''
    productSn: '',
    companyId:null
  }
  getList()
}
src/views/hazardousChemicals/homePage/index.vue
@@ -1,5 +1,40 @@
<template>
  <div class="homePage">
    <div>
      <el-form :inline="true" style="display: flex;align-items: center;flex-wrap: wrap;" >
        <el-form-item label="企业名称:" >
          <el-select
              clearable
              v-model="data.queryParams.companyId"
              filterable
              remote
              reserve-keyword
              placeholder="请输入企业名称"
              remote-show-suffix
              :remote-method="getCompanyList"
              style="width: 100%"
          >
            <el-option
                v-for="item in data.companyList"
                :key="item.id"
                :label="item.name"
                :value="item.id"
            />
          </el-select>
        </el-form-item>
        <el-form-item >
          <el-button
              type="primary"
              @click="getAllList"
          >查询</el-button>
          <el-button
              type="primary"
              plain
              @click="reset"
          >重置</el-button>
        </el-form-item>
      </el-form>
    </div>
    <el-row :gutter="20" justify="space-between" style="margin-bottom: 15px">
      <el-col :xl="6" :lg="6" :md="12" :sm="12" :xs="24" v-for="(item,index) in data.cardList" :key="index">
        <el-card style="margin-bottom: 5px">
@@ -110,7 +145,12 @@
import {getEntryData, getHazmatUseList, getHoData, getMaxUseData, getUseData} from "@/api/hazardousChemicals/count";
import {getWarning} from "@/api/hazardousChemicals/warning";
import {getRawFlow} from "@/api/hazardousChemicals/rawRecord";
import {getCompany} from "@/api/hazardousChemicals/company";
const data = reactive({
  queryParams: {
    companyId: null
  },
  companyList:[],
  cardList: [
    {
      title: '危化品数量',
@@ -150,7 +190,8 @@
  warningData: [],
  warningQueryParams: {
    pageNum: 1,
    pageSize: 10
    pageSize: 10,
    companyId: null
  },
  wTotal: 0,
  wloading: false,
@@ -158,7 +199,8 @@
  hloading: false,
  hazmatQueryParams: {
    pageNum: 1,
    pageSize: 10
    pageSize: 10,
    companyId: null
  },
  hazmatData: [],
@@ -171,15 +213,18 @@
const lineChart = ref("eChartBarN" + Date .now() + Math .random())
onMounted(async () => {
  await getCompanyList()
  await getHazmatFlowData()
  await getHomeData()
  await entryData()
  await useData()
  await maxUseData()
  await getWarningData()
  await getHazmatFlowData()
});
const getWarningData = async () => {
  data.wloading = true
  data.warningQueryParams.companyId = data.queryParams.companyId
  const res = await getWarning(data.warningQueryParams)
  if(res.code == 200){
    data.warningData =res.data.list.map(item => {
@@ -196,6 +241,7 @@
}
const getHazmatFlowData = async () => {
  data.hloading = true
  data.hazmatQueryParams.companyId = data.queryParams.companyId
  const res = await getRawFlow(data.hazmatQueryParams)
  if(res.code == 200){
    data.hazmatData =res.data.list.map(item => {
@@ -224,7 +270,7 @@
  }
}
const entryData = async () => {
  const res = await getEntryData()
  const res = await getEntryData(data.queryParams)
  if(res.code == 200){
    data.entryXData = res.data.map(item => item.month+'月' + item.day+'日')
    data.entryYData = res.data.map(item =>item.count)
@@ -233,8 +279,36 @@
    ElMessage.warning(res.message)
  }
}
const getCompanyList = async (val)=>{
  if(val){
    const queryParams = {
      name: val
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }else {
    const queryParams = {
      pageNum: 1,
      pageSize: 10
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
      if(data.queryParams.companyId == null){
        data.queryParams.companyId = data.companyList[0].id
      }
    } else {
      ElMessage.warning(res.message)
    }
  }
}
const useData = async () => {
  const res = await getUseData()
  const res = await getUseData(data.queryParams)
  if(res.code == 200){
    data.useXData = res.data.map(item => item.day+'日')
    data.useYData = res.data.map(item =>item.count)
@@ -244,7 +318,7 @@
  }
}
const maxUseData = async () => {
  const res = await getMaxUseData()
  const res = await getMaxUseData(data.queryParams)
  if(res.code == 200){
    data.maxUseList = res.data.map(item => {
      return{
@@ -304,6 +378,19 @@
  })
}
const getAllList = async () => {
  await getHazmatFlowData()
  await getHomeData()
  await entryData()
  await useData()
  await maxUseData()
  await getWarningData()
}
const reset = async () => {
  data.queryParams.companyId = data.companyList[0].id
  await getAllList()
}
const getBarChart = () => {
  if (myBarChart.value != null && myBarChart.value != "" && myBarChart.value != undefined) {
    myChart.value.dispose();
src/views/hazardousChemicals/overdueWarning/index.vue
@@ -1,6 +1,42 @@
<template>
  <div class="app-container">
    <div style="display: flex;justify-content: flex-end;margin-bottom: 10px;font-size: 20px;font-weight: 600">
    <div style="display: flex;justify-content: space-between;margin-bottom: 10px;font-size: 20px;font-weight: 600">
      <div style="display: flex;justify-content: space-between">
        <el-form :inline="true" style="display: flex;align-items: center;flex-wrap: wrap;" >
          <el-form-item label="企业名称:" >
            <el-select
                clearable
                v-model="data.queryParams.companyId"
                filterable
                remote
                reserve-keyword
                placeholder="请输入企业名称"
                remote-show-suffix
                :remote-method="getCompanyList"
                style="width: 100%"
            >
              <el-option
                  v-for="item in data.companyList"
                  :key="item.id"
                  :label="item.name"
                  :value="item.id"
              />
            </el-select>
          </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>
      <div>
      <span>当前存在未处理预警 <span style="color: #1890ff;cursor: pointer" @click="toDetail">{{data.untreatedTotal}}</span> 条</span>
      <el-button
          type="primary"
@@ -9,33 +45,9 @@
          style="margin-left: 40px"
      >重置</el-button>
    </div>
<!--/*    <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="openDialog('add',{})"-->
<!--          >新增</el-button>-->
<!--        </el-form-item>-->
<!--        <el-form-item label="仓库名称:" >-->
<!--          <el-input v-model="data.queryParams.name" placeholder="请输仓库名称"></el-input>-->
<!--        </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>-->
    </div>
    <!-- 表格数据 -->
    <el-table v-loading="loading" :data="dataList" :border="true">
      <el-table-column label="序号" type="index" align="center" width="80" />
@@ -77,6 +89,7 @@
import {ElMessage, ElMessageBox} from "element-plus";
import {delWarning, getWarning, handleWarning} from "@/api/hazardousChemicals/warning";
import {unWarningCount} from "@/api/hazardousChemicals/count";
import {getCompany} from "@/api/hazardousChemicals/company";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const dialogRef = ref();
@@ -84,18 +97,20 @@
  queryParams: {
    pageNum: 1,
    pageSize: 10,
    state: null
    state: null,
    companyId: null
  },
  total: 0,
  dataList: [],
  untreatedTotal: 0
  untreatedTotal: 0,
  companyList: []
});
const { queryParams, total, dataList } = toRefs(data);
const classHourRef = ref();
onMounted(()=>{
  getList()
  getUnCount()
  getCompanyList("")
})
onUnmounted(()=>{
@@ -108,6 +123,7 @@
  if(res.code == 200){
    data.dataList = res.data.list
    data.total = res.data.total
    getUnCount()
  }else{
    ElMessage.warning(res.message)
@@ -115,7 +131,10 @@
  loading.value = false
}
const getUnCount = async () => {
  const res = await unWarningCount()
const param = {
  companyId: data.queryParams.companyId
}
  const res = await unWarningCount(param)
  if(res.code == 200){
    data.untreatedTotal = res.data
  }else{
@@ -124,6 +143,30 @@
}
const getCompanyList = async (val)=>{
  if(val){
    const queryParams = {
      name: val
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }else {
    const queryParams = {
      pageNum: 1,
      pageSize: 10
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }
}
const openDialog = (type, value) => {
  dialogRef.value.openDialog(type, value);
}
@@ -133,10 +176,10 @@
  data.queryParams = {
    pageNum: 1,
    pageSize: 10,
    state: null
    state: null,
    companyId: null
  }
  getList()
  getUnCount()
}
const handleDelete = (val) => {
  ElMessageBox.confirm(
@@ -152,7 +195,6 @@
        if(res.code == 200){
          ElMessage.success('数据删除成功')
          await getList()
          await getUnCount()
        }else{
          ElMessage.warning(res.message)
        }
@@ -179,7 +221,6 @@
        if(res.code == 200){
          ElMessage.success('处理成功')
          await getList()
          await getUnCount()
        }else{
          ElMessage.warning(res.message)
        }
src/views/hazardousChemicals/systemManage/characteristic/index.vue
@@ -1,28 +1,28 @@
<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="openDialog('add',{})"
          >新增</el-button>
        </el-form-item>
      </el-form>
    </div>
<!--    <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="openDialog('add',{})"-->
<!--          >新增</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="peculiarityType" align="center"  />
      <el-table-column label="编号" prop="peculiarityNumber" align="center" />
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >
        <template #default="scope">
          <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>
          <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
        </template>
      </el-table-column>
<!--      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >-->
<!--        <template #default="scope">-->
<!--          <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>-->
<!--          <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>-->
<!--        </template>-->
<!--      </el-table-column>-->
    </el-table>
    <pagination
src/views/hazardousChemicals/systemManage/classifyInfoTable/index.vue
@@ -2,22 +2,22 @@
  <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="openDialog('add',{})"
          >新增</el-button>
        </el-form-item>
        <el-form-item>
          <el-button
              type="primary"
              plain
              style="width: 80px;margin-left: -20px"
              @click="exportData"
          >批量导入</el-button>
        </el-form-item>
<!--        <el-form-item>-->
<!--          <el-button-->
<!--              type="primary"-->
<!--              plain-->
<!--              icon="Plus"-->
<!--              @click="openDialog('add',{})"-->
<!--          >新增</el-button>-->
<!--        </el-form-item>-->
<!--        <el-form-item>-->
<!--          <el-button-->
<!--              type="primary"-->
<!--              plain-->
<!--              style="width: 80px;margin-left: -20px"-->
<!--              @click="exportData"-->
<!--          >批量导入</el-button>-->
<!--        </el-form-item>-->
        <el-form-item label="品名:" >
          <el-input v-model="data.queryParams.secientificName" placeholder="请输入品名"></el-input>
        </el-form-item>
@@ -48,12 +48,12 @@
      <el-table-column label="危化品特性" prop="peculiarityType" align="center" />
      <el-table-column label="编号" prop="peculiarityNumber" align="center" />
      <el-table-column label="备注" prop="remark" align="center" />
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >
        <template #default="scope">
          <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>
          <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
        </template>
      </el-table-column>
<!--      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >-->
<!--        <template #default="scope">-->
<!--          <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>-->
<!--          <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>-->
<!--        </template>-->
<!--      </el-table-column>-->
    </el-table>
    <pagination
src/views/hazardousChemicals/systemManage/company/index.vue
@@ -2,16 +2,16 @@
  <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="openDialog('add',{})"
          >新增</el-button>
        </el-form-item>
        <el-form-item label="企业名称:" >
          <el-input v-model="data.queryParams.name" placeholder="请输入企业名称"></el-input>
<!--        <el-form-item>-->
<!--          <el-button-->
<!--              type="primary"-->
<!--              plain-->
<!--              icon="Plus"-->
<!--              @click="openDialog('add',{})"-->
<!--          >新增</el-button>-->
<!--        </el-form-item>-->
        <el-form-item label="公司名称:" >
          <el-input v-model="data.queryParams.name" placeholder="请输入公司名称"></el-input>
        </el-form-item>
        <el-form-item >
          <el-button
@@ -32,14 +32,19 @@
      <el-table-column label="企业信用代码" prop="creditCode" align="center"  />
      <el-table-column label="企业编码" prop="code" align="center" />
      <el-table-column label="企业名称" prop="name" align="center" />
      <el-table-column label="负责人" prop="major" align="center"  />
      <el-table-column label="联系电话" prop="phone" align="center"/>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >
      <el-table-column label="企业类型" prop="type" align="center" >
        <template #default="scope">
          <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>
          <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
          <span>{{scope.row.type == 0 ? '研发类' : scope.row.type == 1 ? '生产类' : scope.row.type == 2?'中试类':'' }}</span>
        </template>
      </el-table-column>
      <el-table-column label="负责人" prop="major" align="center"  />
      <el-table-column label="联系电话" prop="phone" align="center"/>
<!--      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >-->
<!--        <template #default="scope">-->
<!--          <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>-->
<!--          <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>-->
<!--        </template>-->
<!--      </el-table-column>-->
    </el-table>
    <pagination
src/views/hazardousChemicals/systemManage/config/components/configDialog.vue
@@ -155,7 +155,7 @@
  })
}
const getCompanyList = async (val)=>{
  if(val != ""){
  if(val){
    const queryParams = {
      name: val
    }
src/views/hazardousChemicals/systemManage/config/index.vue
@@ -2,14 +2,14 @@
  <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="openDialog('add',{})"
          >新增</el-button>
        </el-form-item>
<!--        <el-form-item>-->
<!--          <el-button-->
<!--              type="primary"-->
<!--              plain-->
<!--              icon="Plus"-->
<!--              @click="openDialog('add',{})"-->
<!--          >新增</el-button>-->
<!--        </el-form-item>-->
        <el-form-item label="公司名称:" >
          <el-input v-model="data.queryParams.name" placeholder="请输入公司名称"></el-input>
        </el-form-item>
@@ -52,12 +52,14 @@
          <span>{{scope.row.useProd == 0 ? '不使用' : '使用' }}</span>
        </template>
      </el-table-column>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >
        <template #default="scope">
          <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>
          <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
        </template>
      </el-table-column>
      <el-table-column label="经度" prop="longitude" align="center"  />
      <el-table-column label="纬度" prop="latitude" align="center"  />
<!--      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >-->
<!--        <template #default="scope">-->
<!--          <el-button link type="primary" @click="openDialog('edit',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"
src/views/hazardousChemicals/systemManage/department/index.vue
@@ -1,36 +1,36 @@
<template>
  <div class="app-container">
    <div>
      <el-form style="display: flex;flex-wrap: wrap">
        <el-form-item>
          <el-button type="primary" plain @click="openDialog('addFirst',{})" icon="Plus"> 添加</el-button>
        </el-form-item>
      </el-form>
    </div>
<!--    <div>-->
<!--      <el-form style="display: flex;flex-wrap: wrap">-->
<!--        <el-form-item>-->
<!--          <el-button type="primary" plain @click="openDialog('addFirst',{})" icon="Plus"> 添加</el-button>-->
<!--        </el-form-item>-->
<!--      </el-form>-->
<!--    </div>-->
    <!-- 表格数据 -->
    <el-table v-loading="loading" :data="dataList" :border="true" row-key="id">
      <el-table-column label="序号" type="index" align="center" width="80" />
      <el-table-column label="部门名称" >
      <el-table-column label="部门名称" width="580" >
        <template #default="scope">
          <span>{{scope.row.name}}</span>
        </template>
      </el-table-column>
      <el-table-column label="责任人" prop="leader" align="center" width="80" />
      <el-table-column label="联系电话" prop="phone" align="center" width="80" />
      <el-table-column label="排序" prop="sort" align="center" width="80" />
      <el-table-column label="状态" prop="status" align="center"  width="80">
      <el-table-column label="责任人" prop="leader" align="center"  />
      <el-table-column label="联系电话" prop="phone" align="center"  />
      <el-table-column label="排序" prop="sort" align="center"  />
      <el-table-column label="状态" prop="status" align="center"  >
        <template #default="scope">
          <span>{{scope.row.status ==0 ? '正常' : '停用'}}</span>
        </template>
      </el-table-column>
      <el-table-column label="操作" align="center"  width="250" >
<!--      <el-table-column label="操作" align="center"  width="250" >-->
        <template #default="scope">
          <el-button type="success" link @click="openDialog('add',scope.row)">添加</el-button>
          <el-button type="primary" link @click="openDialog('edit',scope.row)">编辑</el-button>
          <el-button type="danger" link @click="handleDelete(scope.row.id)">删除</el-button>
        </template>
      </el-table-column>
<!--        <template #default="scope">-->
<!--          <el-button type="success" link @click="openDialog('add',scope.row)">添加</el-button>-->
<!--          <el-button type="primary" link @click="openDialog('edit',scope.row)">编辑</el-button>-->
<!--          <el-button type="danger" link @click="handleDelete(scope.row.id)">删除</el-button>-->
<!--        </template>-->
<!--      </el-table-column>-->
    </el-table>
    <dept-dialog ref="areaRef" @getList="getList"></dept-dialog>
  </div>
src/views/hazardousChemicals/systemManage/user/components/userDialog.vue
@@ -39,7 +39,7 @@
          </el-radio-group>
          <span v-else>{{state.form.userType ==0 ? '管理员':state.form.userType ==1 ? '企业用户' : '普通用户'}}</span>
        </el-form-item>
        <el-form-item label="所属企业:" prop="companyName" v-if="state.title !== '修改密码' && state.form.userType !=0">
        <el-form-item label="所属企业:" prop="companyName" v-if="state.title !== '修改密码' && state.form.userType !=0 &&  state.form.userType !=3">
          <el-select
              v-if="state.isAdmin"
              clearable
@@ -64,7 +64,7 @@
          </el-select>
          <el-input v-else disabled style="width: 100%" v-model="state.form.companyName"></el-input>
        </el-form-item>
        <el-form-item label="所属部门:" prop="departId" v-if="state.form.userType !=0 && state.title !== '修改密码'" >
        <el-form-item label="所属部门:" prop="departId" v-if="state.form.userType !=0 &&  state.form.userType !=3 && state.title !== '修改密码'" >
          <el-cascader
              v-if="state.title == '新增用户' || state.title == '编辑用户'"
              style="width: 100%"
@@ -79,12 +79,12 @@
          <el-input v-else-if="state.title == '编辑用户'" disabled style="width: 100%" v-model="state.form.departName"></el-input>
        </el-form-item>
      </el-form>
      <template #footer v-if="state.title !='查看'">
        <span class="dialog-footer">
            <el-button @click="handleClose" size="default">取 消</el-button>
            <el-button type="primary"  @click="onSubmit" size="default" v-preReClick>确认</el-button>
        </span>
      </template>
<!--      <template #footer v-if="state.title !='查看'">-->
<!--        <span class="dialog-footer">-->
<!--            <el-button @click="handleClose" size="default">取 消</el-button>-->
<!--            <el-button type="primary"  @click="onSubmit" size="default" v-preReClick>确认</el-button>-->
<!--        </span>-->
<!--      </template>-->
    </el-dialog>
  </div>
</template>
@@ -254,7 +254,7 @@
const loading = ref(false)
const getCompanyList = async (val)=>{
  if(val != ""){
  if(val){
    loading.value = true;
    const queryParams = {
      name: val
src/views/hazardousChemicals/systemManage/user/index.vue
@@ -2,14 +2,14 @@
  <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="openDialog('add',{})"
          >新增</el-button>
        </el-form-item>
<!--        <el-form-item>-->
<!--          <el-button-->
<!--              type="primary"-->
<!--              plain-->
<!--              icon="Plus"-->
<!--              @click="openDialog('add',{})"-->
<!--          >新增</el-button>-->
<!--        </el-form-item>-->
        <el-form-item label="用户名:" >
          <el-input v-model="data.queryParams.username" placeholder="请输入用户名"></el-input>
        </el-form-item>
@@ -40,16 +40,16 @@
      </el-table-column>
      <el-table-column label="用户类型" prop="userType" align="center">
        <template #default="scope">
          <span>{{scope.row.userType == 0 ?'管理员':scope.row.userType == 1 ? '企业用户':'普通用户'}}</span>
          <span>{{scope.row.userType == 0 ?'管理员':scope.row.userType == 1 ? '企业用户':scope.row.userType ==2 ? '普通用户' : '监管用户'}}</span>
        </template>
      </el-table-column>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
        <template #default="scope">
          <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>
          <el-button link type="danger" v-if="!isAdmin" @click="handleDelete(scope.row)">删除</el-button>
          <el-button link type="primary" @click="openDialog('pwd',scope.row)">修改密码</el-button>
        </template>
      </el-table-column>
<!--      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >-->
<!--        <template #default="scope">-->
<!--          <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>-->
<!--          <el-button link type="danger" v-if="!isAdmin" @click="handleDelete(scope.row)">删除</el-button>-->
<!--          <el-button link type="primary" @click="openDialog('pwd',scope.row)">修改密码</el-button>-->
<!--        </template>-->
<!--      </el-table-column>-->
    </el-table>
    <pagination
src/views/hazardousChemicals/systemManage/warehouse/index.vue
@@ -2,14 +2,14 @@
  <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="openDialog('add',{})"
          >新增</el-button>
        </el-form-item>
<!--        <el-form-item>-->
<!--          <el-button-->
<!--              type="primary"-->
<!--              plain-->
<!--              icon="Plus"-->
<!--              @click="openDialog('add',{})"-->
<!--          >新增</el-button>-->
<!--        </el-form-item>-->
        <el-form-item label="仓库名称:" >
          <el-input v-model="data.queryParams.name" placeholder="请输仓库名称"></el-input>
        </el-form-item>
@@ -33,25 +33,25 @@
          <el-table :data="props.row.warehouseCupboards" style="width: 90%;margin-left: 5%" :row-key="getRowKeys"  border>
            <el-table-column label="存储柜名" prop="cupboardName" align="center" />
            <el-table-column label="描述" prop="mess" align="center" />
            <el-table-column label="操作" show-overflow-tooltip width="150" >
              <template #default="scope">
                <el-button size="small" text type="primary" @click="addCupboard('edit',scope.row)">编辑</el-button>
                <el-button size="small" text type="danger" @click="delCup(scope.row)">删除</el-button>
              </template>
            </el-table-column>
<!--            <el-table-column label="操作" show-overflow-tooltip width="150" >-->
<!--              <template #default="scope">-->
<!--                <el-button size="small" text type="primary" @click="addCupboard('edit',scope.row)">编辑</el-button>-->
<!--                <el-button size="small" text type="danger" @click="delCup(scope.row)">删除</el-button>-->
<!--              </template>-->
<!--            </el-table-column>-->
          </el-table>
        </template>
      </el-table-column>
      <el-table-column label="序号" type="index" align="center" width="80" />
      <el-table-column label="仓库名称" prop="name" align="center"  />
      <el-table-column label="描述" prop="remark" align="center" />
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >
        <template #default="scope">
          <el-button link type="primary" @click="addCupboard('add',scope.row)">新增存储柜</el-button>
          <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>
          <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
        </template>
      </el-table-column>
<!--      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >-->
<!--        <template #default="scope">-->
<!--          <el-button link type="primary" @click="addCupboard('add',scope.row)">新增存储柜</el-button>-->
<!--          <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>-->
<!--          <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>-->
<!--        </template>-->
<!--      </el-table-column>-->
    </el-table>
    <pagination
src/views/hazardousChemicals/traceableQuery/index.vue
@@ -2,6 +2,26 @@
  <div class="query">
    <div style="margin-top:20px;margin-left: 20px">
      <el-form :inline="true" style="display: flex;align-items: center;flex-wrap: wrap;" >
        <el-form-item label="企业名称:" >
          <el-select
              clearable
              v-model="data.queryParams.companyId"
              filterable
              remote
              reserve-keyword
              placeholder="请输入企业名称"
              remote-show-suffix
              :remote-method="getCompanyList"
              style="width: 100%"
          >
            <el-option
                v-for="item in data.companyList"
                :key="item.id"
                :label="item.name"
                :value="item.id"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="二维码编号:" >
          <el-input v-model="data.form.code" placeholder="请输入二维码编号进行搜索"></el-input>
        </el-form-item>
@@ -29,28 +49,39 @@
</template>
<script setup>
import {nextTick, reactive, ref} from "vue";
import {nextTick, onMounted, reactive, ref} from "vue";
import flowDeail from '../../components/flowDetail.vue'
import {getFlowByCode, getProFlow} from "@/api/hazardousChemicals/productRecord";
import {ElMessage} from "element-plus";
import {getCompany} from "@/api/hazardousChemicals/company";
const flowRef = ref();
const data = reactive({
  queryParams: {
    name: '',
    productSn: ''
    productSn: '',
    companyId: null
  },
  form: {
    code: ''
  },
  dataList: [],
  showData:false
  showData:false,
  companyList: []
});
onMounted(()=>{
  getCompanyList("")
})
const getList = async () => {
  if(!data.queryParams.companyId){
    ElMessage.warning('请先输入企业名称')
    return
  }
  if(data.form.code!=''){
    data.showData = true
    await nextTick(() => {
      flowRef.value.openDialog('code',data.form.code)
      flowRef.value.openDialog('code',data.form.code,data.queryParams.companyId)
    })
  }else {
    ElMessage.warning('请先输入二维码编号')
@@ -59,7 +90,36 @@
}
const getCompanyList = async (val)=>{
  if(val){
    const queryParams = {
      name: val
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }else {
    const queryParams = {
      pageNum: 1,
      pageSize: 10
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }
}
const reset = () =>{
  data.queryParams = {
      name: '',
      productSn: '',
      companyId: null
  }
  data.form.code = ''
  data.showData = false
}
src/views/hazardousChemicals/useCount/index.vue
@@ -12,26 +12,38 @@
              format="YYYY-MM-DD HH:mm:ss"
          />
        </el-form-item>
        <el-form-item label="企业名称:" >
          <el-select
              clearable
              v-model="state.tableData.listQuery.companyId"
              filterable
              remote
              reserve-keyword
              placeholder="请输入企业名称"
              remote-show-suffix
              :remote-method="getCompanyList"
              style="width: 100%"
          >
            <el-option
                v-for="item in state.tableData.companyList"
                :key="item.id"
                :label="item.name"
                :value="item.id"
            />
          </el-select>
        </el-form-item>
        <el-form-item >
          <el-button
              type="primary"
              @click="getList"
          >查询</el-button>
          <el-button
              plain
              type="primary"
              @click="reset"
          >重置</el-button>
          <el-button
              icon="Search"
              type="primary"
              @click="getList"
          >查询</el-button>
<!--        <el-button  type="primary" icon="Download" size="default" @click="downloadExcel">导出</el-button>-->
<!--          <vue3-json-excel-->
<!--              class="ml10"-->
<!--              :json-data="state.tableData.data"-->
<!--              :fields="fields"-->
<!--              :name="state.tableData.excelName"-->
<!--          >-->
            <el-button  type="primary" icon="Download" size="default" @click="downloadExcel">导出</el-button>
<!--          </vue3-json-excel>-->
        </el-form-item>
      </el-form>
    </div>
@@ -67,6 +79,7 @@
import moment from "moment";
import axios from "axios";
import {getToken} from "@/utils/auth";
import {getCompany} from "@/api/hazardousChemicals/company";
const loading = ref(false)
const state = reactive({
@@ -80,8 +93,10 @@
      startTime: null,
      endTime: null,
      time: [],
      companyId: null
    },
    excelName: ''
    excelName: '',
    companyList: []
  },
});
const fields = ref({
@@ -96,9 +111,11 @@
});
onMounted(
    () => {
      getNowTime();
      getList()
    async () => {
      await getNowTime();
      await getCompanyList('')
      await getList()
    }
);
const getNowTime = () => {
@@ -180,7 +197,42 @@
  // }
}
const getCompanyList = async (val)=>{
  if(val){
    const queryParams = {
      name: val
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      state.tableData.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }else {
    const queryParams = {
      pageNum: 1,
      pageSize: 10
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      state.tableData.companyList = res.data.list
      if(state.tableData.listQuery.companyId == null){
        state.tableData.listQuery.companyId = state.tableData.companyList[0].id
      }
    } else {
      ElMessage.warning(res.message)
    }
  }
}
const reset = () => {
  state.tableData.listQuery = {
    pageNum: 1,
    pageSize: 10,
    startTime: null,
    endTime: null,
    time: [],
  }
  state.tableData.listQuery.companyId = state.tableData.companyList[0].id
  getNowTime();
  getList();
}
src/views/hazardousChemicals/warehouseManage/components/proDetail.vue
@@ -68,7 +68,7 @@
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180" >
        <template #default="scope">
          <el-button link type="primary" @click="viewFlow(scope.row)">取用记录</el-button>
          <el-button link type="danger" v-if="scope.row.state === 0" @click="disCard(scope.row)">标签作废</el-button>
<!--          <el-button link type="danger" v-if="scope.row.state === 0" @click="disCard(scope.row)">标签作废</el-button>-->
          <el-button link type="primary" @click="viewQR(scope.row)">查看二维码</el-button>
        </template>
      </el-table-column>
@@ -116,6 +116,7 @@
    state: null,
    pageNum: 1,
    pageSize: 10,
    companyId: null
  },
  total: 0,
  dataList: [],
@@ -143,7 +144,8 @@
    const val = JSON.parse(route.query.val)
    backValue.value.pageNum =val.pageNum;
    backValue.value.pageSize =val.pageSize;
    data.queryParams.entryId =val.entryId
    data.queryParams.entryId =val.entryId;
    data.queryParams.companyId = val.companyId
  }
  await getList()
})
@@ -160,10 +162,11 @@
}
const reset = () => {
  data.queryParams = {
    entryId: null,
    entryId: data.queryParams.entryId,
    state: null,
    pageNum: 1,
    pageSize: 10,
    companyId: data.queryParams.companyId
  }
  getList()
}
@@ -187,7 +190,7 @@
  dialogVisible.value = true
  nextTick(() => {
    flowRef.value.openDialog('pro',val)
    flowRef.value.openDialog('pro',val,val.companyId)
  })
}
src/views/hazardousChemicals/warehouseManage/components/productTable.vue
@@ -2,13 +2,33 @@
  <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="openDialog('add',{})"
          >新增</el-button>
<!--        <el-form-item>-->
<!--          <el-button-->
<!--              type="primary"-->
<!--              plain-->
<!--              icon="Plus"-->
<!--              @click="openDialog('add',{})"-->
<!--          >新增</el-button>-->
<!--        </el-form-item>-->
        <el-form-item label="企业名称:" >
          <el-select
              clearable
              v-model="data.queryParams.companyId"
              filterable
              remote
              reserve-keyword
              placeholder="请输入企业名称"
              remote-show-suffix
              :remote-method="getCompanyList"
              style="width: 100%"
          >
            <el-option
                v-for="item in data.companyList"
                :key="item.id"
                :label="item.name"
                :value="item.id"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="品名:" >
          <el-input v-model="data.queryParams.params.name" placeholder="请输入品名" clearable></el-input>
@@ -96,10 +116,10 @@
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >
        <template #default="scope">
          <el-button link type="primary" v-if="scope.row.state == 1" @click="toDetail(scope.row)">查看详情</el-button>
          <el-button link type="primary" v-if="scope.row.state == 0" @click="doEntry(scope.row)">入库</el-button>
          <el-button link type="primary" v-if="scope.row.state == 1" @click="printCode(scope.row)">打印二维码</el-button>
          <el-button link type="primary" @click="openDialog('edit',scope.row)" v-if="scope.row.state == 0">编辑</el-button>
          <el-button link type="danger" @click="handleDelete(scope.row)" v-if="scope.row.state == 0">删除</el-button>
<!--          <el-button link type="primary" v-if="scope.row.state == 0" @click="doEntry(scope.row)">入库</el-button>-->
<!--          <el-button link type="primary" v-if="scope.row.state == 1" @click="printCode(scope.row)">打印二维码</el-button>-->
<!--          <el-button link type="primary" @click="openDialog('edit',scope.row)" v-if="scope.row.state == 0">编辑</el-button>-->
<!--          <el-button link type="danger" @click="handleDelete(scope.row)" v-if="scope.row.state == 0">删除</el-button>-->
        </template>
      </el-table-column>
    </el-table>
@@ -129,6 +149,7 @@
} from "@/api/hazardousChemicals/productRecord";
import {delRawRecord} from "@/api/hazardousChemicals/rawRecord";
import {useRoute, useRouter} from "vue-router";
import {getCompany} from "@/api/hazardousChemicals/company";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const dialogRef = ref();
@@ -139,17 +160,19 @@
  queryParams: {
    pageNum: 1,
    pageSize: 10,
    companyId: null,
    params :{
      name: '',
      productSn: '',
      cupboardId: null,
      warehouseId: null
      warehouseId: null,
    }
  },
  total: 0,
  dataList: [],
  wareHouseList: [],
  cupList: []
  cupList: [],
  companyList: []
});
const { queryParams, total, dataList } = toRefs(data);
@@ -157,6 +180,8 @@
onMounted(()=>{
  getList()
  getWareHouseList("")
  getCompanyList("")
})
const getList = async () => {
@@ -174,22 +199,50 @@
const openDialog = (type, value) => {
  dialogRef.value.openDialog(type, value);
}
const getCompanyList = async (val)=>{
  if(val){
    const queryParams = {
      name: val
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }else {
    const queryParams = {
      pageNum: 1,
      pageSize: 10
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }
}
/** 重置新增的表单以及其他数据  */
function reset() {
  data.queryParams = {
    pageNum: 1,
    pageSize: 10,
    companyId: null,
    params :{
      name: '',
      productSn: '',
      cupboardId: null,
      warehouseId: null
      warehouseId: null,
    }
  }
  data.companyList = []
  data.cupList = []
  getList()
  getWareHouseList("")
  getCompanyList("")
}
const handleDelete = (val) => {
  ElMessageBox.confirm(
@@ -239,6 +292,7 @@
    pageNum: data.queryParams.pageNum,
    pageSize: data.queryParams.pageSize,
    entryId: val.id,
    companyId: val.companyId
  }
  const v = JSON.stringify(obj)
  router.push({ path: "/whProDetail", query: { val: v } });
src/views/hazardousChemicals/warehouseManage/components/rawDetail.vue
@@ -67,9 +67,9 @@
      <el-table-column label="存储柜" prop="cupboardName" 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" v-if="scope.row.state ===0 || scope.row.state === 1" @click="editNum(scope.row)">零头修改</el-button>
<!--          <el-button link type="primary" v-if="scope.row.state ===0 || scope.row.state === 1" @click="editNum(scope.row)">零头修改</el-button>-->
          <el-button link type="primary" @click="viewFlow(scope.row)">取用记录</el-button>
          <el-button link type="danger" v-if="scope.row.state === 0 || scope.row.state === 1|| scope.row.state === 2" @click="disCard(scope.row)">标签作废</el-button>
<!--          <el-button link type="danger" v-if="scope.row.state === 0 || scope.row.state === 1|| scope.row.state === 2" @click="disCard(scope.row)">标签作废</el-button>-->
          <el-button link type="primary" @click="viewQR(scope.row)">查看二维码</el-button>
        </template>
      </el-table-column>
@@ -247,7 +247,7 @@
const viewFlow = (val) => {
  dialogVisible.value = true
  nextTick(() => {
    flowRef.value.openDialog('raw',val)
    flowRef.value.openDialog('raw',val,val.companyId)
  })
}
src/views/hazardousChemicals/warehouseManage/components/rawTable.vue
@@ -2,13 +2,33 @@
  <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="openDialog('add',{})"
          >新增</el-button>
<!--        <el-form-item>-->
<!--          <el-button-->
<!--              type="primary"-->
<!--              plain-->
<!--              icon="Plus"-->
<!--              @click="openDialog('add',{})"-->
<!--          >新增</el-button>-->
<!--        </el-form-item>-->
        <el-form-item label="企业名称:" >
          <el-select
              clearable
              v-model="data.queryParams.companyId"
              filterable
              remote
              reserve-keyword
              placeholder="请输入企业名称"
              remote-show-suffix
              :remote-method="getCompanyList"
              style="width: 100%"
          >
            <el-option
                v-for="item in data.companyList"
                :key="item.id"
                :label="item.name"
                :value="item.id"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="品名:" >
          <el-input v-model="data.queryParams.params.name" placeholder="请输入品名" clearable></el-input>
@@ -98,10 +118,10 @@
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >
        <template #default="scope">
          <el-button link type="primary" v-if="scope.row.state == 1" @click="toDetail(scope.row)">查看详情</el-button>
          <el-button link type="primary" v-if="scope.row.state == 0" @click="doEntry(scope.row)">入库</el-button>
          <el-button link type="primary" v-if="scope.row.state == 1" @click="printCode(scope.row)">打印二维码</el-button>
          <el-button link type="primary" @click="openDialog('edit',scope.row)" v-if="scope.row.state == 0">编辑</el-button>
          <el-button link type="danger"  @click="handleDelete(scope.row)" v-if="scope.row.state == 0">删除</el-button>
<!--          <el-button link type="primary" v-if="scope.row.state == 0" @click="doEntry(scope.row)">入库</el-button>-->
<!--          <el-button link type="primary" v-if="scope.row.state == 1" @click="printCode(scope.row)">打印二维码</el-button>-->
<!--          <el-button link type="primary" @click="openDialog('edit',scope.row)" v-if="scope.row.state == 0">编辑</el-button>-->
<!--          <el-button link type="danger"  @click="handleDelete(scope.row)" v-if="scope.row.state == 0">删除</el-button>-->
        </template>
      </el-table-column>
    </el-table>
@@ -127,6 +147,7 @@
import {delRawRecord, doEntryRaw, getRawRecord, getRawWarehouseRecord} from "@/api/hazardousChemicals/rawRecord";
import {useRoute, useRouter} from "vue-router";
import {getCupById, getWarehouse} from "@/api/hazardousChemicals/warehouse";
import {getCompany} from "@/api/hazardousChemicals/company";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const dialogRef = ref();
@@ -137,17 +158,20 @@
  queryParams: {
    pageNum: 1,
    pageSize: 10,
    companyId: null,
    params :{
      name: '',
      productSn: '',
      cupboardId: null,
      warehouseId: null
      warehouseId: null,
    }
  },
  total: 0,
  dataList: [],
  wareHouseList: [],
  cupList: []
  cupList: [],
  companyList: []
});
@@ -156,9 +180,10 @@
onMounted(()=>{
  getList()
  getWareHouseList("")
  getCompanyList("")
})
const getList = async () => {
const getList = async (type) => {
  loading.value = true
  const res = await getRawRecord(data.queryParams)
  if(res.code == 200){
@@ -170,6 +195,30 @@
  loading.value = false
}
const getCompanyList = async (val)=>{
  if(val){
    const queryParams = {
      name: val
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }else {
    const queryParams = {
      pageNum: 1,
      pageSize: 10
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }
}
const openDialog = (type, value) => {
  dialogRef.value.openDialog(type, value);
}
@@ -179,16 +228,20 @@
  data.queryParams = {
    pageNum: 1,
    pageSize: 10,
    companyId: null,
    params :{
      name: '',
      productSn: '',
      cupboardId: null,
      warehouseId: null
      warehouseId: null,
    }
  }
  data.companyList = []
  data.cupList = []
  getList()
  getWareHouseList("")
  getCompanyList("")
}
const handleDelete = (val) => {
  ElMessageBox.confirm(