选煤厂生产管理平台前端代码
提交 | 用户 | 时间
5cc1d9 1 <template>
D 2   <!-- 搜索 -->
3   <ContentWrap>
4     <el-form
5       class="-mb-15px"
6       :model="queryParams"
7       ref="queryFormRef"
8       :inline="true"
9       label-width="68px"
10     >
11       <el-form-item label="开始时间">
12         <el-date-picker
13           size="mini"
14           v-model="queryParams.startTime"
15           format="YYYY-MM-DD HH:mm:00"
16           value-format="YYYY-MM-DD HH:mm:00"
17           type="datetime"
18           :clearable="false"
19           placeholder="选择日期时间"/>
20       </el-form-item>
21       <el-form-item label="结束时间">
22         <el-date-picker
23           size="mini"
24           v-model="queryParams.endTime"
25           format="YYYY-MM-DD HH:mm:00"
26           value-format="YYYY-MM-DD HH:mm:00"
27           type="datetime"
28           :clearable="false"
29           placeholder="选择日期时间"/>
30       </el-form-item>
31       <el-form-item label="原煤煤种" prop="ymmz">
32         <el-select
33           v-model="queryParams.ymmz"
34           class="!w-240px"
35           clearable
36           placeholder="请选择原煤煤种"
37         >
38           <el-option
39             v-for="dict in getIntDictOptions(DICT_TYPE.PMS_YMMZ)"
40             :key="dict.value"
41             :label="dict.label"
42             :value="dict.value"
43           />
44         </el-select>
45       </el-form-item>
46       <el-form-item>
47         <el-button @click="handleQuery">
48           <Icon icon="ep:search" class="mr-5px" />
49           搜索
50         </el-button>
51         <el-button @click="resetQuery">
52           <Icon icon="ep:refresh" class="mr-5px" />
53           重置
54         </el-button>
55         <el-button
56           type="primary"
57           plain
58           @click="openForm('create')"
59           v-hasPermi="['data:point:create']"
60         >
61           <Icon icon="ep:plus" class="mr-5px" />
62           新增
63         </el-button>
64         <el-button
65           type="warning"
66           plain
67           @click="handleImport"
68           v-hasPermi="['data:point:import']"
69         >
70           <Icon icon="ep:upload" /> 导入
71         </el-button>
72         <el-button
73           type="success"
74           plain
75           @click="handleExport"
76           :loading="exportLoading"
77           v-hasPermi="['data:point:export']"
78         >
79           <Icon icon="ep:download" />导出
80         </el-button>
81       </el-form-item>
82     </el-form>
83   </ContentWrap>
84
85   <!-- 列表 -->
86   <ContentWrap>
87     <el-table border stripe v-loading="loading" :data="list">
88       <el-table-column type="index" header-align="center" align="center" min-width="50" label="序号"/>
89       <el-table-column prop="lsh" header-align="center" align="center" label="流水号" min-width="200"/>
90       <el-table-column prop="rq" header-align="center" align="center" label="日期" min-width="200"/>
91       <el-table-column prop="kcmzName" header-align="center" align="center" label="原煤" min-width="300"/>
92       <el-table-column prop="nbjrkc" header-align="center" align="center" label="估算库存(t)" min-width="200">
93         <template #default="scope">
94           <el-input-number v-model="scope.row.nbjrkc" :disabled="!updateKcView" :precision="2" :step="0.1"/>
95         </template>
96       </el-table-column>
97       <el-table-column show-overflow-tooltip prop="bz" header-align="center" align="center" label="备注" min-width="400"/>
98     </el-table>
99     <!-- 分页 -->
100     <Pagination
101       :total="total"
102       v-model:page="queryParams.pageNo"
103       v-model:limit="queryParams.pageSize"
104       @pagination="getList"
105     />
106   </ContentWrap>
107   <!--电耗明细-->
108   <Form ref="formRef"/>
109 </template>
110 <script lang="ts" setup>
111   import * as RawCoalStock from '@/api/prod/rawCoalStock'
112   import {ref} from "vue";
113   import download from "@/utils/download";
114   import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
115   import det from './form.vue'
116
117   defineOptions({name: 'RawCoalStock'})
118
119   const message = useMessage() // 消息弹窗
120   const {t} = useI18n() // 国际化
121
122   const loading = ref(true) // 列表的加载中
123   const total = ref(0) // 列表的总页数
124   const list = ref([]) // 列表的数据
125   const queryParams = reactive({
126     pageNo: 1,
127     pageSize: 10,
128     startDate: undefined,
129     endDate: undefined,
130     xt: undefined
131   })
132   const queryFormRef = ref() // 搜索的表单
133
134   /** 查询列表 */
135   const getList = async () => {
136     loading.value = true
137     try {
138       const page = await RawCoalStock.getRawCoalStockPage(queryParams)
139       list.value = page.list
140       total.value = page.total
141     } finally {
142       loading.value = false
143     }
144   }
145
146   /** 搜索按钮操作 */
147   const handleQuery = () => {
148     queryParams.pageNo = 1
149     getList()
150   }
151
152   /** 查看数据操作 */
153   const chartView  = ref()
154   const chartHandle = (raw: object) => {
155     chartView.value.open(raw)
156   }
157
158   /** 重置按钮操作 */
159   const resetQuery = () => {
160     queryFormRef.value.resetFields()
161     handleQuery()
162   }
163
164   /** 添加/修改操作 */
165   const formRef = ref()
166   const openForm = (type: string, id?: number) => {
167     formRef.value.open(type, id)
168   }
169
170   /** 删除按钮操作 */
171   const handleDelete = async (id: number) => {
172     try {
173       // 删除的二次确认
174       await message.delConfirm()
175       // 发起删除
176       await RawCoalStock.deleteRawCoalStock(id)
177       message.success(t('common.delSuccess'))
178       // 刷新列表
179       await getList()
180     } catch {
181     }
182   }
183   /** 测点导入 */
184   const importFormRef = ref()
185   const handleImport = () => {
186     importFormRef.value.open()
187   }
188
189   /** 导出按钮操作 */
190   const exportLoading = ref(false)
191   const handleExport = async () => {
192     try {
193       // 导出的二次确认
194       await message.exportConfirm()
195       // 发起导出
196       exportLoading.value = true
197       const data = await RawCoalStock.exportRawCoalStock(queryParams)
198       download.excel(data, '测点列表.xlsx')
199     } catch {
200     } finally {
201       exportLoading.value = false
202     }
203   }
204   /** 初始化 **/
205   onMounted(async () => {
206     await getList()
207   })
208 </script>