``
This commit is contained in:
parent
6514ae0510
commit
9c0d5a65a8
@ -42,3 +42,11 @@ export function delAssetCard(id) {
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 批量更新金蝶资产卡片
|
||||
export function updateAssetCardBatch() {
|
||||
return request({
|
||||
url: '/system/assetCard/updateAssetCard',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
@ -119,3 +119,12 @@ export function uploadPDF(id) {
|
||||
headers: { 'Content-Type': 'application/json; application/octet-stream' }
|
||||
})
|
||||
}
|
||||
|
||||
// 下载生产工艺计划表
|
||||
export function exportRoute(id) {
|
||||
return request({
|
||||
url: `/system/orderPro/exportRoute?id=${id}`,
|
||||
method: 'post',
|
||||
responseType: 'blob'
|
||||
})
|
||||
}
|
||||
|
||||
@ -65,12 +65,12 @@
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
@ -114,12 +114,23 @@
|
||||
v-hasPermi="['system:assetCard:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="info"
|
||||
plain
|
||||
icon="el-icon-refresh"
|
||||
size="mini"
|
||||
@click="handleUpdateAssetCard"
|
||||
v-hasPermi="['system:assetCard:update']"
|
||||
>获取数据</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="assetCardList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="ID" align="center" prop="id" v-if="true"/>
|
||||
<!-- <el-table-column label="ID" align="center" prop="id" v-if="true"/>-->
|
||||
<el-table-column label="资产ID" align="center" prop="assetId" />
|
||||
<el-table-column label="资产类别" align="center" prop="assetCategory" />
|
||||
<el-table-column label="卡片编码" align="center" prop="cardCode" />
|
||||
<el-table-column label="计量单位" align="center" prop="assetUnit" />
|
||||
@ -128,7 +139,18 @@
|
||||
<el-table-column label="资产数量" align="center" prop="assetQuantity" />
|
||||
<el-table-column label="资产名称" align="center" prop="assetName" />
|
||||
<el-table-column label="制造商" align="center" prop="assetManufacturer" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<el-table-column label="所属人" align="center" prop="owner" />
|
||||
<el-table-column label="金蝶修改日期" align="center" prop="kdUpdateTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.kdUpdateTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="金蝶创建日期" align="center" prop="kdCreateTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.kdCreateTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
@ -145,7 +167,7 @@
|
||||
v-hasPermi="['system:assetCard:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>-->
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
@ -159,6 +181,9 @@
|
||||
<!-- 添加或修改金蝶资产卡片对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="资产ID" prop="assetId">
|
||||
<el-input v-model="form.assetId" placeholder="请输入资产ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="资产类别" prop="assetCategory">
|
||||
<el-input v-model="form.assetCategory" placeholder="请输入资产类别" />
|
||||
</el-form-item>
|
||||
@ -183,6 +208,25 @@
|
||||
<el-form-item label="制造商" prop="assetManufacturer">
|
||||
<el-input v-model="form.assetManufacturer" placeholder="请输入制造商" />
|
||||
</el-form-item>
|
||||
<el-form-item label="所属人" prop="owner">
|
||||
<el-input v-model="form.owner" placeholder="请输入所属人" />
|
||||
</el-form-item>
|
||||
<el-form-item label="金蝶修改日期" prop="kdUpdateTime">
|
||||
<el-date-picker clearable
|
||||
v-model="form.kdUpdateTime"
|
||||
type="datetime"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
placeholder="请选择金蝶修改日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="金蝶创建日期" prop="kdCreateTime">
|
||||
<el-date-picker clearable
|
||||
v-model="form.kdCreateTime"
|
||||
type="datetime"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
placeholder="请选择金蝶创建日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
||||
@ -193,7 +237,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listAssetCard, getAssetCard, delAssetCard, addAssetCard, updateAssetCard } from "@/api/system/assetCard";
|
||||
import { listAssetCard, getAssetCard, delAssetCard, addAssetCard, updateAssetCard, updateAssetCardBatch } from "@/api/system/assetCard";
|
||||
|
||||
export default {
|
||||
name: "AssetCard",
|
||||
@ -223,6 +267,7 @@ export default {
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
assetId: undefined,
|
||||
assetCategory: undefined,
|
||||
cardCode: undefined,
|
||||
assetUnit: undefined,
|
||||
@ -231,6 +276,9 @@ export default {
|
||||
assetQuantity: undefined,
|
||||
assetName: undefined,
|
||||
assetManufacturer: undefined,
|
||||
owner: undefined,
|
||||
kdUpdateTime: undefined,
|
||||
kdCreateTime: undefined
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
@ -239,6 +287,9 @@ export default {
|
||||
id: [
|
||||
{ required: true, message: "ID不能为空", trigger: "blur" }
|
||||
],
|
||||
assetId: [
|
||||
{ required: true, message: "资产ID不能为空", trigger: "blur" }
|
||||
],
|
||||
assetCategory: [
|
||||
{ required: true, message: "资产类别不能为空", trigger: "blur" }
|
||||
],
|
||||
@ -263,6 +314,15 @@ export default {
|
||||
assetManufacturer: [
|
||||
{ required: true, message: "制造商不能为空", trigger: "blur" }
|
||||
],
|
||||
owner: [
|
||||
{ required: true, message: "所属人不能为空", trigger: "blur" }
|
||||
],
|
||||
kdUpdateTime: [
|
||||
{ required: true, message: "金蝶修改日期不能为空", trigger: "blur" }
|
||||
],
|
||||
kdCreateTime: [
|
||||
{ required: true, message: "金蝶创建日期不能为空", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
@ -288,6 +348,7 @@ export default {
|
||||
reset() {
|
||||
this.form = {
|
||||
id: undefined,
|
||||
assetId: undefined,
|
||||
assetCategory: undefined,
|
||||
cardCode: undefined,
|
||||
assetUnit: undefined,
|
||||
@ -297,9 +358,12 @@ export default {
|
||||
assetName: undefined,
|
||||
assetManufacturer: undefined,
|
||||
createBy: undefined,
|
||||
owner: undefined,
|
||||
updateBy: undefined,
|
||||
createTime: undefined,
|
||||
updateTime: undefined
|
||||
kdUpdateTime: undefined,
|
||||
updateTime: undefined,
|
||||
kdCreateTime: undefined
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
@ -382,6 +446,19 @@ export default {
|
||||
this.download('system/assetCard/export', {
|
||||
...this.queryParams
|
||||
}, `assetCard_${new Date().getTime()}.xlsx`)
|
||||
},
|
||||
/** 获取数据按钮操作 */
|
||||
handleUpdateAssetCard() {
|
||||
this.$modal.confirm('是否确认从金蝶系统获取最新的资产卡片数据?').then(() => {
|
||||
this.loading = true;
|
||||
return updateAssetCardBatch();
|
||||
}).then(() => {
|
||||
this.loading = false;
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("数据获取成功");
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@ -284,6 +284,9 @@
|
||||
<el-button type="primary" @click="downloadPDF" style="margin-bottom: 10px; margin-left: 10px;">
|
||||
下载PDF
|
||||
</el-button>
|
||||
<el-button type="warning" @click="downloadRoute" style="margin-bottom: 10px; margin-left: 10px;" v-hasPermi="['system:route:exportRoute']">
|
||||
下载生产工艺计划表
|
||||
</el-button>
|
||||
<el-progress :text-inside="true" :stroke-width="26" :percentage="percentage"></el-progress>
|
||||
<el-card shadow="never" style="background: #f9f9f9; min-height: 120px; max-height: 220px; overflow-y: auto;">
|
||||
<div style="font-size: 13px; color: #333; white-space: pre-line;">
|
||||
@ -645,6 +648,7 @@ import {
|
||||
executDrawing,
|
||||
delSave,
|
||||
uploadPDF,
|
||||
exportRoute,
|
||||
getMRPResults
|
||||
} from "@/api/system/orderPro";
|
||||
import {processList} from "../../../api/system/orderPro";
|
||||
@ -1614,6 +1618,41 @@ export default {
|
||||
this.$message.error('PDF文件下载失败: ' + (error.message || error));
|
||||
});
|
||||
},
|
||||
downloadRoute() {
|
||||
if (!this.productionObj || !this.productionObj.id) {
|
||||
this.$message.error('请先选择生产令号');
|
||||
return;
|
||||
}
|
||||
|
||||
this.$message.success('开始下载生产工艺计划表');
|
||||
console.log('开始下载,生产令号ID:', this.productionObj.id);
|
||||
|
||||
// 调用API获取文件流
|
||||
exportRoute(this.productionObj.id)
|
||||
.then(response => {
|
||||
// 检查文件大小
|
||||
if (response.size === 0) {
|
||||
this.$message.error('文件为空或下载失败');
|
||||
return;
|
||||
}
|
||||
|
||||
// 创建blob对象并下载
|
||||
let blob = new Blob([response], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'});
|
||||
let url = window.URL.createObjectURL(blob);
|
||||
const link = document.createElement('a');
|
||||
link.href = url;
|
||||
link.download = `${this.productionObj.productionOrderNo}_生产工艺计划表.xlsx`;
|
||||
link.click();
|
||||
window.URL.revokeObjectURL(url);
|
||||
|
||||
this.$message.success('生产工艺计划表下载成功');
|
||||
})
|
||||
.catch(error => {
|
||||
console.error('下载失败:', error);
|
||||
// 后端异常会直接抛出,显示错误信息
|
||||
this.$message.error('下载失败: ' + (error.message || '项目未出图'));
|
||||
});
|
||||
},
|
||||
},
|
||||
beforeMount() {
|
||||
clearInterval(this.time);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user