| | |
| | | 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 |
| | | }) |
| | | } |
| | | |
| | |
| | | }) |
| | | } |
| | | |
| | | export function unWarningCount() { |
| | | export function unWarningCount(params) { |
| | | return request({ |
| | | url: '/warning/warningCount', |
| | | method: 'get', |
| | | params:params |
| | | }) |
| | | } |
| | | |
| | |
| | | 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) |
| | | } |
| | | |
| | | } |
| | |
| | | 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 |
| | |
| | | |
| | | state.form = JSON.parse(JSON.stringify(value)) |
| | | } |
| | | |
| | | state.form.companyId = companyId |
| | | await getAllFlow() |
| | | } |
| | | |
| | |
| | | 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) |
| | |
| | | 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) |
| | |
| | | } |
| | | }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){ |
| | |
| | | <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> |
| | |
| | | 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(); |
| | |
| | | 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 () => { |
| | |
| | | } |
| | | 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); |
| | |
| | | data.queryParams = { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | companyId: null, |
| | | params :{ |
| | | name: '', |
| | | productSn: '' |
| | | productSn: '', |
| | | } |
| | | } |
| | | data.queryParams.companyId = data.companyList[0].id |
| | | getList() |
| | | } |
| | | const handleDelete = (val) => { |
| | |
| | | const viewFlow = (val) => { |
| | | dialogVisible.value = true |
| | | nextTick(() => { |
| | | flowRef.value.openDialog('proRecord',val) |
| | | flowRef.value.openDialog('proRecord',val,val.companyId) |
| | | }) |
| | | |
| | | } |
| | |
| | | <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> |
| | |
| | | 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(); |
| | |
| | | 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){ |
| | |
| | | data.queryParams.pageSize = val.pageSize; |
| | | } |
| | | } |
| | | getList() |
| | | await getCompanyList('') |
| | | await getList() |
| | | }) |
| | | const getList = async () => { |
| | | loading.value = true |
| | |
| | | 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); |
| | | } |
| | |
| | | pageSize: 10, |
| | | params :{ |
| | | name: '', |
| | | productSn: '' |
| | | productSn: '', |
| | | } |
| | | } |
| | | data.queryParams.companyId = data.companyList[0].id |
| | | getList() |
| | | } |
| | | const handleDelete = (val) => { |
| | |
| | | const viewFlow = (val) => { |
| | | dialogVisible.value = true |
| | | nextTick(() => { |
| | | flowRef.value.openDialog('rawRecord',val) |
| | | flowRef.value.openDialog('rawRecord',val,val.companyId) |
| | | }) |
| | | |
| | | } |
| | |
| | | <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> |
| | |
| | | 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() |
| | | }) |
| | |
| | | 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 |
| | |
| | | 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 |
| | |
| | | getListPage() |
| | | getList() |
| | | } |
| | | const reset = () => { |
| | | state.queryParams= { |
| | | pageNum: 1, |
| | | pageSize: 5, |
| | | warningType: '', |
| | | companyId: null |
| | | } |
| | | state.cardQueryParams= { |
| | | warningType: '', |
| | | companyId: null |
| | | } |
| | | getListPage() |
| | | getList() |
| | | } |
| | | |
| | | </script> |
| | | |
| | |
| | | <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> |
| | |
| | | <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 |
| | |
| | | cas:'', |
| | | supplier: '', |
| | | kind: '', |
| | | productSn: '' |
| | | productSn: '', |
| | | companyId: null |
| | | }, |
| | | total: 0, |
| | | dataList: [], |
| | | companyList: [], |
| | | typeList: [ |
| | | { |
| | | id: 0, |
| | |
| | | const { queryParams, total, dataList } = toRefs(data); |
| | | const classHourRef = ref(); |
| | | onMounted(()=>{ |
| | | getCompanyList('') |
| | | getList() |
| | | }) |
| | | |
| | |
| | | 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); |
| | | } |
| | |
| | | cas:'', |
| | | supplier: '', |
| | | kind: '', |
| | | productSn: '' |
| | | productSn: '', |
| | | companyId: null |
| | | } |
| | | getList() |
| | | } |
| | |
| | | <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> |
| | |
| | | state: null, |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | companyId: null |
| | | |
| | | }, |
| | | total: 0, |
| | | dataList: [], |
| | |
| | | backValue.value.pageSize =val.pageSize; |
| | | data.queryParams.warehouseId =val.warehouseId |
| | | data.queryParams.basicId =val.basicId |
| | | data.queryParams.companyId = val.companyId |
| | | } |
| | | await getList() |
| | | }) |
| | |
| | | } |
| | | const reset = () => { |
| | | data.queryParams = { |
| | | companyId: data.queryParams.companyId, |
| | | basicId: data.queryParams.basicId, |
| | | warehouseId: data.queryParams.warehouseId, |
| | | state: null, |
| | |
| | | const viewFlow = (val) => { |
| | | dialogVisible.value = true |
| | | nextTick(() => { |
| | | |
| | | flowRef.value.openDialog('pro',val) |
| | | flowRef.value.openDialog('pro',val,val.companyId) |
| | | }) |
| | | |
| | | } |
| | |
| | | <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> |
| | |
| | | } 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(); |
| | |
| | | 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){ |
| | |
| | | data.queryParams.pageSize = val.pageSize; |
| | | } |
| | | } |
| | | getList() |
| | | await getCompanyList() |
| | | await getList() |
| | | |
| | | }) |
| | | |
| | | const getList = async () => { |
| | |
| | | } |
| | | 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); |
| | |
| | | pageSize: 10, |
| | | params :{ |
| | | name: '', |
| | | productSn: '' |
| | | productSn: '', |
| | | |
| | | } |
| | | } |
| | | data.queryParams.companyId = data.companyList[0].id |
| | | getList() |
| | | |
| | | } |
| | | const getProRecord = (val) => { |
| | | dialogRef.value.openDialog(val) |
| | |
| | | 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 } }); |
| | |
| | | |
| | | <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> |
| | |
| | | state: null, |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | companyId: null |
| | | }, |
| | | total: 0, |
| | | dataList: [], |
| | |
| | | backValue.value.pageSize =val.pageSize; |
| | | data.queryParams.warehouseId =val.warehouseId |
| | | data.queryParams.basicId =val.basicId |
| | | data.queryParams.companyId = val.companyId |
| | | } |
| | | await getList() |
| | | }) |
| | |
| | | } |
| | | const reset = () => { |
| | | data.queryParams = { |
| | | companyId: data.queryParams.companyId, |
| | | basicId: data.queryParams.basicId, |
| | | warehouseId: data.queryParams.warehouseId, |
| | | state: null, |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | |
| | | } |
| | | getList() |
| | | } |
| | |
| | | const viewFlow = (val) => { |
| | | dialogVisible.value = true |
| | | nextTick(() => { |
| | | flowRef.value.openDialog('raw',val) |
| | | flowRef.value.openDialog('raw',val,val.companyId) |
| | | }) |
| | | } |
| | | const handleClose = () => { |
| | |
| | | <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> |
| | |
| | | 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(); |
| | |
| | | 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){ |
| | |
| | | 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 |
| | |
| | | pageSize: 10, |
| | | params :{ |
| | | name: '', |
| | | productSn: '' |
| | | productSn: '', |
| | | } |
| | | } |
| | | data.queryParams.companyId = data.companyList[0].id |
| | | getList() |
| | | |
| | | } |
| | | const handleDelete = (val) => { |
| | | ElMessageBox.confirm( |
| | |
| | | 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 } }); |
| | |
| | | :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"> |
| | |
| | | <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> |
| | |
| | | </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 |
| | |
| | | cas:'', |
| | | supplier: '', |
| | | kind: '', |
| | | productSn: '' |
| | | productSn: '', |
| | | companyId:null |
| | | }, |
| | | total: 0, |
| | | dataList: [], |
| | |
| | | }, |
| | | ], |
| | | fileList: [], |
| | | companyList: [], |
| | | limit: 1 |
| | | }); |
| | | |
| | | const { queryParams, total, dataList } = toRefs(data); |
| | | const classHourRef = ref(); |
| | | onMounted(()=>{ |
| | | getCompanyList('') |
| | | getList() |
| | | }) |
| | | |
| | |
| | | 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 = { |
| | |
| | | cas:'', |
| | | supplier: '', |
| | | kind: '', |
| | | productSn: '' |
| | | productSn: '', |
| | | companyId:null |
| | | } |
| | | getList() |
| | | } |
| | |
| | | <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"> |
| | |
| | | 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: '危化品数量', |
| | |
| | | warningData: [], |
| | | warningQueryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10 |
| | | pageSize: 10, |
| | | companyId: null |
| | | }, |
| | | wTotal: 0, |
| | | wloading: false, |
| | |
| | | hloading: false, |
| | | hazmatQueryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10 |
| | | pageSize: 10, |
| | | companyId: null |
| | | }, |
| | | hazmatData: [], |
| | | |
| | |
| | | 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 => { |
| | |
| | | } |
| | | 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 => { |
| | |
| | | } |
| | | } |
| | | 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) |
| | |
| | | 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) |
| | |
| | | } |
| | | } |
| | | const maxUseData = async () => { |
| | | const res = await getMaxUseData() |
| | | const res = await getMaxUseData(data.queryParams) |
| | | if(res.code == 200){ |
| | | data.maxUseList = res.data.map(item => { |
| | | return{ |
| | |
| | | }) |
| | | } |
| | | |
| | | 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(); |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div style="display: flex;justify-content: flex-end;margin-bottom: 10px;font-size: 20px;font-weight: 600"> |
| | | <span>当前存在未处理预警 <span style="color: #1890ff;cursor: pointer" @click="toDetail">{{data.untreatedTotal}}</span> 条</span> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | @click="reset" |
| | | style="margin-left: 40px" |
| | | >重置</el-button> |
| | | </div> |
| | | <!--/* <div style="display: flex;justify-content: space-between">*/--> |
| | | <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" |
| | | plain |
| | | @click="reset" |
| | | style="margin-left: 40px" |
| | | >重置</el-button> |
| | | </div> |
| | | |
| | | <!--/* <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" /> |
| | |
| | | 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(); |
| | |
| | | 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(()=>{ |
| | |
| | | if(res.code == 200){ |
| | | data.dataList = res.data.list |
| | | data.total = res.data.total |
| | | getUnCount() |
| | | |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | |
| | | 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{ |
| | |
| | | |
| | | } |
| | | |
| | | 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); |
| | | } |
| | |
| | | data.queryParams = { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | state: null |
| | | state: null, |
| | | companyId: null |
| | | } |
| | | getList() |
| | | getUnCount() |
| | | } |
| | | const handleDelete = (val) => { |
| | | ElMessageBox.confirm( |
| | |
| | | if(res.code == 200){ |
| | | ElMessage.success('数据删除成功') |
| | | await getList() |
| | | await getUnCount() |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | | } |
| | |
| | | if(res.code == 200){ |
| | | ElMessage.success('处理成功') |
| | | await getList() |
| | | await getUnCount() |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | | } |
| | |
| | | <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 |
| | |
| | | <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> |
| | |
| | | <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 |
| | |
| | | <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 |
| | |
| | | <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 |
| | |
| | | }) |
| | | } |
| | | const getCompanyList = async (val)=>{ |
| | | if(val != ""){ |
| | | if(val){ |
| | | const queryParams = { |
| | | name: val |
| | | } |
| | |
| | | <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> |
| | |
| | | <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" |
| | |
| | | <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> |
| | |
| | | </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 |
| | |
| | | </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%" |
| | |
| | | <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> |
| | |
| | | |
| | | const loading = ref(false) |
| | | const getCompanyList = async (val)=>{ |
| | | if(val != ""){ |
| | | if(val){ |
| | | loading.value = true; |
| | | const queryParams = { |
| | | name: val |
| | |
| | | <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> |
| | |
| | | </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 |
| | |
| | | <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> |
| | |
| | | <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 |
| | |
| | | <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> |
| | |
| | | |
| | | </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('请先输入二维码编号') |
| | |
| | | |
| | | |
| | | } |
| | | 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 |
| | | } |
| | |
| | | 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> |
| | |
| | | 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({ |
| | |
| | | startTime: null, |
| | | endTime: null, |
| | | time: [], |
| | | companyId: null |
| | | }, |
| | | excelName: '' |
| | | excelName: '', |
| | | companyList: [] |
| | | }, |
| | | }); |
| | | const fields = ref({ |
| | |
| | | }); |
| | | |
| | | onMounted( |
| | | () => { |
| | | getNowTime(); |
| | | getList() |
| | | async () => { |
| | | await getNowTime(); |
| | | await getCompanyList('') |
| | | await getList() |
| | | |
| | | } |
| | | ); |
| | | const getNowTime = () => { |
| | |
| | | // } |
| | | |
| | | } |
| | | 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(); |
| | | } |
| | |
| | | <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> |
| | |
| | | state: null, |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | companyId: null |
| | | }, |
| | | total: 0, |
| | | dataList: [], |
| | |
| | | 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() |
| | | }) |
| | |
| | | } |
| | | const reset = () => { |
| | | data.queryParams = { |
| | | entryId: null, |
| | | entryId: data.queryParams.entryId, |
| | | state: null, |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | companyId: data.queryParams.companyId |
| | | } |
| | | getList() |
| | | } |
| | |
| | | dialogVisible.value = true |
| | | nextTick(() => { |
| | | |
| | | flowRef.value.openDialog('pro',val) |
| | | flowRef.value.openDialog('pro',val,val.companyId) |
| | | }) |
| | | |
| | | } |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | } 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(); |
| | |
| | | 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); |
| | |
| | | onMounted(()=>{ |
| | | getList() |
| | | getWareHouseList("") |
| | | getCompanyList("") |
| | | |
| | | }) |
| | | |
| | | const getList = async () => { |
| | |
| | | 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( |
| | |
| | | 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 } }); |
| | |
| | | <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> |
| | |
| | | const viewFlow = (val) => { |
| | | dialogVisible.value = true |
| | | nextTick(() => { |
| | | flowRef.value.openDialog('raw',val) |
| | | flowRef.value.openDialog('raw',val,val.companyId) |
| | | }) |
| | | } |
| | | |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | 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(); |
| | |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | companyId: null, |
| | | params :{ |
| | | name: '', |
| | | productSn: '', |
| | | cupboardId: null, |
| | | warehouseId: null |
| | | warehouseId: null, |
| | | |
| | | } |
| | | }, |
| | | total: 0, |
| | | dataList: [], |
| | | wareHouseList: [], |
| | | cupList: [] |
| | | cupList: [], |
| | | companyList: [] |
| | | |
| | | }); |
| | | |
| | |
| | | onMounted(()=>{ |
| | | getList() |
| | | getWareHouseList("") |
| | | getCompanyList("") |
| | | }) |
| | | |
| | | const getList = async () => { |
| | | const getList = async (type) => { |
| | | loading.value = true |
| | | const res = await getRawRecord(data.queryParams) |
| | | if(res.code == 200){ |
| | |
| | | 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); |
| | | } |
| | |
| | | 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( |