index.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591
  1. <!--
  2. * @Descripttion: (基础资料/库位信息表/bas_bin)
  3. * @version: (1.0)
  4. * @Author: (admin)
  5. * @Date: (2023-04-12)
  6. * @LastEditors: (admin)
  7. * @LastEditTime: (2023-04-12)
  8. -->
  9. <template>
  10. <div>
  11. <el-form :model="queryParams" label-position="right" inline ref="queryRef" v-show="showSearch" @submit.prevent
  12. size="large">
  13. <el-row>
  14. <el-form-item label="库区" prop="regionId">
  15. <el-select v-model="queryParams.regionId" placeholder="请选择" clearable>
  16. <el-option v-for="dict in regionList" :key="dict.regionId" :label="dict.regionName" :value="dict.regionId">
  17. <span v-if="dict.regionName">{{ dict.regionName }}</span>
  18. <span v-else>(编码:{{ dict.regionCode }})</span>
  19. </el-option>
  20. </el-select>
  21. </el-form-item>
  22. <el-form-item label="库位编码" prop="binId">
  23. <el-input v-model="queryParams.binId" placeholder="请输入库位编码" clearable @keyup.enter="handleQuery" />
  24. </el-form-item>
  25. <el-form-item label="库位.排" prop="binRow">
  26. <el-input-number v-model="queryParams.binRow" @keyup.enter="handleQuery" :min="0" />
  27. </el-form-item>
  28. <el-form-item label="库位.列" prop="binColumn">
  29. <el-input-number v-model="queryParams.binColumn" @keyup.enter="handleQuery" :min="0" />
  30. </el-form-item>
  31. <el-form-item label="库位.层" prop="binLayer">
  32. <el-input-number v-model="queryParams.binLayer" @keyup.enter="handleQuery" :min="0" />
  33. </el-form-item>
  34. </el-row>
  35. <el-row>
  36. <el-form-item label="库位类型" prop="binType">
  37. <el-select v-model="queryParams.binType" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
  38. <el-option v-for="dict in options.binTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
  39. :value="dict.dictValue">
  40. <dict-tag :options="options.binTypeOptions" :value="dict.dictValue" />
  41. </el-option>
  42. </el-select>
  43. </el-form-item>
  44. <el-form-item label="使用标识" prop="status">
  45. <el-select v-model="queryParams.status" placeholder="请选择" clearable style="width:120px" @change="handleQuery">
  46. <el-option v-for="dict in options.statusOptions" :key="dict.dictValue" :label="dict.dictLabel"
  47. :value="dict.dictValue">
  48. <dict-tag :options="options.statusOptions" :value="dict.dictValue" />
  49. </el-option>
  50. </el-select>
  51. </el-form-item>
  52. <el-form-item>
  53. <el-button icon="search" type="primary" @click="handleQuery">{{ $t('btn.search') }}</el-button>
  54. <el-button icon="refresh" @click="resetQuery">{{ $t('btn.reset') }}</el-button>
  55. </el-form-item>
  56. </el-row>
  57. </el-form>
  58. <!-- 工具区域 -->
  59. <el-row :gutter="10" class="mb8">
  60. <el-col :span="1.5">
  61. <el-button type="primary" v-hasPermi="['business:basbin:add']" plain icon="plus" @click="handleAdd">
  62. {{ $t('btn.add') }}
  63. </el-button>
  64. </el-col>
  65. <el-col :span="1.5">
  66. <el-button type="success" :disabled="single" v-hasPermi="['business:basbin:edit']" plain icon="edit"
  67. @click="handleUpdate">
  68. {{ $t('btn.edit') }}
  69. </el-button>
  70. </el-col>
  71. <el-col :span="1.5">
  72. <el-button type="danger" :disabled="multiple" v-hasPermi="['business:basbin:delete']" plain icon="delete"
  73. @click="handleDelete">
  74. {{ $t('btn.delete') }}
  75. </el-button>
  76. </el-col>
  77. <el-col :span="1.5">
  78. <el-button plain icon="Printer">打印</el-button>
  79. </el-col>
  80. <el-col :span="1.5">
  81. <el-button type="info" plain icon="Upload" @click="handleImport"
  82. v-hasPermi="['business:basbin:import']">导入</el-button>
  83. </el-col>
  84. <el-col :span="1.5">
  85. <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['business:basbin:export']">
  86. {{ $t('btn.export') }}
  87. </el-button>
  88. </el-col>
  89. <right-toolbar v-model:showSearch="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
  90. </el-row>
  91. <!-- 数据区域 -->
  92. <el-table :data="dataList" v-loading="loading" ref="table" highlight-current-row @sort-change="sortChange"
  93. @selection-change="handleSelectionChange">
  94. <el-table-column type="selection" width="50" align="center" />
  95. <el-table-column type="index" label="序号" width="50" align="center" />
  96. <el-table-column prop="binId" label="ID" align="center" v-if="columns.showColumn('binId')" />
  97. <!-- <el-table-column prop="regionId" label="库区编码" align="center" :show-overflow-tooltip="true"
  98. v-if="columns.showColumn('regionId')" /> -->
  99. <el-table-column prop="regionName" label="库区" align="center" :show-overflow-tooltip="true"
  100. v-if="columns.showColumn('regionName')">
  101. <template #default="scope">
  102. <span v-if="scope.row.regionName">{{ scope.row.regionName }}</span>
  103. <span v-else>编码:{{ scope.row.regionCode }}</span>
  104. </template>
  105. </el-table-column>
  106. <el-table-column prop="binCode" label="库位编码" align="center" :show-overflow-tooltip="true"
  107. v-if="columns.showColumn('binCode')" />
  108. <el-table-column prop="binName" label="库位名称" align="center" :show-overflow-tooltip="true"
  109. v-if="columns.showColumn('binName')" />
  110. <el-table-column prop="binType" label="库位类型" align="center" v-if="columns.showColumn('binType')">
  111. <template #default="scope">
  112. <dict-tag :options="options.binTypeOptions" :value="scope.row.binType" />
  113. </template>
  114. </el-table-column>
  115. <el-table-column prop="binRow" label="排" align="center" v-if="columns.showColumn('binRow')" />
  116. <el-table-column prop="binColumn" label="列" align="center" v-if="columns.showColumn('binColumn')" />
  117. <el-table-column prop="binLayer" label="层" align="center" v-if="columns.showColumn('binLayer')" />
  118. <el-table-column prop="describe" label="描述" align="center" :show-overflow-tooltip="true"
  119. v-if="columns.showColumn('describe')" />
  120. <el-table-column prop="visible" label="显示状态" align="center" width="80" v-if="columns.showColumn('visible')">
  121. <template #default="scope">
  122. <dict-tag :options="options.visibleOptions" :value="scope.row.visible" />
  123. </template>
  124. </el-table-column>
  125. <el-table-column prop="status" label="使用状态" align="center" width="80" v-if="columns.showColumn('status')">
  126. <template #default="scope">
  127. <dict-tag :options="options.statusOptions" :value="scope.row.status" />
  128. </template>
  129. </el-table-column>
  130. <el-table-column prop="createBy" label="创建人" align="center" v-if="columns.showColumn('createBy')" />
  131. <el-table-column prop="createTime" label="创建时间" align="center" width="160"
  132. v-if="columns.showColumn('createTime')" />
  133. <el-table-column prop="updateBy" label="更新人" align="center" v-if="columns.showColumn('updateBy')" />
  134. <el-table-column prop="updateTime" label="更新时间" align="center" width="160"
  135. v-if="columns.showColumn('updateTime')" />
  136. <el-table-column prop="remark" label="备注" align="center" :show-overflow-tooltip="true"
  137. v-if="columns.showColumn('remark')" />
  138. <el-table-column label="操作" align="center" width="160">
  139. <template #default="scope">
  140. <el-button v-hasPermi="['business:basbin:edit']" type="success" plain icon="edit" title="编辑"
  141. @click="handleUpdate(scope.row)"></el-button>
  142. <el-button v-hasPermi="['business:basbin:delete']" type="danger" plain icon="delete" title="删除"
  143. @click="handleDelete(scope.row)"></el-button>
  144. </template>
  145. </el-table-column>
  146. </el-table>
  147. <pagination class="mt10" background :total="total" v-model:page="queryParams.pageNum"
  148. v-model:limit="queryParams.pageSize" @pagination="getList" />
  149. <!-- 添加或修改基础资料/库位信息表对话框 -->
  150. <el-dialog :title="title" :lock-scroll="false" v-model="open">
  151. <el-form ref="formRef" :model="form" :rules="rules" size="large" label-width="100">
  152. <el-row :gutter="20">
  153. <el-col :lg="12">
  154. <el-row :gutter="20">
  155. <el-col>
  156. <el-form-item label="库位编码" prop="binCode">
  157. <el-input v-model="form.binCode" placeholder="请输入库位编码" />
  158. </el-form-item>
  159. </el-col>
  160. <el-col>
  161. <el-form-item label="库位名称" prop="binName">
  162. <el-input v-model="form.binName" placeholder="请输入库位名称" />
  163. </el-form-item>
  164. </el-col>
  165. <el-col>
  166. <el-form-item label="库区" prop="regionId">
  167. <el-select v-model="form.regionId" placeholder="请选择" clearable>
  168. <el-option v-for="dict in regionList" :key="dict.regionId" :label="dict.regionName"
  169. :value="dict.regionId">
  170. <span v-if="dict.regionName">{{ dict.regionName }}</span>
  171. <span v-else>(编码:{{ dict.regionCode }})</span>
  172. </el-option>
  173. </el-select>
  174. </el-form-item>
  175. </el-col>
  176. <el-col>
  177. <el-form-item label="库位类型" prop="binType">
  178. <el-select v-model="form.binType" placeholder="请选择库位类型">
  179. <el-option v-for="dict in options.binTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
  180. :value="dict.dictValue">
  181. <dict-tag :options="options.binTypeOptions" :value="dict.dictValue" />
  182. </el-option>
  183. </el-select>
  184. </el-form-item>
  185. </el-col>
  186. </el-row>
  187. </el-col>
  188. <el-col :lg="12">
  189. <el-row :gutter="20">
  190. <el-col>
  191. <el-form-item label="库位所在排" prop="binRow">
  192. <el-input-number v-model="form.binRow" placeholder="请输入" />
  193. </el-form-item>
  194. </el-col>
  195. <el-col>
  196. <el-form-item label="库位所在列" prop="binColumn">
  197. <el-input-number v-model="form.binColumn" placeholder="请输入" />
  198. </el-form-item>
  199. </el-col>
  200. <el-col>
  201. <el-form-item label="库位所在层" prop="binLayer">
  202. <el-input-number v-model="form.binLayer" placeholder="请输入" />
  203. </el-form-item>
  204. </el-col>
  205. <el-col>
  206. <el-form-item label="显示状态" prop="visible">
  207. <el-radio-group v-model="form.visible">
  208. <el-radio-button v-for="item in options.visibleOptions" :key="item.dictValue"
  209. :label="item.dictValue">{{
  210. item.dictLabel }}</el-radio-button>
  211. </el-radio-group>
  212. </el-form-item>
  213. </el-col>
  214. <el-col>
  215. <el-form-item label="使用状态" prop="status">
  216. <el-radio-group v-model="form.status">
  217. <el-radio-button v-for="item in options.statusOptions" :key="item.dictValue"
  218. :label="item.dictValue">{{
  219. item.dictLabel }}</el-radio-button>
  220. </el-radio-group>
  221. </el-form-item>
  222. </el-col>
  223. </el-row>
  224. </el-col>
  225. <el-col :lg="24">
  226. <el-form-item label="描述" prop="describe">
  227. <el-input type="textarea" v-model="form.describe" placeholder="请输入描述" />
  228. </el-form-item>
  229. </el-col>
  230. <el-col :lg="12">
  231. <el-form-item label="备注" prop="remark">
  232. <el-input v-model="form.remark" placeholder="请输入备注" />
  233. </el-form-item>
  234. </el-col>
  235. </el-row>
  236. </el-form>
  237. <template #footer v-if="opertype != 3">
  238. <el-button text @click="cancel">{{ $t('btn.cancel') }}</el-button>
  239. <el-button type="primary" @click="submitForm">{{ $t('btn.submit') }}</el-button>
  240. </template>
  241. </el-dialog>
  242. <!-- 导入对话框 -->
  243. <el-dialog :title="upload.title" v-model="upload.open" width="400px" append-to-body>
  244. <el-upload name="file" ref="uploadRef" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
  245. :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading"
  246. :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
  247. <el-icon class="el-icon--upload">
  248. <upload-filled />
  249. </el-icon>
  250. <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
  251. <template #tip>
  252. <div class="el-upload__tip text-center">
  253. <!-- <div class="el-upload__tip">
  254. <el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的用户数据
  255. </div> -->
  256. <span>仅允许导入xls、xlsx格式文件。</span>
  257. <el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline"
  258. @click="importTemplate">下载模板</el-link>
  259. </div>
  260. </template>
  261. </el-upload>
  262. <template #footer>
  263. <el-button @click="upload.open = false">{{ $t('btn.cancel') }}</el-button>
  264. <el-button type="primary" @click="submitFileForm">{{ $t('btn.submit') }}</el-button>
  265. </template>
  266. </el-dialog>
  267. </div>
  268. </template>
  269. <script setup name="basbin">
  270. import {
  271. listBasBin, addBasBin, delBasBin, updateBasBin, getBasBin, exportBasBin,
  272. }
  273. from '@/api/business/basbin.js'
  274. import { listBasRegion } from '@/api/business/basregion';
  275. import { formatDate } from '@vueuse/shared'
  276. import { getToken } from "@/utils/auth";
  277. const { proxy } = getCurrentInstance()
  278. // 选中binId数组数组
  279. const ids = ref([])
  280. const single = ref(true)
  281. const multiple = ref(true)
  282. const loading = ref(false)
  283. const showSearch = ref(true)
  284. const queryParams = reactive({
  285. pageNum: 1,
  286. pageSize: 10,
  287. sort: '',
  288. sortType: 'asc',
  289. regionId: undefined,
  290. regionName: undefined,
  291. binRow: undefined,
  292. binColumn: undefined,
  293. binLayer: undefined,
  294. binType: undefined,
  295. status: undefined,
  296. })
  297. const columns = ref([
  298. { visible: false, prop: 'binId', label: 'ID' },
  299. { visible: true, prop: 'binCode', label: '库位编码' },
  300. { visible: true, prop: 'binName', label: '库位名称' },
  301. { visible: true, prop: 'binType', label: '库位类型' },
  302. { visible: true, prop: 'regionName', label: '库区' },
  303. { visible: true, prop: 'binRow', label: '排' },
  304. { visible: true, prop: 'binColumn', label: '列' },
  305. { visible: true, prop: 'binLayer', label: '层' },
  306. { visible: false, prop: 'describe', label: '描述' },
  307. { visible: true, prop: 'visible', label: '显示状态' },
  308. { visible: true, prop: 'status', label: '使用状态' },
  309. { visible: false, prop: 'remark', label: '备注' },
  310. { visible: true, prop: 'createBy', label: '创建人' },
  311. { visible: true, prop: 'createTime', label: '创建时间' },
  312. { visible: true, prop: 'updateBy', label: '更新人' },
  313. { visible: true, prop: 'updateTime', label: '更新时间' },
  314. ])
  315. const total = ref(0)
  316. const dataList = ref([])
  317. const regionList = ref([])
  318. const queryRef = ref()
  319. const defaultTime = ref([new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 2, 1, 23, 59, 59)])
  320. /*** 导入参数 */
  321. const upload = reactive({
  322. // 是否显示弹出层
  323. open: false,
  324. // 弹出层标题
  325. title: '',
  326. // 是否禁用上传
  327. isUploading: false,
  328. // 是否更新已经存在的数据
  329. updateSupport: 0,
  330. // 设置上传的请求头部
  331. headers: { Authorization: 'Bearer ' + getToken() },
  332. // 上传的地址
  333. url: import.meta.env.VITE_APP_BASE_API + '/business/basbin/importData'
  334. })
  335. function getList() {
  336. loading.value = true
  337. listBasBin(queryParams).then(res => {
  338. const { code, data } = res
  339. if (code == 200) {
  340. dataList.value = data.result
  341. total.value = data.totalNum
  342. loading.value = false
  343. }
  344. })
  345. }
  346. function getRegion() {
  347. const regionQuery = reactive({
  348. pageNum: 1,
  349. //获取所有的库区,这里限制获取前100个,应该可以获取全部
  350. pageSize: 100,
  351. })
  352. listBasRegion(regionQuery).then(res => {
  353. const { code, data } = res
  354. if (code == 200) {
  355. regionList.value = data.result
  356. }
  357. })
  358. }
  359. // 查询
  360. function handleQuery() {
  361. queryParams.pageNum = 1
  362. getList()
  363. }
  364. // 重置查询操作
  365. function resetQuery() {
  366. proxy.resetForm("queryRef")
  367. handleQuery()
  368. }
  369. // 多选框选中数据
  370. function handleSelectionChange(selection) {
  371. ids.value = selection.map((item) => item.binId);
  372. single.value = selection.length != 1
  373. multiple.value = !selection.length;
  374. }
  375. // 自定义排序
  376. function sortChange(column) {
  377. var sort = undefined
  378. var sortType = undefined
  379. if (column.prop != null && column.order != null) {
  380. sort = column.prop
  381. sortType = column.order
  382. }
  383. queryParams.sort = sort
  384. queryParams.sortType = sortType
  385. handleQuery()
  386. }
  387. /*************** form操作 ***************/
  388. const formRef = ref()
  389. const title = ref("")
  390. // 操作类型 1、add 2、edit 3、view
  391. const opertype = ref(0)
  392. const open = ref(false)
  393. const state = reactive({
  394. form: {},
  395. rules: {
  396. binId: [{ required: true, message: "库位Id 系统主键不能为空", trigger: "blur", type: "number" }],
  397. binCode: [{ required: true, message: "库区编码不能为空", trigger: "blur" }],
  398. binType: [{ required: true, message: "库位类型(S存储库位,P拣选库位,V虚拟库位)不能为空", trigger: "change" }],
  399. regionId: [{ required: true, message: "库区编码不能为空", trigger: "blur" }],
  400. binRow: [{ required: true, message: "库位所在排不能为空", trigger: "blur", type: "number" }],
  401. binColumn: [{ required: true, message: "库位所在列不能为空", trigger: "blur", type: "number" }],
  402. binLayer: [{ required: true, message: "库位所在层不能为空", trigger: "blur", type: "number" }],
  403. visible: [{ required: true, message: "显示状态(0显示,1隐藏)不能为空", trigger: "blur" }],
  404. status: [{ required: true, message: "使用状态(0正常,1使用)不能为空", trigger: "blur" }],
  405. },
  406. options: {
  407. statusOptions: [],// 状态数据字典
  408. visibleOptions: [],// 显示数据字典
  409. binTypeOptions: [],// 库位类型字典
  410. }
  411. })
  412. const { form, rules, options } = toRefs(state)
  413. var dictParams = [
  414. { dictType: 'sys_normal_disable', columnName: 'statusOptions' },
  415. { dictType: 'sys_show_hide', columnName: 'visibleOptions' },
  416. { dictType: 'my_bin_type', columnName: 'binTypeOptions' },
  417. ]
  418. proxy.getDicts(dictParams).then((response) => {
  419. response.data.forEach((element) => {
  420. state.options[element.columnName] = element.list
  421. })
  422. })
  423. // 关闭dialog
  424. function cancel() {
  425. open.value = false
  426. reset()
  427. }
  428. // 重置表单
  429. function reset() {
  430. form.value = {
  431. binCode: undefined,
  432. binName: undefined,
  433. binType: undefined,
  434. regionId: undefined,
  435. binRow: undefined,
  436. binColumn: undefined,
  437. binLayer: undefined,
  438. describe: undefined,
  439. visible: "0",
  440. status: "0",
  441. // createBy: undefined,
  442. // createTime: undefined,
  443. // updateBy: undefined,
  444. // updateTime: undefined,
  445. remark: undefined,
  446. };
  447. proxy.resetForm("formRef")
  448. }
  449. // 添加按钮操作
  450. function handleAdd() {
  451. reset();
  452. open.value = true
  453. title.value = '添加'
  454. opertype.value = 1
  455. }
  456. // 修改按钮操作
  457. function handleUpdate(row) {
  458. reset()
  459. const id = row.binId || ids.value
  460. getBasBin(id).then((res) => {
  461. const { code, data } = res
  462. if (code == 200) {
  463. open.value = true
  464. title.value = "修改数据"
  465. opertype.value = 2
  466. form.value = {
  467. ...data,
  468. }
  469. }
  470. })
  471. }
  472. // 添加&修改 表单提交
  473. function submitForm() {
  474. proxy.$refs["formRef"].validate((valid) => {
  475. if (valid) {
  476. if (form.value.binId != undefined && opertype.value === 2) {
  477. updateBasBin(form.value).then((res) => {
  478. proxy.$modal.msgSuccess("修改成功")
  479. open.value = false
  480. getList()
  481. })
  482. .catch(() => { })
  483. } else {
  484. addBasBin(form.value).then((res) => {
  485. proxy.$modal.msgSuccess("新增成功")
  486. open.value = false
  487. getList()
  488. })
  489. .catch(() => { })
  490. }
  491. }
  492. })
  493. }
  494. // 删除按钮操作
  495. function handleDelete(row) {
  496. const Ids = row.binId || ids.value
  497. proxy
  498. .$confirm('是否确认删除参数编号为"' + Ids + '"的数据项?')
  499. .then(function () {
  500. return delBasBin(Ids)
  501. })
  502. .then(() => {
  503. getList()
  504. proxy.$modal.msgSuccess("删除成功")
  505. })
  506. .catch(() => { })
  507. }
  508. // 导入按钮操作
  509. function handleImport() {
  510. upload.title = '库位导入'
  511. upload.open = true
  512. }
  513. /**文件上传中处理 */
  514. const handleFileUploadProgress = (event, file, fileList) => {
  515. upload.isUploading = true
  516. }
  517. /** 文件上传成功处理 */
  518. const handleFileSuccess = (response, file, fileList) => {
  519. upload.open = false
  520. upload.isUploading = false
  521. proxy.$refs['uploadRef'].clearFiles()
  522. proxy.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + '</div>', '导入结果', {
  523. dangerouslyUseHTMLString: true
  524. })
  525. getList()
  526. }
  527. // 下载导入模板
  528. function importTemplate() {
  529. proxy.download('/business/basbin/importTemplate', '库位数据导入模板')
  530. }
  531. // 提交上传文件
  532. function submitFileForm() {
  533. proxy.$refs['uploadRef'].submit()
  534. }
  535. // 导出按钮操作
  536. function handleExport() {
  537. proxy
  538. .$confirm('是否确认导出所有库位信息?', '警告', {
  539. confirmButtonText: '确定',
  540. cancelButtonText: '取消',
  541. type: 'warning',
  542. })
  543. .then(function () {
  544. return exportBasBin(queryParams.value)
  545. })
  546. .then((response) => {
  547. proxy.download(response.data.path)
  548. })
  549. }
  550. handleQuery()
  551. getRegion()
  552. </script>