``
This commit is contained in:
parent
6514ae0510
commit
9c0d5a65a8
@ -42,3 +42,11 @@ export function delAssetCard(id) {
|
|||||||
method: 'delete'
|
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' }
|
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"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<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-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
@ -114,12 +114,23 @@
|
|||||||
v-hasPermi="['system:assetCard:export']"
|
v-hasPermi="['system:assetCard:export']"
|
||||||
>导出</el-button>
|
>导出</el-button>
|
||||||
</el-col>
|
</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>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="assetCardList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="assetCardList" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<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="assetCategory" />
|
||||||
<el-table-column label="卡片编码" align="center" prop="cardCode" />
|
<el-table-column label="卡片编码" align="center" prop="cardCode" />
|
||||||
<el-table-column label="计量单位" align="center" prop="assetUnit" />
|
<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="assetQuantity" />
|
||||||
<el-table-column label="资产名称" align="center" prop="assetName" />
|
<el-table-column label="资产名称" align="center" prop="assetName" />
|
||||||
<el-table-column label="制造商" align="center" prop="assetManufacturer" />
|
<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">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
@ -145,7 +167,7 @@
|
|||||||
v-hasPermi="['system:assetCard:remove']"
|
v-hasPermi="['system:assetCard:remove']"
|
||||||
>删除</el-button>
|
>删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>-->
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<pagination
|
<pagination
|
||||||
@ -159,6 +181,9 @@
|
|||||||
<!-- 添加或修改金蝶资产卡片对话框 -->
|
<!-- 添加或修改金蝶资产卡片对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
<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 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-form-item label="资产类别" prop="assetCategory">
|
||||||
<el-input v-model="form.assetCategory" placeholder="请输入资产类别" />
|
<el-input v-model="form.assetCategory" placeholder="请输入资产类别" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -183,6 +208,25 @@
|
|||||||
<el-form-item label="制造商" prop="assetManufacturer">
|
<el-form-item label="制造商" prop="assetManufacturer">
|
||||||
<el-input v-model="form.assetManufacturer" placeholder="请输入制造商" />
|
<el-input v-model="form.assetManufacturer" placeholder="请输入制造商" />
|
||||||
</el-form-item>
|
</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>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
||||||
@ -193,7 +237,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listAssetCard, getAssetCard, delAssetCard, addAssetCard, updateAssetCard } from "@/api/system/assetCard";
|
import { listAssetCard, getAssetCard, delAssetCard, addAssetCard, updateAssetCard, updateAssetCardBatch } from "@/api/system/assetCard";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "AssetCard",
|
name: "AssetCard",
|
||||||
@ -223,6 +267,7 @@ export default {
|
|||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
|
assetId: undefined,
|
||||||
assetCategory: undefined,
|
assetCategory: undefined,
|
||||||
cardCode: undefined,
|
cardCode: undefined,
|
||||||
assetUnit: undefined,
|
assetUnit: undefined,
|
||||||
@ -231,6 +276,9 @@ export default {
|
|||||||
assetQuantity: undefined,
|
assetQuantity: undefined,
|
||||||
assetName: undefined,
|
assetName: undefined,
|
||||||
assetManufacturer: undefined,
|
assetManufacturer: undefined,
|
||||||
|
owner: undefined,
|
||||||
|
kdUpdateTime: undefined,
|
||||||
|
kdCreateTime: undefined
|
||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
@ -239,6 +287,9 @@ export default {
|
|||||||
id: [
|
id: [
|
||||||
{ required: true, message: "ID不能为空", trigger: "blur" }
|
{ required: true, message: "ID不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
|
assetId: [
|
||||||
|
{ required: true, message: "资产ID不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
assetCategory: [
|
assetCategory: [
|
||||||
{ required: true, message: "资产类别不能为空", trigger: "blur" }
|
{ required: true, message: "资产类别不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
@ -263,6 +314,15 @@ export default {
|
|||||||
assetManufacturer: [
|
assetManufacturer: [
|
||||||
{ required: true, message: "制造商不能为空", trigger: "blur" }
|
{ 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() {
|
reset() {
|
||||||
this.form = {
|
this.form = {
|
||||||
id: undefined,
|
id: undefined,
|
||||||
|
assetId: undefined,
|
||||||
assetCategory: undefined,
|
assetCategory: undefined,
|
||||||
cardCode: undefined,
|
cardCode: undefined,
|
||||||
assetUnit: undefined,
|
assetUnit: undefined,
|
||||||
@ -297,9 +358,12 @@ export default {
|
|||||||
assetName: undefined,
|
assetName: undefined,
|
||||||
assetManufacturer: undefined,
|
assetManufacturer: undefined,
|
||||||
createBy: undefined,
|
createBy: undefined,
|
||||||
|
owner: undefined,
|
||||||
updateBy: undefined,
|
updateBy: undefined,
|
||||||
createTime: undefined,
|
createTime: undefined,
|
||||||
updateTime: undefined
|
kdUpdateTime: undefined,
|
||||||
|
updateTime: undefined,
|
||||||
|
kdCreateTime: undefined
|
||||||
};
|
};
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
},
|
},
|
||||||
@ -382,6 +446,19 @@ export default {
|
|||||||
this.download('system/assetCard/export', {
|
this.download('system/assetCard/export', {
|
||||||
...this.queryParams
|
...this.queryParams
|
||||||
}, `assetCard_${new Date().getTime()}.xlsx`)
|
}, `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;">
|
<el-button type="primary" @click="downloadPDF" style="margin-bottom: 10px; margin-left: 10px;">
|
||||||
下载PDF
|
下载PDF
|
||||||
</el-button>
|
</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-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;">
|
<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;">
|
<div style="font-size: 13px; color: #333; white-space: pre-line;">
|
||||||
@ -645,6 +648,7 @@ import {
|
|||||||
executDrawing,
|
executDrawing,
|
||||||
delSave,
|
delSave,
|
||||||
uploadPDF,
|
uploadPDF,
|
||||||
|
exportRoute,
|
||||||
getMRPResults
|
getMRPResults
|
||||||
} from "@/api/system/orderPro";
|
} from "@/api/system/orderPro";
|
||||||
import {processList} from "../../../api/system/orderPro";
|
import {processList} from "../../../api/system/orderPro";
|
||||||
@ -1614,6 +1618,41 @@ export default {
|
|||||||
this.$message.error('PDF文件下载失败: ' + (error.message || error));
|
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() {
|
beforeMount() {
|
||||||
clearInterval(this.time);
|
clearInterval(this.time);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user