Merge remote-tracking branch 'origin/master'

master
Yangwl 11 months ago
commit b13bed8f43

@ -0,0 +1,45 @@
import request from '@/utils/request'
// import request from '@/api/attached'
// 查询物料附属信息列表
export function listAttached(query) {
return request({
url: '/mes/attached/list',
method: 'get',
params: query
})
}
// 查询物料附属信息详细
export function getAttached(id) {
return request({
url: '/mes/attached/' + id,
method: 'get'
})
}
// 新增物料附属信息
export function addAttached(data) {
return request({
url: '/mes/attached',
method: 'post',
data: data
})
}
// 修改物料附属信息
export function updateAttached(data) {
return request({
url: '/mes/attached',
method: 'put',
data: data
})
}
// 删除物料附属信息
export function delAttached(id) {
return request({
url: '/mes/attached/' + id,
method: 'delete'
})
}

@ -92,4 +92,12 @@ export function getProjectOptionList(checkType) {
url: '/quality/staticTable/getProjectOptionList/' + checkType,
method: 'get'
});
}
export function getDLTableCPKInfo(query) {
return request({
url: '/quality/staticTable/getDLTableCPKInfo',
method: 'get',
params: query
});
}

@ -0,0 +1,102 @@
import request from '@/utils/request'
// 查询包材出库单列表
export function listOutorder(query) {
return request({
url: '/wms/outorder/list',
method: 'get',
params: query
});
}
// 查询包材出库单列表
export function listOutorderZU(query) {
return request({
url: '/wms/outorder/listZUFC',
method: 'post',
params: query
});
}
// 查询包材出库单详细
export function getOutorder(ID) {
return request({
url: '/wms/outorder/' + ID,
method: 'get'
});
}
// 新增包材出库单
export function addOutorder(data) {
return request({
url: '/wms/outorder',
method: 'post',
data: data
});
}
// 用于出库任务页面--查询
export function getOutorderOUT(data) {
return request({
url: '/wms/order/PurchaseOrderOutboundPdafc',
method: 'post',
data: data
});
}
// 修改包材出库单
export function updateOutorder(data) {
return request({
url: '/wms/outorder',
method: 'put',
data: data
});
}
// 删除包材出库单
export function delOutorder(ID) {
return request({
url: '/wms/outorder/' + ID,
method: 'delete'
});
}
// 仓库列表
export function getlistCK(data) {
return request({
url: '/wms/order/listCK',
method: 'post',
data: data
});
}
// 列表
export function PurchaseOrderOutboundPda(data) {
return request({
url: '/wms/order/PurchaseOrderOutboundPdafc',
method: 'post',
data: data
});
}
// 新增
export function addPurchaseOrderOutbound(data) {
return request({
url: '/wms/order/addPurchaseOrderOutboundfc',
method: 'post',
data: data
});
}
// 根据工厂获取产线
export function getDictData(data) {
return request({
url: '/mes/mesborad/getLineList',
method: 'get',
params: data
});
}
// 新增
export function OutboundPostingSAP(data) {
return request({
url: '/wms/order/OutboundPostingSAPfc',
method: 'post',
data: data
});
}

@ -313,14 +313,14 @@ export default {
setInterval(() => this.getAlarmData(), 1000 * 60);
this.poolNameList = JSON.parse(localStorage.getItem("POOL_NAME_LIST"));
this.poolName = localStorage.getItem("USER_POOL_NAME_CURRENT");
/**
//
this.getUnReadList();
//
this.timer = setInterval(() => {
setTimeout(this.getUnReadList(), 30000);
}, 30000);
**/
},
components: {
Breadcrumb,

@ -105,7 +105,9 @@ service.interceptors.response.use(res => {
} else if (code === 601) {
Message({ message: msg, type: 'warning' })
return Promise.reject('error')
} else if (code !== 200) {
} else if (code === 642) {
return res.data
}else if (code !== 200) {
Notification.error({ title: msg })
return Promise.reject('error')
} else {

@ -60,7 +60,7 @@
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="产线" prop="planProdLine">
<el-form-item label="产线" prop="planProdLine">
<el-input
v-model="queryParams.planProdLine"
placeholder="请输入产线"
@ -84,10 +84,10 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="巡检人" prop="planPerson">
<el-form-item label="巡检人工号" prop="planPerson">
<el-input
v-model="queryParams.planPerson"
placeholder="请输入巡检人"
placeholder="请输入巡检人工号"
clearable
@keyup.enter.native="handleQuery"
/>
@ -330,7 +330,7 @@
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type="primary"
@ -463,7 +463,12 @@
prop="workCenterName"
/>
<el-table-column
width="100"
label="产线"
align="center"
prop="planProdLine"
/>
<el-table-column
width="150"
label="设备编码"
align="center"
prop="equipmentCode"
@ -486,13 +491,8 @@
align="center"
prop="orderEnd"
/>
<el-table-column label="巡检人" align="center" prop="planPerson" />
<el-table-column
v-if="false"
label="产线"
align="center"
prop="planProdLine"
/>
<el-table-column label="巡检人工号" align="center" prop="planPerson" width="100"/>
<el-table-column label="巡检人姓名" align="center" prop="planPersonName" width="100"/>
<el-table-column label="循环周期" align="center" prop="planLoop" />
<el-table-column
width="120"
@ -799,9 +799,12 @@
<el-descriptions-item v-if="false" label="执行结束时间">{{
workVO.order.orderEnd
}}</el-descriptions-item>
<el-descriptions-item label="巡检人">{{
<el-descriptions-item label="巡检人工号">{{
workVO.order.planPerson
}}</el-descriptions-item>
<el-descriptions-item label="巡检人姓名">{{
workVO.order.planPersonName
}}</el-descriptions-item>
<el-descriptions-item label="报修单号">{{
workVO.order.repairCode
}}</el-descriptions-item>
@ -924,6 +927,7 @@ export default {
orderStart: null,
orderEnd: null,
planPerson: null,
planPersonName: null,
},
equ: {
equipmentCode: null,
@ -1013,6 +1017,7 @@ export default {
orderStatus: null,
orderCost: null,
planPerson: null,
planPersonName: null,
orderCostTime: null,
orderSignPerson: null,
factoryCode: null,
@ -1101,6 +1106,7 @@ export default {
orderStatus: null,
orderCost: null,
planPerson: null,
planPersonName: null,
orderCostTime: null,
orderSignPerson: null,
factoryCode: null,

@ -442,7 +442,25 @@
<!-- 选择设备巡检项目 -->
<div class="my-step-body" v-if="inspectionPlanStep==1">
<el-row>
<el-col class="my-step-mar" :span="1.5">
<el-col class="my-step-mar" :span="24">
<el-input
placeholder="请输入设备编码,按搜索按钮查询"
v-model="equipmentItemSearch"
class="input-with-select"
style="width: 400px"
>
<el-button
slot="append"
icon="el-icon-search"
@click="equipmentItemQuery"
></el-button>
</el-input>
<el-button
type="primary"
plain
size="mini"
@click="equipmentItemReset"
>重置</el-button>
<el-button
type="primary"
plain
@ -663,6 +681,8 @@ export default {
dicts: ['device_loop_type', 'sys_normal_disable'],
data() {
return {
equipmentItemSearch: '',//
equipmentItemList:[],
// 线
groupLineList:[],
//
@ -801,9 +821,20 @@ export default {
this.getList();
},
methods: {
equipmentItemQuery() {
const tableData = this.form.equipmentItem;
this.form.equipmentItem = this.equipmentItemList;//
this.form.equipmentItem = tableData.filter(
(data) => !this.equipmentItemSearch || data.equipmentCode.toLowerCase().includes(this.equipmentItemSearch.toLowerCase())
)
},
equipmentItemReset() {
this.form.equipmentItem = this.equipmentItemList;
this.equipmentItemSearch = '';
},
//
changeCenter() {
},
//
changeArray(e) {
@ -1007,6 +1038,7 @@ export default {
if (this.form.equipmentItem[i].equipmentCode == e.equipmentCode) {
this.form.equipmentItem.splice(i, 1);
}
this.equipmentItemList = this.form.equipmentItem;//equipmentItemList
}
},
//
@ -1036,7 +1068,7 @@ export default {
for (let i = 0; i < response.data.length; i++) {
this.form.equipmentItem.push(response.data[i]);
}
this.equipmentItemList = this.form.equipmentItem;//equipmentItemList
this.selectEqu = false;
})
@ -1241,7 +1273,11 @@ export default {
// this.form.equipmentItem[i].itemTempName = this.form.equipmentItem[i].itemTempName + this.form.equipmentItem[i].equPlanDetailList[j].itemName + ","
// }
// }
//
this.equipmentItemList = [];
for (let i = 0; i < response.data.equipmentItem.length; i++) {
this.equipmentItemList.push(response.data.equipmentItem[i]);
};
this.loading = false;
this.open = true;
this.title = "修改计划";
@ -1252,6 +1288,7 @@ export default {
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
this.form.equipmentItem = this.equipmentItemList;//
if (this.selectPersonList.length == 0) {
this.$message({
message: "请请选择人员!",

@ -54,7 +54,7 @@
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="产线" prop="planProdLine">
<el-form-item label="产线" prop="planProdLine">
<el-input
v-model="queryParams.planProdLine"
placeholder="请输入产线"
@ -126,10 +126,18 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="巡检人" prop="planPerson">
<el-form-item label="巡检人工号" prop="planPerson">
<el-input
v-model="queryParams.planPerson"
placeholder="请输入巡检人"
placeholder="请输入巡检人工号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="巡检人姓名" prop="planPersonName">
<el-input
v-model="queryParams.planPersonName"
placeholder="请输入巡检人姓名"
clearable
@keyup.enter.native="handleQuery"
/>
@ -435,7 +443,12 @@
prop="workCenterName"
/>
<el-table-column
width="100"
label="产线"
align="center"
prop="planProdLine"
/>
<el-table-column
width="150"
label="设备编码"
align="center"
prop="equipmentCode"
@ -458,13 +471,8 @@
}}</span>
</template>
</el-table-column>
<el-table-column label="巡检人" align="center" prop="planPerson" />
<el-table-column
v-if="false"
label="产线"
align="center"
prop="planProdLine"
/>
<el-table-column label="巡检人工号" align="center" prop="planPerson" width="100"/>
<el-table-column label="巡检人姓名" align="center" prop="planPersonName" width="100"/>
<el-table-column label="循环周期" align="center" prop="planLoopType" />
<el-table-column
width="120"
@ -665,9 +673,12 @@
<el-descriptions-item v-if="false" label="执行结束时间">{{
workVO.order.orderEnd
}}</el-descriptions-item>
<el-descriptions-item label="巡检人">{{
<el-descriptions-item label="巡检人工号">{{
workVO.order.planPerson
}}</el-descriptions-item>
<el-descriptions-item label="巡检人姓名">{{
workVO.order.planPersonName
}}</el-descriptions-item>
<el-descriptions-item label="报修单号">{{
workVO.order.repairCode
}}</el-descriptions-item>
@ -826,6 +837,7 @@ export default {
orderStart: null,
orderEnd: null,
planPerson: null,
planPersonName: null,
},
equ: {
equipmentCode: null,
@ -879,6 +891,7 @@ export default {
orderStatus: "1",
orderCost: null,
planPerson: null,
planPersonName: null,
orderCostTime: null,
orderSignPerson: null,
factoryCode: null,
@ -968,6 +981,7 @@ export default {
orderStatus: "1",
orderCost: null,
planPerson: null,
planPersonName: null,
orderCostTime: null,
orderSignPerson: null,
factoryCode: null,

@ -84,7 +84,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item v-if="false" label="产线" prop="planProdLine">
<el-form-item label="产线" prop="planProdLine">
<el-input
v-model="queryParams.planProdLine"
placeholder="请输入产线"
@ -162,10 +162,18 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="保养人" prop="planPerson">
<el-form-item label="保养人工号" prop="planPerson">
<el-input
v-model="queryParams.planPerson"
placeholder="请输入保养人"
placeholder="请输入保养人工号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="保养人姓名" prop="planPersonName">
<el-input
v-model="queryParams.planPersonName"
placeholder="请输入保养人姓名"
clearable
@keyup.enter.native="handleQuery"
/>
@ -468,7 +476,12 @@
prop="workCenterName"
/>
<el-table-column
width="100"
label="产线"
align="center"
prop="planProdLine"
/>
<el-table-column
width="150"
label="设备编码"
align="center"
prop="equipmentCode"
@ -503,13 +516,8 @@
}}</span>
</template>
</el-table-column>
<el-table-column label="保养人" align="center" prop="planPerson" />
<el-table-column
v-if="false"
label="产线"
align="center"
prop="planProdLine"
/>
<el-table-column label="保养人工号" align="center" prop="planPerson" width="100"/>
<el-table-column label="保养人姓名" align="center" prop="planPersonName" width="100"/>
<el-table-column label="循环周期" align="center" prop="planLoop" />
<el-table-column
width="120"
@ -715,9 +723,12 @@
<el-descriptions-item label="是否停机保养">{{
workVO.order.shutDown
}}</el-descriptions-item>
<el-descriptions-item label="保养人">{{
<el-descriptions-item label="保养人工号">{{
workVO.order.planPerson
}}</el-descriptions-item>
<el-descriptions-item label="保养人姓名">{{
workVO.order.planPersonName
}}</el-descriptions-item>
<!-- <el-descriptions-item label="报修单号">{{ workVO.order.repairCode }}</el-descriptions-item>-->
<el-descriptions-item label="保养图片">
<div class="demo-image__lazy">
@ -922,6 +933,7 @@ export default {
orderStart: null,
orderEnd: null,
planPerson: null,
planPersonName: null,
upkeepPictures: [],
},
equ: {
@ -978,6 +990,7 @@ export default {
orderStatus: "1",
orderCost: null,
planPerson: null,
planPersonName: null,
orderCostTime: null,
orderSignPerson: null,
factoryCode: null,
@ -1083,6 +1096,7 @@ export default {
orderStatus: "1",
orderCost: null,
planPerson: null,
planPersonName: null,
orderCostTime: null,
orderSignPerson: null,
factoryCode: null,

@ -52,10 +52,10 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="维修人员" prop="workPerson">
<el-form-item label="维修人员姓名" prop="workPersonName">
<el-input
v-model="queryParams.workPerson"
placeholder="请输入维修人员"
v-model="queryParams.workPersonName"
placeholder="请输入维修人员姓名"
clearable
style="width: 200px"
@keyup.enter.native="handleQuery"
@ -352,7 +352,8 @@
<span>{{ parseTime(scope.row.workPlanDownTime) }}</span>
</template>
</el-table-column>
<el-table-column label="维修人员" align="center" prop="workPerson" />
<el-table-column label="维修人员工号" align="center" prop="workPerson" width="100"/>
<el-table-column label="维修人员姓名" align="center" prop="workPersonName" width="100"/>
<el-table-column
label="维修组编码"
align="center"
@ -525,10 +526,10 @@
>
</el-date-picker>
</el-form-item>
<el-form-item label="维修人" prop="workPerson">
<el-form-item label="维修人工号" prop="workPerson">
<el-input
v-model="form.workPerson"
placeholder="请选择维修人"
placeholder="请选择维修人工号"
style="width: 280px"
>
<el-button
@ -543,6 +544,14 @@
>
</ItemSelectPerson>
</el-form-item>
<el-form-item label="维修人姓名" prop="workPersonName">
<el-input
v-model="form.workPersonName"
placeholder="请输入维修人姓名"
style="width: 280px"
disabled
/>
</el-form-item>
<el-form-item label="维修组" prop="workTeam">
<el-select
v-model="form.workTeam"
@ -642,10 +651,10 @@
>
</el-date-picker>
</el-form-item>
<el-form-item label="维修人" prop="workPerson">
<el-form-item label="维修人工号" prop="workPerson">
<el-input
v-model="form.workPerson"
placeholder="请选择维修人"
placeholder="请选择维修人工号"
style="width: 250px"
>
<el-button
@ -660,6 +669,14 @@
>
</ItemSelectPerson>
</el-form-item>
<el-form-item label="维修人姓名" prop="workPersonName">
<el-input
v-model="form.workPersonName"
placeholder="请输入维修人姓名"
style="width: 250px"
disabled
/>
</el-form-item>
<el-form-item label="维修组" prop="workTeam">
<el-select
v-model="form.workTeam"
@ -1034,12 +1051,12 @@
</el-tab-pane>
<el-tab-pane label="填写维修记录">
<el-row :gutter="10" class="mb8">
<el-row>
<el-col :span="8">
<el-form-item label="维修人" prop="workPerson" label-width="120px">
<el-form-item label="维修人工号" prop="workPerson" label-width="120px">
<el-input
v-model="form.workPerson"
placeholder="请选择维修人"
placeholder="请选择维修人工号"
style="width: 250px"
>
<el-button
@ -1055,6 +1072,16 @@
</ItemSelectPerson>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="维修人姓名" prop="workPersonName" label-width="120px">
<el-input
v-model="form.workPersonName"
style="width: 250px"
disabled
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="维修状态" prop="workStatus" label-width="120px">
<el-select
@ -1071,19 +1098,8 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="维修费用" prop="workCost" label-width="120px">
<el-input-number
:min="0"
:step="1"
v-model="form.workCost"
style="width: 250px"
/>
<span> </span>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-row>
<el-col :span="8">
<el-form-item label="开始时间" prop="workStartTime" label-width="120px">
<el-date-picker
@ -1121,7 +1137,7 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-row>
<el-col :span="8">
<el-form-item label="故障报修时间" prop="orderBreakdownTime" v-if = "form.faultStartTime == null" label-width="120px">
<el-date-picker
@ -1133,6 +1149,8 @@
disabled
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="故障开始时间" prop="faultStartTime" v-if = "form.faultStartTime != null" label-width="120px">
<el-date-picker
clearable
@ -1154,8 +1172,6 @@
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="是否停机" prop="workDownMachine" abel-width="120px">
<el-radio-group v-model="form.workDownMachine">
@ -1164,6 +1180,8 @@
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- <el-col :span="8">
<el-form-item label="故障类型" prop="faultType">
<el-cascader
@ -1174,8 +1192,6 @@
></el-cascader>
</el-form-item>
</el-col> -->
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="故障原因" prop="workReason" label-width="120px">
<el-select
@ -1218,6 +1234,17 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="维修费用" prop="workCost" label-width="120px">
<el-input-number
:min="0"
:step="1"
v-model="form.workCost"
style="width: 250px"
/>
<span> </span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
@ -1455,7 +1482,7 @@
<el-tab-pane label="查看维修记录">
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="维修人" prop="workPerson" label-width="120px">
<el-form-item label="维修人工号" prop="workPerson" label-width="120px">
<el-input
v-model="form.workPerson"
style="width: 195px"
@ -1464,6 +1491,16 @@
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="维修人姓名" prop="workPersonName" label-width="120px">
<el-input
v-model="form.workPersonName"
style="width: 195px"
disabled
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="维修状态" prop="workStatus" label-width="120px">
<el-select
@ -1480,18 +1517,6 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="维修费用" prop="workCost" label-width="120px">
<el-input-number
:min="0"
:step="1"
disabled
v-model="form.workCost"
style="width: 175px"
/>
<span> </span>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="8">
@ -1564,8 +1589,6 @@
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="是否停机" prop="workDownMachine" label-width="120px">
<el-radio-group v-model="form.workDownMachine" disabled>
@ -1627,6 +1650,18 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="维修费用" prop="workCost" label-width="120px">
<el-input-number
:min="0"
:step="1"
disabled
v-model="form.workCost"
style="width: 175px"
/>
<span> </span>
</el-form-item>
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane label="查看备件申领记录">
@ -1774,6 +1809,7 @@ export default {
workPlanDownTime: null,
orderRelevance: null,
workPerson: null,
workPersonName: null,
workTeam: null,
workOutsource: null,
workDownMachine: null,
@ -2084,6 +2120,7 @@ export default {
workPlanDownTime: null,
orderRelevance: null,
workPerson: null,
workPersonName: null,
workTeam: null,
workOutsource: null,
workDownMachine: null,
@ -2410,6 +2447,7 @@ export default {
onItemSelectedPerson(obj) {
console.log(obj);
this.form.workPerson = obj[0].userName;
this.form.workPersonName = obj[0].nickName;
},
//
onItemSelectedEquipment(obj) {

@ -52,10 +52,10 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="维修人员" prop="workPerson">
<el-form-item label="维修人员姓名" prop="workPersonName">
<el-input
v-model="queryParams.workPerson"
placeholder="请输入维修人"
v-model="queryParams.workPersonName"
placeholder="请输入维修人姓名"
clearable
style="width: 200px"
@keyup.enter.native="handleQuery"
@ -261,7 +261,8 @@
<span>{{ parseTime(scope.row.workPlanDownTime) }}</span>
</template>
</el-table-column>
<el-table-column label="维修人员" align="center" prop="workPerson" />
<el-table-column label="维修人工号" align="center" prop="workPerson" width="100"/>
<el-table-column label="维修人姓名" align="center" prop="workPersonName" width="100"/>
<el-table-column
label="维修组编码"
align="center"
@ -454,8 +455,8 @@
form.actualDownEndTime
}}</el-descriptions-item>
<el-descriptions-item label="维修人(负责人)">{{
form.workPerson
<el-descriptions-item label="维修人姓名(负责人)">{{
form.workPersonName
}}</el-descriptions-item>
<el-descriptions-item label="维修人联系方式">{{
form.workConnection
@ -668,6 +669,7 @@ export default {
workPlanDownTime: null,
orderRelevance: null,
workPerson: null,
workPersonName: null,
workTeam: null,
workOutsource: null,
workDownMachine: null,
@ -780,6 +782,7 @@ export default {
workPlanDownTime: null,
orderRelevance: null,
workPerson: null,
workPersonName: null,
workTeam: null,
workOutsource: null,
workDownMachine: null,

@ -161,7 +161,7 @@
label="备品备件号"
align="center"
prop="materialCode"
width="120"
width="150"
/>
<el-table-column
label="备品备件名称"
@ -180,7 +180,7 @@
label="设备厂家"
align="center"
prop="spareSupplier"
width="200"
width="250"
/>
<el-table-column
label="规格型号"
@ -822,6 +822,7 @@ export default {
ownEquipmentName: null,
ownEquipmentCode: null,
unitPrice: null,
procurementMethod: null,
},
options: [
{
@ -837,8 +838,17 @@ export default {
form: {},
//
rules: {
storageId: [
{ required: true, message: "唯一序列不能为空", trigger: "blur" },
materialCode: [
{ required: true, message: "备品备件编码不能为空", trigger: "blur" },
],
materialDesc: [
{ required: true, message: "备品备件名称不能为空", trigger: "blur" },
],
amount: [
{ required: true, message: "库存数量不能为空", trigger: "blur" },
],
procurementMethod: [
{ required: true, message: "采购方式不能为空", trigger: "blur" },
],
},
};
@ -914,6 +924,7 @@ export default {
spareInventoryFloor: null,
spareInventoryUpper: null,
unitPrice: null,
procurementMethod: null,
};
this.resetForm("form");
},
@ -962,9 +973,13 @@ export default {
});
} else {
addSparePartsLedger(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
if(response.code == 500){
this.$modal.msg(response.msg);
}else{
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
}
});
}
}

@ -1,446 +1,518 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="98px">
<el-form-item label="仓库编码" prop="whCode">
<el-input
v-model="queryParams.whCode"
placeholder="请输入仓库编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="库区编码" prop="waCode">
<el-input
v-model="queryParams.waCode"
placeholder="请输入库区编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="库位编码" prop="wlCode">
<el-input
v-model="queryParams.wlCode"
placeholder="请输入库位编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="入库单号" prop="orderNo">
<el-input
v-model="queryParams.orderNo"
placeholder="请输入入库单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="备品备件号" prop="materialCode">
<el-input
v-model="queryParams.materialCode"
placeholder="请输入备品备件号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="备品备件描述" prop="materialDesc">
<el-input
v-model="queryParams.materialDesc"
placeholder="请输入备品备件描述"
clearable
@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>
<div class="app-container">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="98px"
>
<el-form-item label="出入库类型" prop="inOutType">
<el-select
v-model="queryParams.inOutType"
placeholder="请选择出入库类型"
@change="$forceUpdate()"
clearable
style="width: 200px"
@keyup.enter.native="handleQuery"
>
<el-option
v-for="dict in dict.type.in_out_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="出入库单号" prop="orderNo">
<el-input
v-model="queryParams.orderNo"
placeholder="请输入出入库单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="备品备件号" prop="spareCode">
<el-input
v-model="queryParams.spareCode"
placeholder="请输入备品备件号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="备品备件名称" prop="spareName">
<el-input
v-model="queryParams.spareName"
placeholder="请输入备品备件名称"
clearable
@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
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['device:sparepartsInOutStorage:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['device:sparepartsInOutStorage:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['device:sparepartsInOutStorage:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['device:sparepartsInOutStorage:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['device:sparepartsInOutStorage:add']"
>新增</el-button
>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['device:sparepartsInOutStorage:edit']"
>修改</el-button
>
</el-col> -->
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['device:sparepartsInOutStorage:remove']"
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['device:sparepartsInOutStorage:export']"
>导出</el-button
>
</el-col>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="sparepartsInOutStorageList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- 序号 -->
<el-table-column type="index" width="90" align="center" :index="indexMethod" label="序号"/>
<el-table-column label="仓库编码" align="center" prop="whCode" />
<el-table-column label="库区编码" align="center" prop="waCode" />
<el-table-column label="库位编码" align="center" prop="wlCode" width="100"/>
<el-table-column label="入库单号" align="center" prop="orderNo" width="100"/>
<el-table-column label="采购订单号" align="center" prop="poNo" width="100"/>
<el-table-column label="采购订单行项目" align="center" prop="poLine" width="120"/>
<el-table-column label="备品备件号" align="center" prop="materialCode" width="120"/>
<el-table-column label="备品备件描述" align="center" prop="materialDesc" width="180"/>
<el-table-column label="数量" align="center" prop="amount" />
<el-table-column label="创建时间" align="center" prop="gmtCreate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.gmtCreate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="最后更新人" align="center" prop="lastModifiedBy" width="180"/>
<el-table-column label="最后更新时间" align="center" prop="gmtModified" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.gmtModified, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="有效标记" align="center" prop="activeFlag" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['device:sparepartsInOutStorage:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['device:sparepartsInOutStorage:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<el-table
v-loading="loading"
:data="sparepartsInOutStorageList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<!-- 序号 -->
<el-table-column
type="index"
width="90"
align="center"
:index="indexMethod"
label="序号"
/>
<el-table-column
label="出入库类型"
align="center"
prop="inOutType"
width="100"
>
<template slot-scope="scope">
<dict-tag
:options="dict.type.in_out_type"
:value="scope.row.inOutType"
/>
</template>
</el-table-column>
<el-table-column
label="出入库单号"
align="center"
prop="orderNo"
width="200"
/>
<el-table-column
label="备品备件号"
align="center"
prop="spareCode"
width="180"
/>
<el-table-column
label="备品备件描述"
align="center"
prop="spareName"
width="180"
/>
<el-table-column label="数量" align="center" prop="amount" />
<el-table-column
label="出入库时间"
align="center"
prop="createTime"
width="180"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{i}:{s}") }}</span>
</template>
</el-table-column>
<el-table-column
label="出入库人员"
align="center"
prop="createBy"
width="180"
/>
<el-table-column
label="最后更新人"
align="center"
prop="updateBy"
width="180"
/>
<el-table-column
label="最后更新时间"
align="center"
prop="updateTime"
width="180"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.updateTime, "{y}-{m}-{d} {h}:{i}:{s}") }}</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"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['device:sparepartsInOutStorage:edit']"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['device:sparepartsInOutStorage:remove']"
>删除</el-button
>
</template>
</el-table-column> -->
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改备品备件出入库对话框 -->
<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="仓库编码" prop="whCode">
<el-input v-model="form.whCode" placeholder="请输入仓库编码" />
</el-form-item>
<el-form-item label="库区编码" prop="waCode">
<el-input v-model="form.waCode" placeholder="请输入库区编码" />
</el-form-item>
<el-form-item label="库位编码" prop="wlCode">
<el-input v-model="form.wlCode" placeholder="请输入库位编码" />
</el-form-item>
<el-form-item label="入库单号" prop="orderNo">
<el-input v-model="form.orderNo" placeholder="请输入入库单号" />
</el-form-item>
<el-form-item label="采购订单号" prop="poNo">
<el-input v-model="form.poNo" placeholder="请输入采购订单号" />
</el-form-item>
<el-form-item label="采购订单行项目" prop="poLine">
<el-input v-model="form.poLine" placeholder="请输入采购订单行项目" />
</el-form-item>
<el-form-item label="物料号" prop="materialCode">
<el-input v-model="form.materialCode" placeholder="请输入物料号" />
</el-form-item>
<el-form-item label="物料描述" prop="materialDesc">
<el-input v-model="form.materialDesc" placeholder="请输入物料描述" />
</el-form-item>
<el-form-item label="sn/LPN" prop="sn">
<el-input v-model="form.sn" placeholder="请输入sn/LPN" />
</el-form-item>
<el-form-item label="数量" prop="amount">
<el-input v-model="form.amount" placeholder="请输入数量" />
</el-form-item>
<el-form-item label="备用1" prop="userDefined1">
<el-input v-model="form.userDefined1" placeholder="请输入备用1" />
</el-form-item>
<el-form-item label="备用2" prop="userDefined2">
<el-input v-model="form.userDefined2" placeholder="请输入备用2" />
</el-form-item>
<el-form-item label="备用3" prop="userDefined3">
<el-input v-model="form.userDefined3" placeholder="请输入备用3" />
</el-form-item>
<el-form-item label="备用4" prop="userDefined4">
<el-input v-model="form.userDefined4" placeholder="请输入备用4" />
</el-form-item>
<el-form-item label="备用5" prop="userDefined5">
<el-input v-model="form.userDefined5" placeholder="请输入备用5" />
</el-form-item>
<el-form-item label="备用6" prop="userDefined6">
<el-input v-model="form.userDefined6" placeholder="请输入备用6" />
</el-form-item>
<el-form-item label="备用7" prop="userDefined7">
<el-input v-model="form.userDefined7" placeholder="请输入备用7" />
</el-form-item>
<el-form-item label="备用8" prop="userDefined8">
<el-input v-model="form.userDefined8" placeholder="请输入备用8" />
</el-form-item>
<el-form-item label="备用9" prop="userDefined9">
<el-input v-model="form.userDefined9" placeholder="请输入备用9" />
</el-form-item>
<el-form-item label="备用10" prop="userDefined10">
<el-input v-model="form.userDefined10" placeholder="请输入备用10" />
</el-form-item>
<el-form-item label="创建时间" prop="gmtCreate">
<el-date-picker clearable
v-model="form.gmtCreate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择创建时间">
</el-date-picker>
</el-form-item>
<el-form-item label="最后更新人" prop="lastModifiedBy">
<el-input v-model="form.lastModifiedBy" placeholder="请输入最后更新人" />
</el-form-item>
<el-form-item label="最后更新时间" prop="gmtModified">
<el-date-picker clearable
v-model="form.gmtModified"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择最后更新时间">
</el-date-picker>
</el-form-item>
<el-form-item label="有效标记" prop="activeFlag">
<el-input v-model="form.activeFlag" placeholder="请输入有效标记" />
</el-form-item>
<el-form-item label="${comment}" prop="factoryCode">
<el-input v-model="form.factoryCode" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="${comment}" prop="sapFactoryCode">
<el-input v-model="form.sapFactoryCode" placeholder="请输入${comment}" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
<!-- 添加或修改备品备件出入库对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<!-- <el-form-item label="出入库类型" prop="inOutType">
<el-input v-model="form.inOutType" placeholder="请输入出入库类型" style="width: 280px"/>
</el-form-item> -->
<el-form-item label="出入库类型" prop="inOutType">
<el-select
v-model="form.inOutType"
placeholder="请输入出入库类型"
@change="$forceUpdate()"
clearable
style="width: 280px"
@keyup.enter.native="handleQuery"
>
<el-option
v-for="dict in dict.type.in_out_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="出入库单号" prop="orderNo" v-if="form.id != null">
<el-input
v-model="form.orderNo"
placeholder="请输入入库单号"
style="width: 280px"
disabled
/>
</el-form-item>
<el-form-item label="备品备件编码" prop="spareCode">
<el-input
v-model="form.spareCode"
placeholder="请选择备品备件编码"
style="width: 280px"
>
<el-button
slot="append"
@click="handleSelectSparePartsLedger"
icon="el-icon-search"
></el-button>
</el-input>
<ItemSelectSparePartsLedger
ref="itemSelectSparePartsLedger"
@onSelected="onItemSelectedSparePartsLedger"
>
</ItemSelectSparePartsLedger>
</el-form-item>
<el-form-item label="备品备件名称" prop="spareName">
<el-input v-model="form.spareName" style="width: 280px" disabled />
</el-form-item>
<!-- <el-form-item label="备品备件号" prop="spareCode">
<el-input v-model="form.spareCode" placeholder="请输入备品备件号" />
</el-form-item>
<el-form-item label="备品备件描述" prop="spareName">
<el-input v-model="form.spareName" placeholder="请输入备品备件描述" />
</el-form-item> -->
<!-- <el-form-item label="数量" prop="amount">
<el-input v-model="form.amount" placeholder="请输入数量" style="width: 280px"/>
</el-form-item> -->
<el-col :span="12">
<el-form-item label="数量" prop="amount">
<el-input-number
:min="0"
:step="1"
v-model="form.amount"
placeholder="请输入数量"
style="width: 280px"
/>
</el-form-item>
</el-col>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listSparepartsInOutStorage, getSparepartsInOutStorage, delSparepartsInOutStorage, addSparepartsInOutStorage, updateSparepartsInOutStorage } from "@/api/device/sparepartsInOutStorage";
import {
listSparepartsInOutStorage,
getSparepartsInOutStorage,
delSparepartsInOutStorage,
addSparepartsInOutStorage,
updateSparepartsInOutStorage,
} from "@/api/device/sparepartsInOutStorage";
import ItemSelectSparePartsLedger from "./selectSparePartsLedger.vue";
export default {
name: "SparepartsInOutStorage",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
sparepartsInOutStorageList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
whCode: null,
waCode: null,
wlCode: null,
orderNo: null,
poNo: null,
poLine: null,
materialCode: null,
materialDesc: null,
sn: null,
amount: null,
userDefined1: null,
userDefined2: null,
userDefined3: null,
userDefined4: null,
userDefined5: null,
userDefined6: null,
userDefined7: null,
userDefined8: null,
userDefined9: null,
userDefined10: null,
gmtCreate: null,
lastModifiedBy: null,
gmtModified: null,
activeFlag: null,
factoryCode: null,
sapFactoryCode: null
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
//
name: "SparepartsInOutStorage",
components: { ItemSelectSparePartsLedger },
dicts: ["in_out_type"],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
sparepartsInOutStorageList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
id: null,
inOutType: null,
orderNo: null,
spareCode: null,
spareName: null,
amount: null,
attr1: null,
attr2: null,
attr3: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
delFlag: null,
factoryCode: null,
},
//
form: {},
//
rules: {
inOutType: [
{ required: true, message: "出入库类型不能为空", trigger: "blur" },
],
spareCode: [
{ required: true, message: "备件名不能为空", trigger: "blur" },
],
spareName: [
{ required: true, message: "备件名称不能为空", trigger: "blur" },
],
amount: [{ required: true, message: "数量不能为空", trigger: "blur" }],
},
};
},
created() {
this.getList();
},
methods: {
//
indexMethod(index) {
return index + 1;
},
/** 查询备品备件出入库列表 */
getList() {
this.loading = true;
listSparepartsInOutStorage(this.queryParams).then(response => {
this.sparepartsInOutStorageList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
rawOrderInSnId: null,
whCode: null,
waCode: null,
wlCode: null,
orderNo: null,
poNo: null,
poLine: null,
materialCode: null,
materialDesc: null,
sn: null,
amount: null,
userDefined1: null,
userDefined2: null,
userDefined3: null,
userDefined4: null,
userDefined5: null,
userDefined6: null,
userDefined7: null,
userDefined8: null,
userDefined9: null,
userDefined10: null,
createBy: null,
gmtCreate: null,
lastModifiedBy: null,
gmtModified: null,
activeFlag: null,
factoryCode: null,
sapFactoryCode: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.rawOrderInSnId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加备品备件出入库";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const rawOrderInSnId = row.rawOrderInSnId || this.ids
getSparepartsInOutStorage(rawOrderInSnId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改备品备件出入库";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.rawOrderInSnId != null) {
updateSparepartsInOutStorage(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addSparepartsInOutStorage(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const rawOrderInSnIds = row.rawOrderInSnId || this.ids;
this.$modal.confirm('是否确认删除备品备件出入库编号为"' + rawOrderInSnIds + '"的数据项?').then(function() {
return delSparepartsInOutStorage(rawOrderInSnIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('device/sparepartsInOutStorage/export', {
...this.queryParams
}, `sparepartsInOutStorage_${new Date().getTime()}.xlsx`)
}
}
//
handleSelectSparePartsLedger() {
this.$refs.itemSelectSparePartsLedger.showFlag = true;
},
//
onItemSelectedSparePartsLedger(obj) {
this.form.storageId = obj[0].storageId;
this.form.spareCode = obj[0].materialCode;
this.form.spareName = obj[0].materialDesc;
},
/** 查询备品备件出入库列表 */
getList() {
this.loading = true;
listSparepartsInOutStorage(this.queryParams).then((response) => {
this.sparepartsInOutStorageList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
inOutType: null,
orderNo: null,
spareCode: null,
spareName: null,
amount: null,
attr1: null,
attr2: null,
attr3: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
delFlag: null,
factoryCode: null,
storageId: null, //ID
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加备品备件出入库";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getSparepartsInOutStorage(id).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改备品备件出入库";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != null) {
updateSparepartsInOutStorage(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addSparepartsInOutStorage(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal
.confirm('是否确认删除备品备件出入库编号为"' + ids + '"的数据项?')
.then(function () {
return delSparepartsInOutStorage(ids);
})
.then((response) => {
if(response.code == 500){
this.$modal.msgSuccess(response.msg);
}
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download(
"device/sparepartsInOutStorage/export",
{
...this.queryParams,
},
`sparepartsInOutStorage_${new Date().getTime()}.xlsx`
);
},
},
};
</script>

@ -0,0 +1,332 @@
<template>
<el-dialog
title="备品备件选择"
v-if="showFlag"
:visible.sync="showFlag"
:modal="false"
width="1100px"
center
:before-close="cancel"
>
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="98px"
>
<el-form-item label="备品备件号" prop="materialCode">
<el-input
v-model="queryParams.materialCode"
placeholder="请输入备品备件号"
clearable
@keyup.enter.native="handleQuery"
style="width: 150px"
/>
</el-form-item>
<el-form-item label="备件类型" prop="spareType">
<el-select
v-model="queryParams.spareType"
placeholder="请选择备件类型"
@keyup.enter.native="handleQuery"
@change="$forceUpdate()"
clearable
style="width: 150px"
>
<el-option
v-for="item in options"
:key="item.spareType"
:label="item.label"
:value="item.spareType"
></el-option>
</el-select>
</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-table
v-loading="loading"
:data="sparePartsLedgerList"
@selection-change="handleSelectionChange"
ref="multipleTable"
>
<el-table-column type="selection" width="55" align="center" />
<!-- 序号 -->
<el-table-column
type="index"
width="90"
align="center"
:index="indexMethod"
label="序号"
/>
<el-table-column
label="备品备件号"
align="center"
prop="materialCode"
width="120"
/>
<el-table-column
label="备品备件描述"
align="center"
prop="materialDesc"
width="120"
/>
<el-table-column
label="备品备件类型"
align="center"
prop="spareType"
width="120"
/>
<el-table-column label="规格型号" align="center" prop="spareMode" />
<el-table-column label="库存总数量" align="center" prop="amount" />
<el-table-column
label="库存可用数量"
align="center"
prop="availableQuantity"
>
<template slot-scope="scope">
<span>{{ scope.row.amount - scope.row.storageAmount }}</span>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" :disabled="multiple"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</template>
<script>
import {
listSparePartsLedger,
getSparePartsLedger,
delSparePartsLedger,
addSparePartsLedger,
updateSparePartsLedger,
} from "@/api/device/sparePartsLedger";
export default {
name: "SparePartsLedger",
data() {
return {
//
showFlag: false,
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
sparePartsLedgerList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
storageId: null,
whCode: null,
regionCode: null,
waCode: null,
storageType: null,
wlCode: null,
materialCode: null,
materialDesc: null,
amount: null,
storageAmount: null,
occupyAmount: null,
lpn: null,
productBatch: null,
receiveDate: null,
productDate: null,
userDefined1: null,
userDefined2: null,
userDefined3: null,
userDefined4: null,
userDefined5: null,
userDefined6: null,
userDefined7: null,
userDefined8: null,
userDefined9: null,
userDefined10: null,
gmtCreate: null,
lastModifiedBy: null,
gmtModified: null,
activeFlag: null,
factoryCode: null,
sapFactoryCode: null,
wlName: null,
spareUseLife: null,
spareName: null,
spareMode: null,
spareManufacturer: null,
spareSupplier: null,
spareReplacementCycle: null,
spareMeasurementUnit: null,
spareConversionUnit: null,
spareConversionRatio: null,
spareInventoryFloor: null,
spareInventoryUpper: null,
},
options: [
{
spareType: "专用",
label: "专用",
},
{
spareType: "通用",
label: "通用",
},
],
//
form: {},
//
rules: {
storageId: [
{ required: true, message: "唯一序列不能为空", trigger: "blur" },
],
},
};
},
created() {
this.getList();
},
methods: {
handleEdit(index, row) {
console.log("row:", index, row);
console.log("storageId:", row.storageId); //name
},
//
indexMethod(index) {
return index + 1;
},
/** 查询备品备件台账管理列表 */
getList() {
this.loading = true;
listSparePartsLedger(this.queryParams).then((response) => {
this.sparePartsLedgerList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.showFlag = false;
this.reset();
this.resetQuery();
},
//
reset() {
this.form = {
storageId: null,
whCode: null,
regionCode: null,
waCode: null,
storageType: null,
wlCode: null,
materialCode: null,
materialDesc: null,
amount: null,
storageAmount: null,
occupyAmount: null,
lpn: null,
productBatch: null,
receiveDate: null,
productDate: null,
userDefined1: null,
userDefined2: null,
userDefined3: null,
userDefined4: null,
userDefined5: null,
userDefined6: null,
userDefined7: null,
userDefined8: null,
userDefined9: null,
userDefined10: null,
createBy: null,
gmtCreate: null,
lastModifiedBy: null,
gmtModified: null,
activeFlag: null,
factoryCode: null,
sapFactoryCode: null,
wlName: null,
delFlag: null,
spareUseLife: null,
spareName: null,
spareMode: null,
spareManufacturer: null,
spareSupplier: null,
spareReplacementCycle: null,
spareMeasurementUnit: null,
spareConversionUnit: null,
spareConversionRatio: null,
spareInventoryFloor: null,
spareInventoryUpper: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.storageId);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
/** 提交按钮 */
submitForm() {
console.log("data:", this.sparePartsLedgerList);
console.log("选择的数据", this.$refs.multipleTable.selection);
if (this.$refs.multipleTable.selection.length > 1) {
this.$message({
message: "请勿选择多种备件!",
type: "warning",
});
} else {
this.$emit("onSelected", this.$refs.multipleTable.selection);
this.showFlag = false;
//
this.resetQuery();
}
},
},
};
</script>

@ -461,7 +461,25 @@
<!-- 选择设备点检项目 -->
<div class="my-step-body" v-if="spotCheckStep==1">
<el-row>
<el-col class="my-step-mar" :span="1.5">
<el-col class="my-step-mar" :span="24">
<el-input
placeholder="请输入设备编码,按搜索按钮查询"
v-model="equipmentItemSearch"
class="input-with-select"
style="width: 400px"
>
<el-button
slot="append"
icon="el-icon-search"
@click="equipmentItemQuery"
></el-button>
</el-input>
<el-button
type="primary"
plain
size="mini"
@click="equipmentItemReset"
>重置</el-button>
<el-button
type="primary"
plain
@ -470,7 +488,7 @@
选择设备
</el-button>
</el-col>
</el-row>
</el-row>
<el-table
border
:data="form.equipmentItem"
@ -697,6 +715,8 @@ export default {
dicts: ['device_loop_type', 'sys_normal_disable','device_yes_no'],
data() {
return {
equipmentItemSearch: '',//
equipmentItemList:[],
// 线
groupLineList:[],
//
@ -840,6 +860,18 @@ export default {
this.setWorkCenter();
},
methods: {
equipmentItemQuery() {
const tableData = this.form.equipmentItem;
this.form.equipmentItem = this.equipmentItemList;//
this.form.equipmentItem = tableData.filter(
(data) => !this.equipmentItemSearch || data.equipmentCode.toLowerCase().includes(this.equipmentItemSearch.toLowerCase())
)
},
equipmentItemReset() {
this.form.equipmentItem = this.equipmentItemList;
this.equipmentItemSearch = '';
},
//
setWorkCenter() {
getWorkCenter().then(response => {
@ -1052,6 +1084,7 @@ export default {
if (this.form.equipmentItem[i].equipmentCode == e.equipmentCode) {
this.form.equipmentItem.splice(i, 1);
}
this.equipmentItemList = this.form.equipmentItem;//equipmentItemList
}
},
//
@ -1081,7 +1114,7 @@ export default {
for (let i = 0; i < response.data.length; i++) {
this.form.equipmentItem.push(response.data[i]);
}
this.equipmentItemList = this.form.equipmentItem;//equipmentItemList
this.selectEqu = false;
})
@ -1277,6 +1310,11 @@ export default {
// }
// }
//
this.equipmentItemList = [];
for (let i = 0; i < response.data.equipmentItem.length; i++) {
this.equipmentItemList.push(response.data.equipmentItem[i]);
};
this.loading = false;
this.open = true;
this.title = "修改计划";

@ -68,7 +68,7 @@
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="产线" prop="planProdLine">
<el-form-item label="产线" prop="planProdLine">
<el-input
v-model="queryParams.planProdLine"
placeholder="请输入产线"
@ -457,7 +457,12 @@
prop="workCenterName"
/>
<el-table-column
width="100"
label="产线"
align="center"
prop="planProdLine"
/>
<el-table-column
width="150"
label="设备编码"
align="center"
prop="equipmentCode"
@ -480,13 +485,8 @@
align="center"
prop="orderEnd"
/>
<el-table-column label="点检人" align="center" prop="planPerson" />
<el-table-column
v-if="false"
label="产线"
align="center"
prop="planProdLine"
/>
<el-table-column label="点检人工号" align="center" prop="planPerson" width="100"/>
<el-table-column label="点检人姓名" align="center" prop="planPersonName" width="100"/>
<el-table-column label="循环周期" align="center" prop="planLoop" />
<el-table-column
width="120"
@ -802,9 +802,12 @@
<el-descriptions-item v-if="false" label="执行结束时间">{{
workVO.order.orderEnd
}}</el-descriptions-item>
<el-descriptions-item label="点检人">{{
<el-descriptions-item label="点检人工号">{{
workVO.order.planPerson
}}</el-descriptions-item>
<el-descriptions-item label="点检人姓名">{{
workVO.order.planPersonName
}}</el-descriptions-item>
<el-descriptions-item label="报修单号">{{
workVO.order.repairCode
}}</el-descriptions-item>
@ -928,6 +931,7 @@ export default {
orderStart: null,
orderEnd: null,
planPerson: null,
planPersonName: null,
},
equ: {
equipmentCode: null,
@ -1019,6 +1023,7 @@ export default {
orderStatus: null,
orderCost: null,
planPerson: null,
planPersonName: null,
orderCostTime: null,
orderSignPerson: null,
factoryCode: null,
@ -1124,6 +1129,7 @@ export default {
orderStatus: null,
orderCost: null,
planPerson: null,
planPersonName: null,
orderCostTime: null,
orderSignPerson: null,
factoryCode: null,

@ -43,7 +43,7 @@
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="产线" prop="planProdLine">
<el-form-item label="产线" prop="planProdLine">
<el-input
v-model="queryParams.planProdLine"
placeholder="请输入产线"
@ -116,10 +116,18 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="点检人" prop="planPerson">
<el-form-item label="点检人工号" prop="planPerson">
<el-input
v-model="queryParams.planPerson"
placeholder="请输入点检人"
placeholder="请输入点检人工号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="点检人姓名" prop="planPersonName">
<el-input
v-model="queryParams.planPersonName"
placeholder="请输入点检人姓名"
clearable
@keyup.enter.native="handleQuery"
/>
@ -340,11 +348,12 @@
</el-table-column>
<el-table-column width="120" label="工作中心编码" align="center" prop="planWorkshop" />
<el-table-column width="150" label="工作中心名称" align="center" prop="workCenterName"/>
<el-table-column width="100" label="设备编码" align="center" prop="equipmentCode" />
<el-table-column label="产线" align="center" prop="planProdLine" />
<el-table-column width="150" label="设备编码" align="center" prop="equipmentCode" />
<el-table-column width="200" label="设备名称" align="center" prop="equipmentName" />
<el-table-column width="150" label="点检时间" align="center" prop="orderStart"/>
<el-table-column label="点检人" align="center" prop="planPerson" />
<el-table-column v-if="false" label="产线" align="center" prop="planProdLine" />
<el-table-column label="点检人工号" align="center" prop="planPerson" width="100"/>
<el-table-column label="点检人姓名" align="center" prop="planPersonName" width="100"/>
<el-table-column label="循环周期" align="center" prop="planLoop" />
<el-table-column width="120" label="循环周期类型" align="center" prop="planLoopType" >
<template slot-scope="scope">
@ -442,7 +451,8 @@
<el-descriptions-item v-if="false" label="点检执行结束时间">{{ workVO.order.planLoopEnd }}</el-descriptions-item>
<el-descriptions-item v-if="false" label="执行开始时间">{{ workVO.order.orderStart }}</el-descriptions-item>
<el-descriptions-item v-if="false" label="执行结束时间">{{ workVO.order.orderEnd }}</el-descriptions-item>
<el-descriptions-item label="点检人">{{ workVO.order.planPerson }}</el-descriptions-item>
<el-descriptions-item label="点检人工号">{{ workVO.order.planPerson }}</el-descriptions-item>
<el-descriptions-item label="点检人姓名">{{ workVO.order.planPersonName }}</el-descriptions-item>
<el-descriptions-item label="报修单号">{{ workVO.order.repairCode }}</el-descriptions-item>
</el-descriptions>
</el-tab-pane>
@ -597,6 +607,7 @@ export default {
orderStart:null,
orderEnd:null,
planPerson:null,
planPersonName: null,
},equ: {
equipmentCode:null,
equipmentName: null,
@ -648,6 +659,7 @@ export default {
orderStatus: '1',
orderCost: null,
planPerson: null,
planPersonName: null,
orderCostTime: null,
orderSignPerson: null,
factoryCode: null,
@ -738,6 +750,7 @@ export default {
orderStatus: '1',
orderCost: null,
planPerson: null,
planPersonName: null,
orderCostTime: null,
orderSignPerson: null,
factoryCode: null,

@ -68,7 +68,7 @@
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="产线" prop="planProdLine">
<el-form-item label="产线" prop="planProdLine">
<el-input
v-model="queryParams.planProdLine"
placeholder="请输入产线"
@ -493,7 +493,12 @@
prop="workCenterName"
/>
<el-table-column
width="100"
label="产线"
align="center"
prop="planProdLine"
/>
<el-table-column
width="150"
label="设备编码"
align="center"
prop="equipmentCode"
@ -504,12 +509,6 @@
align="center"
prop="equipmentName"
/>
<el-table-column
v-if="false"
label="产线"
align="center"
prop="planProdLine"
/>
<el-table-column label="循环周期" align="center" prop="planLoop" />
<el-table-column
width="120"
@ -577,7 +576,8 @@
</template>
</el-table-column>
<el-table-column label="工单费用" align="center" prop="orderCost" />
<el-table-column label="保养人" align="center" prop="planPerson" />
<el-table-column label="保养人工号" align="center" prop="planPerson" width="100"/>
<el-table-column label="保养人姓名" align="center" prop="planPersonName" width="100"/>
<el-table-column
width="120"
label="工单用时(min)"
@ -1264,8 +1264,8 @@
<el-descriptions-item label="是否停机保养">{{
workVO.order.shutDown
}}</el-descriptions-item>
<el-descriptions-item label="保养人">{{
workVO.order.planPerson
<el-descriptions-item label="保养人姓名">{{
workVO.order.planPersonName
}}</el-descriptions-item>
<!-- <el-descriptions-item label="报修单号">{{ workVO.order.repairCode }}</el-descriptions-item>-->
<el-descriptions-item label="保养图片">
@ -1444,6 +1444,7 @@ export default {
orderStart: null,
orderEnd: null,
planPerson: null,
planPersonName: null,
upkeepPictures: [],
},
equ: {
@ -1594,6 +1595,7 @@ export default {
orderStatus: null,
orderCost: null,
planPerson: null,
planPersonName: null,
orderCostTime: null,
orderSignPerson: null,
factoryCode: null,
@ -2103,6 +2105,7 @@ export default {
orderStatus: null,
orderCost: null,
planPerson: null,
planPersonName: null,
orderCostTime: null,
orderSignPerson: null,
factoryCode: null,

@ -498,7 +498,25 @@
<!-- 选择设备保养项 -->
<div class="my-step-body" v-if="this.upkeepSteps==1">
<el-row>
<el-col class="my-step-mar" :span="1.5">
<el-col class="my-step-mar" :span="24">
<el-input
placeholder="请输入设备编码,按搜索按钮查询"
v-model="equipmentItemSearch"
class="input-with-select"
style="width: 400px"
>
<el-button
slot="append"
icon="el-icon-search"
@click="equipmentItemQuery"
></el-button>
</el-input>
<el-button
type="primary"
plain
size="mini"
@click="equipmentItemReset"
>重置</el-button>
<el-button
type="primary"
plain
@ -507,7 +525,7 @@
选择设备
</el-button>
</el-col>
</el-row>
</el-row>
<el-table
border
:data="form.equipmentItem"
@ -905,6 +923,8 @@ export default {
dicts: ['device_loop_type', 'sys_normal_disable','device_upkeep_type'],
data() {
return {
equipmentItemSearch: '',//
equipmentItemList:[],
// 线
groupLineList:[],
// list
@ -1071,6 +1091,18 @@ export default {
this.setWorkCenter();
},
methods: {
equipmentItemQuery() {
const tableData = this.form.equipmentItem;
this.form.equipmentItem = this.equipmentItemList;//
this.form.equipmentItem = tableData.filter(
(data) => !this.equipmentItemSearch || data.equipmentCode.toLowerCase().includes(this.equipmentItemSearch.toLowerCase())
)
},
equipmentItemReset() {
this.form.equipmentItem = this.equipmentItemList;
this.equipmentItemSearch = '';
},
// btn
choseSpareBtn(){
//
@ -1395,6 +1427,7 @@ export default {
if (this.form.equipmentItem[i].equipmentCode == e.equipmentCode) {
this.form.equipmentItem.splice(i, 1);
}
this.equipmentItemList = this.form.equipmentItem;//equipmentItemList
}
},
//
@ -1425,7 +1458,7 @@ export default {
for (let i = 0; i < response.data.length; i++) {
this.form.equipmentItem.push(response.data[i]);
}
this.equipmentItemList = this.form.equipmentItem;//equipmentItemList
this.selectEqu = false;
})
}else {
@ -1650,7 +1683,6 @@ export default {
initUpdatePlanInfo(row).then(response => {
this.form = response.data;
this.selectPersonList = response.data.personListVO;
for (let i = 0; i < this.form.equipmentItem.length; i++) {
@ -1660,9 +1692,12 @@ export default {
for (let j = 0; j < this.form.equipmentItem[i].equPlanDetailList.length; j++) {
this.form.equipmentItem[i].itemTempName = this.form.equipmentItem[i].itemTempName + this.form.equipmentItem[i].equPlanDetailList[j].itemName + ","
}
}
//
this.equipmentItemList = [];
for (let i = 0; i < response.data.equipmentItem.length; i++) {
this.equipmentItemList.push(response.data.equipmentItem[i]);
};
this.loading = false;
this.open = true;
this.title = "修改计划";

@ -21,7 +21,7 @@
:filter-node-method="filterNode"
ref="tree"
node-key="id"
default-expand-all
:default-expanded-keys="[deptOptions[0].id]"
highlight-current
@node-click="handleNodeClick"
/>
@ -47,16 +47,20 @@
value-format="yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
<el-form-item><div>-</div></el-form-item>
<el-form-item>
<div>-</div>
</el-form-item>
<el-form-item
><el-date-picker
>
<el-date-picker
v-model="dateRangetwo"
value-format="yyyy-MM-dd HH:mm:ss"
style="width: 240px"
type="datetime"
placeholder="选择日期时间"
></el-date-picker
></el-form-item>
>
</el-form-item>
<el-form-item label="时间范围" prop="status">
<el-select
v-model="queryParams.dateType"
@ -93,10 +97,12 @@
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>搜索
</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>重置
</el-button
>
</el-form-item>
</el-form>
@ -111,6 +117,16 @@
</el-card>
<!-- 新增等功能按钮 -->
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- plain-->
<!-- icon="el-icon-plus"-->
<!-- size="mini"-->
<!-- @click="handleAdd"-->
<!-- >光伏用量-->
<!-- </el-button>-->
<!-- </el-col>-->
<el-col :span="1.5">
<el-button
type="warning"
@ -119,7 +135,8 @@
size="mini"
@click="handleExport"
v-hasPermi="['report:pointDnb:export']"
>导出</el-button
>导出
</el-button
>
</el-col>
<right-toolbar
@ -134,7 +151,7 @@
:data="userList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="50" align="center" />
<el-table-column type="selection" width="50" align="center"/>
<el-table-column
label="计量设备编号"
align="center"
@ -202,6 +219,51 @@
/>
</el-col>
</el-row>
<!-- 添加光伏整点数据对话框 -->
<!-- <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>-->
<!-- <el-form ref="form" :model="form" :rules="rules" label-width="120px">-->
<!-- <el-form-item label="光伏设备名称" prop="monitorId">-->
<!-- <el-select v-model="form.monitorId" placeholder="请选择光伏设备名称">-->
<!-- <el-option-->
<!-- v-for="item in photovoltaicList"-->
<!-- :key="item.monitorId"-->
<!-- :label="item.monitorName"-->
<!-- :value="item.monitorId"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="耗量" prop="expend">-->
<!-- <el-input v-model="form.expend" placeholder="请输入耗量"/>-->
<!-- </el-form-item>-->
<!-- &lt;!&ndash; <el-form-item label="仪表值" prop="instrumentValue">&ndash;&gt;-->
<!-- &lt;!&ndash; <el-input v-model="form.instrumentValue" placeholder="请输入仪表值"/>&ndash;&gt;-->
<!-- &lt;!&ndash; </el-form-item>&ndash;&gt;-->
<!-- <el-form-item label="开始日期" prop="beginTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="form.beginTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择开始日期"-->
<!-- >-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="结束日期" prop="endTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="form.endTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择结束日期"-->
<!-- >-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- <div slot="footer" class="dialog-footer">-->
<!-- <el-button type="primary" @click="submitForm"> </el-button>-->
<!-- <el-button @click="cancel"> </el-button>-->
<!-- </div>-->
<!-- </el-dialog>-->
</div>
</template>
@ -211,16 +273,21 @@ import {
treeDat,
dnbCountingData,
listUser2,
deptTreeSelect,
} from "@/api/energy/powerUse/WholePointData";
import { getToken } from "@/utils/auth";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import * as echarts from "echarts";
deptTreeSelect
} from '@/api/energy/powerUse/WholePointData'
import { getToken } from '@/utils/auth'
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import * as echarts from 'echarts'
import {
addShuiMeasurement,
listShuiMeasurement,
updateShuiMeasurement
} from '@/api/energy/energy/waterManagement/shuiMeasurement'
export default {
name: "User",
dicts: ["sys_normal_disable", "sys_user_sex", "public_share_type"],
name: 'WholePointData',
dicts: ['sys_normal_disable', 'sys_user_sex', 'public_share_type'],
components: { Treeselect },
data() {
return {
@ -239,9 +306,9 @@ export default {
//
userList: null,
//
title: "",
title: '',
//
deptOptions: undefined,
deptOptions: [{ id: 2 }],
//
open: false,
//
@ -250,45 +317,49 @@ export default {
initPassword: undefined,
//
dateRange: [],
dateRangeone: "",
dateRangetwo: "",
dateRangeone: '',
dateRangetwo: '',
//
postOptions: [],
//
roleOptions: [],
//list
photovoltaicList: [],
//
form: {},
defaultProps: {
children: "children",
label: "lable",
children: 'children',
label: 'lable'
},
//
upload: {
//
open: false,
//
title: "",
title: '',
//
isUploading: false,
//
updateSupport: 0,
//
headers: { Authorization: "Bearer " + getToken() },
headers: { Authorization: 'Bearer ' + getToken() },
//
url: process.env.VUE_APP_BASE_API + "/system/user/importData",
url: process.env.VUE_APP_BASE_API + '/system/user/importData'
},
//
queryParams: {
pageNum: 1,
pageSize: 10,
dateType: "hour",
isAsc: "asc",
monitorSubset: "",
publicShareType:'',
dateType: 'hour',
isAsc: 'asc',
monitorSubset: '',
publicShareType: '',
monitorCode: null,
instrumentValue: null,
params: {
beginCollectTime: "",
endCollectTime: "",
},
beginCollectTime: '',
endCollectTime: ''
}
},
//
columns: [
@ -298,265 +369,261 @@ export default {
{ key: 3, label: `耗量(kW·h)`, visible: true },
{ key: 4, label: `开始时间`, visible: true },
{ key: 5, label: `结束时间`, visible: true },
{ key: 6, label: `仪表值(kW·h)`, visible: true },
{ key: 6, label: `仪表值(kW·h)`, visible: true }
],
//
rules: {
userName: [
{ required: true, message: "用户名称不能为空", trigger: "blur" },
{
min: 2,
max: 20,
message: "用户名称长度必须介于 2 和 20 之间",
trigger: "blur",
},
monitorId: [
{ required: true, message: '计量设备名称不能为空', trigger: 'blur' }
],
nickName: [
{ required: true, message: "用户昵称不能为空", trigger: "blur" },
expend: [
{ required: true, message: '耗量不能为空', trigger: 'blur' }
],
password: [
{ required: true, message: "用户密码不能为空", trigger: "blur" },
{
min: 5,
max: 20,
message: "用户密码长度必须介于 5 和 20 之间",
trigger: "blur",
},
beginTime: [
{ required: true, message: '开始日期不能为空', trigger: 'blur' }
],
email: [
{
type: "email",
message: "请输入正确的邮箱地址",
trigger: ["blur", "change"],
},
],
phonenumber: [
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
trigger: "blur",
},
endTime: [
{ required: true, message: '结束日期不能为空', trigger: 'blur' }
],
},
baoliudateRangeone: "",
baoliudateRangetwo: "",
baoliudateRangeone: '',
baoliudateRangetwo: '',
//
dict1: [
{ label: "时", value: "hour" },
{ label: "天", value: "day" },
{ label: "月", value: "month" },
{ label: "年", value: "year" },
{ label: '时', value: 'hour' },
{ label: '天', value: 'day' },
{ label: '月', value: 'month' },
{ label: '年', value: 'year' }
],
//
option: {
tooltip: {
trigger: "axis",
formatter: function (params) {
trigger: 'axis',
formatter: function(params) {
return (
params[0].name +
"<br>" +
'<br>' +
params[0].marker +
" " +
"电耗量(kW·h):" +
' ' +
'电耗量(kW·h):' +
params[0].data
);
)
},
axisPointer: {
type: "cross",
type: 'cross',
crossStyle: {
color: "#999",
},
},
color: '#999'
}
}
},
xAxis: {
type: "category",
data: [],
type: 'category',
data: []
},
yAxis: {
type: "value",
axisLine: { show: true },
type: 'value',
axisLine: { show: true }
},
series: [
{
tooltip: {
valueFormatter: function (value) {
return value;
},
valueFormatter: function(value) {
return value
}
},
data: [],
type: "bar",
},
],
},
};
type: 'bar'
}
]
}
}
},
watch: {
//
deptName(val) {
this.$refs.tree.filter(val);
},
this.$refs.tree.filter(val)
}
},
created() {
this.dateRangeone = new Date(new Date().setHours(0, 0, 0, 0));
var d = new Date(this.dateRangeone);
let m = ("0" + (d.getMonth() + 1)).slice(-2);
let tian = ("0" + d.getDate()).slice(-2);
let h = ("0" + d.getHours()).slice(-2);
let M = ("0" + d.getMinutes()).slice(-2);
let s = ("0" + d.getSeconds()).slice(-2);
this.dateRangeone = new Date(new Date().setHours(0, 0, 0, 0))
var d = new Date(this.dateRangeone)
let m = ('0' + (d.getMonth() + 1)).slice(-2)
let tian = ('0' + d.getDate()).slice(-2)
let h = ('0' + d.getHours()).slice(-2)
let M = ('0' + d.getMinutes()).slice(-2)
let s = ('0' + d.getSeconds()).slice(-2)
console.log("d", d);
this.dateRangeone =
d.getFullYear() + "-" + m + "-" + tian + " " + h + ":" + M + ":" + s;
this.baoliudateRangeone = this.dateRangeone;
d.getFullYear() + '-' + m + '-' + tian + ' ' + h + ':' + M + ':' + s
this.baoliudateRangeone = this.dateRangeone
this.dateRangetwo = new Date(
new Date().setHours(0, 0, 0, 0) + 24 * 60 * 60 * 1000 - 1
);
var d1 = new Date(this.dateRangetwo);
let m1 = ("0" + (d1.getMonth() + 1)).slice(-2);
let tian1 = ("0" + d1.getDate()).slice(-2);
let h1 = ("0" + d1.getHours()).slice(-2);
let M1 = ("0" + d1.getMinutes()).slice(-2);
let s1 = ("0" + d1.getSeconds()).slice(-2);
console.log("tian1.length", tian1);
)
var d1 = new Date(this.dateRangetwo)
let m1 = ('0' + (d1.getMonth() + 1)).slice(-2)
let tian1 = ('0' + d1.getDate()).slice(-2)
let h1 = ('0' + d1.getHours()).slice(-2)
let M1 = ('0' + d1.getMinutes()).slice(-2)
let s1 = ('0' + d1.getSeconds()).slice(-2)
this.dateRangetwo =
d1.getFullYear() +
"-" +
'-' +
m1 +
"-" +
'-' +
tian1 +
" " +
' ' +
h1 +
":" +
':' +
M1 +
":" +
s1;
':' +
s1
//this.dateRangetwo = d1.getFullYear()+ '-'+m1+ '-'+tian1+ ' '+ h1+ ':'+M1+':'+s1;
this.baoliudateRangetwo = this.dateRangetwo;
this.getList();
this.getDeptTree();
this.baoliudateRangetwo = this.dateRangetwo
this.getList()
this.getDeptTree()
},
mounted() {
var chartDom = document.getElementById("card");
var myChart = echarts.init(chartDom);
this.option && myChart.setOption(this.option);
var chartDom = document.getElementById('card')
var myChart = echarts.init(chartDom)
this.option && myChart.setOption(this.option)
},
methods: {
/** 查询用户列表 */
getList() {
this.loading = true;
this.queryParams.params.beginCollectTime = this.dateRangeone;
this.queryParams.params.endCollectTime = this.dateRangetwo;
console.log("this.datatimeone", this.queryParams);
if (this.queryParams.dateType === "hour") {
this.loading = true
this.queryParams.params.beginCollectTime = this.dateRangeone
this.queryParams.params.endCollectTime = this.dateRangetwo
if (this.queryParams.dateType === 'hour') {
listUser(this.queryParams).then((response) => {
this.userList = response.rows;
this.total = response.total;
this.loading = false;
});
this.userList = response.rows
this.total = response.total
this.loading = false
})
} else {
listUser2(this.queryParams).then((response) => {
this.userList = response.rows;
this.total = response.total;
this.loading = false;
});
this.userList = response.rows
this.total = response.total
this.loading = false
})
}
},
//
tranListToTreeData(list) {
//
const treeList = [];
const treeList = []
// 使
const map = {};
const map = {}
// id
list.forEach((item) => {
if (!item.children) {
item.children = [];
item.children = []
}
map[item.id] = item;
});
map[item.id] = item
})
list.forEach((item) => {
//
// children
// treeList
const parent = map[item.pId];
const parent = map[item.pId]
// item
if (parent) {
parent.children.push(item);
parent.children.push(item)
} else {
//
treeList.push(item);
treeList.push(item)
}
});
})
//
return treeList;
return treeList
},
/** 添加光伏整点数据 */
// submitForm: function() {
// this.$refs["form"].validate((valid) => {
// if (valid) {
// addReportPointDnb(this.form).then((response) => {
// this.$modal.msgSuccess('')
// this.open = false
// this.getList()
// })
// }
// });
// },
/** 新增按钮操作 */
handleAdd() {
this.reset()
listShuiMeasurement({publicShareType: 4}).then((response) => {
this.photovoltaicList = response.data
})
this.open = true
this.title = '添加光伏发电数据'
},
/** 真查询部门下拉树结构 */
getDeptTree() {
treeDat().then((response) => {
response.map((item, index) => {
item, (item.oid = item.id), (item.lable = item.name);
});
this.deptOptions = this.tranListToTreeData(response);
console.log(this.deptOptions);
//this.deptOptions = response.data;
});
item, (item.oid = item.id), (item.lable = item.name)
})
this.deptOptions = this.tranListToTreeData(response)
})
},
//
filterNode(value, data) {
if (!value) return true;
return data.lable.indexOf(value) !== -1;
if (!value) return true
return data.lable.indexOf(value) !== -1
},
//
handleNodeClick(data) {
this.queryParams.monitorSubset = data.monitorId;
this.getList();
this.dnbCountingData();
this.queryParams.monitorSubset = data.monitorId
this.getList()
this.dnbCountingData()
},
//
cancel() {
this.open = false;
this.reset();
this.open = false
this.reset()
},
//
reset() {
this.form = {
userId: undefined,
deptId: undefined,
userName: undefined,
nickName: undefined,
password: undefined,
phonenumber: undefined,
email: undefined,
sex: undefined,
status: "0",
remark: undefined,
postIds: [],
roleIds: [],
};
this.resetForm("form");
objid: null,
monitorId: null,
instrumentValue: null,
monitorName: null,
pMonitorId: null,
address: null,
expend: null,
price: null,
pointTime: null,
beginTime: null,
endTime: null,
recordTime: null,
meterValue: null,
collectType: null
}
this.resetForm('form')
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
this.dnbCountingData();
this.queryParams.pageNum = 1
this.getList()
this.dnbCountingData()
},
//**** */
dnbCountingData() {
this.loading = true;
this.loading = true
dnbCountingData({
beginCollectTime: this.queryParams.params.beginCollectTime,
endCollectTime: this.queryParams.params.endCollectTime,
type: this.queryParams.dateType,
publicShareType: this.queryParams.publicShareType,
monitorSubset: this.queryParams.monitorSubset,
energyType: 2,
energyType: 2
}).then((response) => {
this.option.xAxis.data = response.data.dateList;
this.option.series[0].data = response.data.valueList;
this.option.xAxis.data = response.data.dateList
this.option.series[0].data = response.data.valueList
// this.total = response.total;
// this.loading = false;
// var chartDom = document.getElementById('card');
@ -578,56 +645,56 @@ export default {
// ]
// };
// this.option = option;
var chartDom = document.getElementById("card");
var myChart = echarts.init(chartDom);
this.option && myChart.setOption(this.option);
});
var chartDom = document.getElementById('card')
var myChart = echarts.init(chartDom)
this.option && myChart.setOption(this.option)
})
},
/** 重置按钮操作 */
resetQuery() {
// this.dateRange = [];
this.resetForm("queryForm");
this.dateRangeone = this.baoliudateRangeone;
this.dateRangetwo = this.baoliudateRangetwo;
this.resetForm('queryForm')
this.dateRangeone = this.baoliudateRangeone
this.dateRangetwo = this.baoliudateRangetwo
//this.queryParams.deptId = undefined;
//this.$refs.tree.setCurrentKey(null);
this.getList();
this.getList()
//this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.userId);
this.single = selection.length != 1;
this.multiple = !selection.length;
this.ids = selection.map((item) => item.userId)
this.single = selection.length != 1
this.multiple = !selection.length
},
//
handleCommand(command, row) {
switch (command) {
case "handleResetPwd":
this.handleResetPwd(row);
break;
case "handleAuthRole":
this.handleAuthRole(row);
break;
case 'handleResetPwd':
this.handleResetPwd(row)
break
case 'handleAuthRole':
this.handleAuthRole(row)
break
default:
break;
break
}
},
/** 导出按钮操作 */
handleExport() {
let paramsexport = JSON.parse(JSON.stringify(this.queryParams));
delete paramsexport.pageNum;
delete paramsexport.pageSize;
let paramsexport = JSON.parse(JSON.stringify(this.queryParams))
delete paramsexport.pageNum
delete paramsexport.pageSize
this.download(
"/energy/report/pointDnb/export",
'/energy/report/pointDnb/export',
{
...paramsexport,
orderByColumn: null,
orderByColumn: null
},
`user_${new Date().getTime()}.xlsx`
);
},
},
};
)
}
}
}
</script>

@ -0,0 +1,498 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="产品编号" prop="productCode">
<el-input
v-model="queryParams.productCode"
placeholder="请输入产品编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="品类" prop="category">
<el-input
v-model="queryParams.category"
placeholder="请输入品类"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="每PC单圈" prop="pc">-->
<!-- <el-input-->
<!-- v-model="queryParams.pc"-->
<!-- placeholder="请输入每PC单圈"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="标准效率" prop="iei">-->
<!-- <el-input-->
<!-- v-model="queryParams.iei"-->
<!-- placeholder="请输入标准效率"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="标准用人" prop="manStandar">-->
<!-- <el-input-->
<!-- v-model="queryParams.manStandar"-->
<!-- placeholder="请输入标准用人"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="喷药方式" prop="sprayWay">-->
<!-- <el-input-->
<!-- v-model="queryParams.sprayWay"-->
<!-- placeholder="请输入喷药方式"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="白坯直径" prop="blankDiameter">-->
<!-- <el-input-->
<!-- v-model="queryParams.blankDiameter"-->
<!-- placeholder="请输入白坯直径"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="白坯物料号" prop="blankNo">-->
<!-- <el-input-->
<!-- v-model="queryParams.blankNo"-->
<!-- placeholder="请输入白坯物料号"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="标准喷药量" prop="sprayVolume">-->
<!-- <el-input-->
<!-- v-model="queryParams.sprayVolume"-->
<!-- placeholder="请输入标准喷药量"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="药液料号" prop="liquidNo">-->
<!-- <el-input-->
<!-- v-model="queryParams.liquidNo"-->
<!-- placeholder="请输入药液料号"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="标准内膜用量" prop="endometrialDosage">-->
<!-- <el-input-->
<!-- v-model="queryParams.endometrialDosage"-->
<!-- placeholder="请输入标准内膜用量"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="标准外模用量(KG/PC)" prop="outerFilmDosage">-->
<!-- <el-input-->
<!-- v-model="queryParams.outerFilmDosage"-->
<!-- placeholder="请输入标准外模用量(KG/PC)"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="支架" prop="support">-->
<!-- <el-input-->
<!-- v-model="queryParams.support"-->
<!-- placeholder="请输入支架"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="支架物料号" prop="supportNo">-->
<!-- <el-input-->
<!-- v-model="queryParams.supportNo"-->
<!-- placeholder="请输入支架物料号"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="吸塑" prop="pvc">-->
<!-- <el-input-->
<!-- v-model="queryParams.pvc"-->
<!-- placeholder="请输入吸塑"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="支架盘" prop="supportPlate">-->
<!-- <el-input-->
<!-- v-model="queryParams.supportPlate"-->
<!-- placeholder="请输入支架盘"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="其它" prop="other">-->
<!-- <el-input-->
<!-- v-model="queryParams.other"-->
<!-- placeholder="请输入其它"-->
<!-- clearable-->
<!-- @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
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['mes:attached:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['mes:attached:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['mes:attached:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['mes:attached:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="attachedList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="主键ID" align="center" prop="id" />-->
<!-- 序号 -->
<el-table-column
type="index"
width="50"
align="center"
:index="indexMethod"
label="序号"
/>
<el-table-column label="产品编号" align="center" prop="productCode" width="150"/>
<el-table-column label="品类" align="center" prop="category" />
<el-table-column label="每PC单圈" align="center" prop="pc" />
<el-table-column label="标准效率" align="center" prop="iei" />
<el-table-column label="标准用人" align="center" prop="manStandar" />
<el-table-column label="喷药方式" align="center" prop="sprayWay" />
<el-table-column label="白坯直径" align="center" prop="blankDiameter" />
<el-table-column label="白坯物料号" align="center" prop="blankNo" />
<el-table-column label="标准喷药量" align="center" prop="sprayVolume" />
<el-table-column label="药液料号" align="center" prop="liquidNo" />
<el-table-column label="标准内膜用量" align="center" prop="endometrialDosage" />
<el-table-column label="标准外模用量(KG/PC)" align="center" prop="outerFilmDosage" />
<el-table-column label="支架" align="center" prop="support" />
<el-table-column label="支架物料号" align="center" prop="supportNo" />
<el-table-column label="吸塑" align="center" prop="pvc" />
<el-table-column label="支架盘" align="center" prop="supportPlate" />
<el-table-column label="其它" align="center" prop="other" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="130">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['mes:attached:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['mes:attached:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改物料附属信息对话框 -->
<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="产品编号" prop="productCode">
<el-input v-model="form.productCode" placeholder="请输入产品编号" />
</el-form-item>
<!-- <el-form-item label="品类" prop="category">-->
<!-- <el-input v-model="form.category" placeholder="请输入品类" />-->
<!-- </el-form-item>-->
<el-form-item label="品类" prop="category">
<el-select v-model="form.category" placeholder="请输入品类请输入品类" clearable>
<el-option
v-for="dict in dict.type.sys_category"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="每PC单圈" prop="pc">
<el-input v-model="form.pc" placeholder="请输入每PC单圈" />
</el-form-item>
<el-form-item label="标准效率" prop="iei">
<el-input v-model="form.iei" placeholder="请输入标准效率" />
</el-form-item>
<el-form-item label="标准用人" prop="manStandar">
<el-input v-model="form.manStandar" placeholder="请输入标准用人" />
</el-form-item>
<el-form-item label="喷药方式" prop="sprayWay">
<el-input v-model="form.sprayWay" placeholder="请输入喷药方式" />
</el-form-item>
<el-form-item label="白坯直径" prop="blankDiameter">
<el-input v-model="form.blankDiameter" placeholder="请输入白坯直径" />
</el-form-item>
<el-form-item label="白坯物料号" prop="blankNo">
<el-input v-model="form.blankNo" placeholder="请输入白坯物料号" />
</el-form-item>
<el-form-item label="标准喷药量" prop="sprayVolume">
<el-input v-model="form.sprayVolume" placeholder="请输入标准喷药量" />
</el-form-item>
<el-form-item label="药液料号" prop="liquidNo">
<el-input v-model="form.liquidNo" placeholder="请输入药液料号" />
</el-form-item>
<el-form-item label="标准内膜用量" prop="endometrialDosage">
<el-input v-model="form.endometrialDosage" placeholder="请输入标准内膜用量" />
</el-form-item>
<el-form-item label="标准外模用量(KG/PC)" prop="outerFilmDosage">
<el-input v-model="form.outerFilmDosage" placeholder="请输入标准外模用量(KG/PC)" />
</el-form-item>
<el-form-item label="支架" prop="support">
<el-input v-model="form.support" placeholder="请输入支架" />
</el-form-item>
<el-form-item label="支架物料号" prop="supportNo">
<el-input v-model="form.supportNo" placeholder="请输入支架物料号" />
</el-form-item>
<el-form-item label="吸塑" prop="pvc">
<el-input v-model="form.pvc" placeholder="请输入吸塑" />
</el-form-item>
<el-form-item label="支架盘" prop="supportPlate">
<el-input v-model="form.supportPlate" placeholder="请输入支架盘" />
</el-form-item>
<el-form-item label="其它" prop="other">
<el-input v-model="form.other" placeholder="请输入其它" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listAttached, getAttached, delAttached, addAttached, updateAttached } from "@/api/mes/attached";
export default {
name: "Attached",
dicts: ['sys_category'],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
attachedList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
productCode: null,
category: null,
pc: null,
iei: null,
manStandar: null,
sprayWay: null,
blankDiameter: null,
blankNo: null,
sprayVolume: null,
liquidNo: null,
endometrialDosage: null,
outerFilmDosage: null,
support: null,
supportNo: null,
pvc: null,
supportPlate: null,
other: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
indexMethod(index) {
return index + 1;
},
/** 查询物料附属信息列表 */
getList() {
this.loading = true;
listAttached(this.queryParams).then(response => {
this.attachedList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
productCode: null,
category: null,
pc: null,
iei: null,
manStandar: null,
sprayWay: null,
blankDiameter: null,
blankNo: null,
sprayVolume: null,
liquidNo: null,
endometrialDosage: null,
outerFilmDosage: null,
support: null,
supportNo: null,
pvc: null,
supportPlate: null,
other: null,
createBy: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加物料附属信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
console.log("id:" + id)
getAttached(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改物料附属信息";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateAttached(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addAttached(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除物料附属信息编号为"' + ids + '"的数据项?').then(function() {
return delAttached(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('mes/attached/export', {
...this.queryParams
}, `attached_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -448,6 +448,8 @@
</el-table-column>
<el-table-column label="单位" width="50" align="center" prop="unit" />
<el-table-column label="反冲标识" align="center" prop="recoil" />
<el-table-column label="单位数量" align="center" prop="erfmg" />
<el-table-column label="条目单位" align="center" prop="erfme" />
<el-table-column label="sap项目编码" align="center" prop="rspos" />
<el-table-column label="仓库" width="150" align="center" prop="warehouseCode">
<template slot-scope="scope">
@ -526,6 +528,11 @@
:show-overflow-tooltip="true" />
<el-table-column label="批次" width="250" align="left" prop="batch"
:show-overflow-tooltip="true" />
<el-table-column label="入库批次" width="250" align="left" prop="batchSK">
<template slot-scope="scope">
<el-input v-model="scope.row.batchSK" @blur="handleInput(scope.row, 'batchSK')" />
</template>
</el-table-column>
<el-table-column label="产品编码" width="350" align="center" prop="productCode" />
<el-table-column label="产品名称" width="350" align="center" prop="productName" />
<el-table-column label="单位" align="center" prop="unit" />
@ -1660,6 +1667,10 @@ export default {
this.pConsumeRows.map((item) => item.rspos)
);
const handleInput = (row, prop) => {
//
console.log(`Row: ${JSON.stringify(row)}, Prop: ${prop}`);
};
// obj
for (let i = 0; i < obj.length; i++) {
// objcomponentpConsumeRows

@ -77,9 +77,10 @@
plain
icon="el-icon-download"
size="mini"
:disabled="isButtonDisabled"
@click="handleSyncSAP"
v-hasPermi="['mes:pro:order:add']"
>SAP同步
>{{ countdownTime > 0 ? countdownTime + ' 秒后重试SAP同步' : 'SAP同步' }}
</el-button>
</el-col>
<el-col :span="1.5">
@ -115,14 +116,14 @@
>导出
</el-button>
</el-col>
<!--
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-guide" size="mini"
@click="handleAutoSplit"
:disabled="single"
v-hasPermi="['mes:pro:order:edit']">辅助排产
</el-button>
</el-col>-->
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -369,7 +370,7 @@
</el-dialog>
<!-- 拆分模块 -->
<el-dialog :title="title" :visible.sync="splitOpen" width="1000px" append-to-body>
<el-dialog :title="title" :visible.sync="splitOpen" width="1000px">
<!-- 拆分头pro -->
<el-table
border
@ -503,7 +504,7 @@
</div>
</el-dialog>
<!-- 辅助排产规划 -->
<el-dialog :title="titleAutoSplit" :visible.sync="openAutoSplit" width="1000px">
<el-dialog :title="titleAutoSplit" :visible.sync="openAutoSplit" width="1000px" @close="handleClose">
<el-steps :active="activeSplit" simple>
<el-step title="工单基本信息" icon="el-icon-edit"></el-step>
<el-step title="生产线体选择" icon="el-icon-s-tools"></el-step>
@ -519,6 +520,18 @@
</el-date-picker>
</el-form-item>
</el-col>
<!-- 选择班次 -->
<el-col :span="12">
<el-form-item size="small" label="选择班次" class="my-select my-first">
<el-select v-model="autoSplitform1.shiftId" placeholder="请选择班次">
<el-option v-for="item in workShift" :key="item.shiftId" :label="item.shiftDesc"
:value="item.shiftId"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
@ -576,7 +589,7 @@
<el-table-column width="70" align="center" prop="quantitySplit" label="数量"></el-table-column>
<el-table-column width="60" label="单位" align="center" prop="unit"/>
<el-table-column width="90" label="工艺编码" align="center" prop="routeCode"/>
<el-table-column width="70" label="班次" align="center" prop="shiftDesc"/>
<el-table-column width="70" label="班次" align="center" prop="shiftDesc" :formatter="shiftFormat"/>
<el-table-column width="160" align="center" prop="batchCodeList" label="批次号"></el-table-column>
<el-table-column width="100" align="center" prop="batchNumList" label="批次数量"></el-table-column>
</el-table>
@ -730,10 +743,14 @@ export default {
activeSplit: 0,
autoSplitform1:{
productDate:null,
sortNo:null
sortNo:null,
shiftId:null
},
autoSplitform2: {lineCodes:[]},
lineCodes:[]
lineCodes:[],
countdownTime: 0,//
isButtonDisabled: false, //
countdownInterval: null, //
}
},
created() {
@ -1457,6 +1474,23 @@ export default {
},
// -SAP
handleSyncSAP() {
if (this.countdownTime > 0) return; //
this.isButtonDisabled = true; //
this.countdownTime = 30; // 10
// 使setInterval
this.countdownInterval = setInterval(() => {
if (this.countdownTime > 0) {
this.countdownTime--;
} else {
clearInterval(this.countdownInterval); //
this.isButtonDisabled = false; //
this.countdownTime = 0; //
}
}, 1000); //
this.loading = true;
let planDateStart =null;
let planDateEnd =null;
@ -1496,13 +1530,25 @@ export default {
},
//
handleAutoSplit(row) {
this.openAutoSplit = true;
this.autoSplitList = this.orderCodes;
if(this.autoSplitList[0] == 'o2'){
this.$modal.msgError("已经拆分结束!");
if(this.orderCodes[0].prodDesc.includes("出口")){
this.$modal.msgError("物料描述有包含‘出口’信息,请手工折单!");
return
}
if(this.autoSplitList[0].status != 'o0'){
this.$modal.msgError("请选择完全未拆分的订单!");
return
}
//
getProShifts().then(response => {
this.workShift = response.data;
this.autoSplitform1.shiftId = 5;
})
this.openAutoSplit = true;
this.autoSplitform1.productDate = this.autoSplitList[0].planProDate;
// ()
getProRoutes(this.autoSplitList[0].prodCode).then(response => {
@ -1518,7 +1564,12 @@ export default {
// 线
getCanProductLine(this.autoSplitList[0]).then(response => {
this.lineCodes = response.lineList;
this.autoSplitform2.lineCodes = response.recommendLineList;//['XL01','XL02'];
if(response.recommendLineList == null){
this.$modal.msgError("设备产能达不到订单水平,请调整设备产能或重新审视订单计划数量!");
this.cancel();
}else{
this.autoSplitform2.lineCodes = response.recommendLineList;//['XL01','XL02'];
}
})
@ -1564,20 +1615,27 @@ export default {
if (this.activeSplit++ > 2) this.activeSplit = 0;
//线
if(this.activeSplit == 2){
autoSplitOrder(Object.assign({},this.autoSplitList[0],this.autoSplitform1,this.autoSplitform2)).then(response => {
this.workerLoading = true // true
//
getWorkOrderListCG(this.autoSplitList[0].id).then(response => {
var data = response.data
this.splitData = data
const p = Object.assign({},this.autoSplitList[0],this.autoSplitform1,this.autoSplitform2);
debugger
autoSplitOrder(p).then(response => {
if(response.code == 642){
this.$modal.msgError(response.msg);
this.cancel();
}else{
this.workerLoading = true // true
//
getWorkOrderListCG(this.autoSplitList[0].id).then(res => {
var data = res.data
this.splitData = data
this.refreshWorkerTable = false // refreshProTablefalse
this.$nextTick(() => {
// 使$nextTickDOM
this.refreshWorkerTable = true // refreshProTabletrue
this.workerLoading = false // false
this.refreshWorkerTable = false // refreshProTablefalse
this.$nextTick(() => {
// 使$nextTickDOM
this.refreshWorkerTable = true // refreshProTabletrue
this.workerLoading = false // false
})
})
})
}
});
}
},
@ -1596,7 +1654,20 @@ export default {
this.openAutoSplit = false;
this.activeSplit = 0;
});
}
},
handleClose() {
this.cancel();
},
shiftFormat(row,column){
let array = this.workShift;
let value = '其他';
array.forEach((item) => {
if (item.shiftId == row.shiftId) {
value = item.shiftDesc
}
})
return value;
},
}
}

@ -251,7 +251,7 @@
<el-dialog
title="工单信息"
:visible.sync="printDialogVisible"
width="1450px"
width="1000px"
>
<div id="printFrom" class="my-print-box">
@ -285,11 +285,11 @@
<el-table-column
prop="workorderCode"
label="生产工单"
width="150">
width="130">
</el-table-column>
<el-table-column
prop="workorderCodeSap"
width="150"
width="100" :formatter="orderCodeFormate"
label="生产订单">
</el-table-column>
<el-table-column
@ -298,37 +298,39 @@
width="180">
</el-table-column>
<el-table-column
prop="unit"
prop="unit" width="50"
label="单位">
</el-table-column>
<!--
<el-table-column
prop="quantityProduced"
prop="quantityProduced" width="80"
label="已生产数量">
</el-table-column>
</el-table-column>-->
<el-table-column
prop="quantitySplit"
prop="quantitySplit" width="80"
label="拆分数量">
</el-table-column>
<el-table-column
prop="routeCode"
prop="routeCode" width="90"
label="工艺编码">
</el-table-column>
<el-table-column
prop="prodLineCode"
prop="prodLineCode" width="100"
label="产线设备">
</el-table-column>
<el-table-column label="班次" align="center" prop="shiftId" :formatter="shiftFormat">
<el-table-column label="班次" align="center" prop="shiftId" :formatter="shiftFormat" width="40">
</el-table-column>
<el-table-column label="工单状态" align="center" prop="status">
<el-table-column label="工单状态" align="center" prop="status" width="50">
<template slot-scope="scope">
<dict-tag :options="dict.type.workorder_type" :value="scope.row.status"/>
</template>
</el-table-column>
<!--
<el-table-column label="产品类型" align="center" prop="prodType">
<template slot-scope="scope">
<dict-tag :options="dict.type.product_type" :value="scope.row.prodType"/>
</template>
</el-table-column>
</el-table-column>-->
</el-table>
<br/>
@ -1525,6 +1527,9 @@ export default {
if (this.queryParams.productDateArray != null) {
this.queryParams.productDateStart = moment(this.queryParams.productDateArray[0]).format('YYYY-MM-DD');
this.queryParams.productDateEnd = moment(this.queryParams.productDateArray[1]).format('YYYY-MM-DD');
}else{
this.queryParams.productDateStart = null;
this.queryParams.productDateEnd = null;
}
//
listWorkorderLevel0(this.queryParams).then(response => {

@ -39,6 +39,14 @@
@click="() => remove(node, data)">
</el-button>
<el-button
v-if="node.level == 1"
class="btn-tree"
icon="el-icon-edit"
type="text"
size="medium"
@click="handleUpdate(data)">
</el-button>
<el-button
v-if="node.level == 1"
class="btn-tree"
@ -64,10 +72,10 @@
</el-row>
<el-row >
<el-col :span="16">
<el-form-item label="物料组" prop="groupName">
<el-form-item label="标准模板" prop="groupName">
<el-select v-model="form.groupCode" filterable clearable placeholder="请选择物料组">
<el-option
v-for="(item,index) in OriginalGroupList"
v-for="(item,index) in standarList"
:key="index"
:label="item.groupName"
:value="item.groupCode">
@ -98,6 +106,7 @@ import {
delMaterialGroup,
updateMaterialGroup,
materialTreeSelect,
getMaterialGroup
} from "@/api/quality/materialGroup";
import {
addMaterialGroupDetail,
@ -133,7 +142,7 @@ export default {
//
materialGroupList: [],
//
OriginalGroupList: [],
standarList: [],
//
nodeData: {},
//
@ -197,7 +206,7 @@ export default {
/** 获取初始物料组 */
getOriginalGroup() {
getOriginalGroupList(this.queryParams).then((response) => {
this.OriginalGroupList = response.rows;
this.standarList = response.rows;
//this.loading = false;
});
},
@ -246,10 +255,9 @@ export default {
this.title = "添加物料组";
},
/** 修改按钮操作 */
handleUpdate(row) {
handleUpdate(data) {
this.reset();
const id = row.id || this.ids;
getMaterialGroup(id).then((response) => {
getMaterialGroup(data.id).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改物料组";
@ -380,7 +388,7 @@ export default {
padding-right: 8px;
}
.custom-tree-node .btn-tree {
margin: 0 8px;
margin: 0 0px;/**左边树按钮间距**/
font-size: 20px;
font: bolder;
}

@ -18,6 +18,7 @@
</el-radio-group>
</el-form-item>
</el-col>
<!--
<el-col :span="4">
<el-form-item label="是否发起OA" prop="startOA">
<el-radio-group v-model="form.startOA">
@ -50,11 +51,18 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="14">
<el-form-item v-if="form.startOA == '1'" label="不合格描述" prop="remark">
<el-input type='textarea' v-model="form.remark" placeholder="请输入不合格描述" />
</el-form-item>
</el-col>
-->
<el-col :span="14">
<el-form-item label="不合格描述" prop="remark">
<el-input type='textarea' v-model="form.remark" placeholder="请输入不合格描述" />
</el-form-item>
</el-col>
</el-row>
</el-form>

@ -206,15 +206,15 @@
@click="handleCheckProject(scope.row)"
v-hasPermi="['quality:qcIncome:edit']"
>检验</el-button>
<!--
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['quality:qcIncome:remove']"
>删除</el-button>
-->
icon="el-icon-magic-stick"
@click="handleCheckProjectM(scope.row)"
v-hasPermi="['quality:qcIncome:editM']"
>审核编辑</el-button>
</template>
</el-table-column>
</el-table>
@ -722,6 +722,11 @@ export default {
this.$refs.itemSelectProject.showFlag = true;
this.$refs.itemSelectProject.init(row,'material');
},
//()
handleCheckProjectM(row){
this.$refs.itemSelectProject.showFlag = true;
this.$refs.itemSelectProject.init(row,'material');
},
//
handleView(row){
this.$refs.itemSelectProject.showFlag = true;

@ -9,63 +9,8 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="批次号" prop="incomeBatchNo">
<el-input
v-model="queryParams.incomeBatchNo"
placeholder="请输入库存批次号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料号" prop="materialCode">
<el-input
v-model="queryParams.materialCode"
placeholder="请输入物料号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料名称" prop="materialName">
<el-input
v-model="queryParams.materialName"
placeholder="请输入物料名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="检验结果" prop="checkResult">
<el-select
v-model="queryParams.checkResult"
placeholder="检验结果"
clearable
>
<el-option
v-for="dict in dict.type.check_result"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="入库时间" prop="incomeTimeArray">
<el-date-picker
v-model="queryParams.incomeTimeArray"
format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="检测地点" prop="checkLoc">
<el-input
v-model="queryParams.checkLoc"
placeholder="请输入检测地点"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="检验时间" prop="checkTimeArray">
<el-form-item label="任务创建时间" prop="checkTimeArray" label-width="120px">
<el-date-picker
v-model="queryParams.checkTimeArray"
format="yyyy-MM-dd HH:mm:ss"
@ -124,6 +69,17 @@
v-hasPermi="['quality:qcInventory:export']"
>导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-magic-stick"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['quality:qcInventory:edit']"
>审核编辑</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -131,20 +87,18 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="recordId" align="center" prop="recordId" v-if="false"/>
<el-table-column label="checkType" align="center" prop="checkType" v-if="false"/>
<el-table-column label="检验任务编号" align="center" prop="checkNo" width="120"/>
<el-table-column label="库存批次号" align="center" prop="incomeBatchNo" width="120"/>
<el-table-column label="物料号" align="center" prop="materialCode" width="170"/>
<el-table-column label="物料名称" align="center" prop="materialName" width="150"/>
<el-table-column label="不合格数量" align="center" prop="noOkQuality" width="120"/>
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="供应商编码" align="center" prop="supplierCode" width="120"/>
<el-table-column label="供应商名称" align="center" prop="supplierName" width="240"/>
<el-table-column label="入库时间" align="center" prop="incomeTime" width="180">
<el-table-column label="检验任务编号" align="center" prop="checkNo" width="100"/>
<el-table-column label="库存批次号" align="center" prop="incomeBatchNo" width="100"/>
<el-table-column label="物料号" align="center" prop="materialCode" width="80"/>
<el-table-column label="物料名称" align="center" prop="materialName" width="100"/>
<el-table-column label="仓库编码" align="center" prop="supplierCode" width="90"/>
<el-table-column label="仓库名称" align="center" prop="supplierName" width="90"/>
<el-table-column label="检测地点" align="center" prop="checkLoc" width="100"/>
<el-table-column label="创建时间" align="center" prop="checkTime" width="100">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.incomeTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
<span>{{ parseTime(scope.row.checkTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column label="检测地点" align="center" prop="checkLoc" width="120"/>
<el-table-column label="检测状态" align="center" prop="checkStatus" >
<template slot-scope="scope">
<dict-tag
@ -155,33 +109,12 @@
</el-table-column>
<el-table-column label="检测人工号" align="center" prop="checkManCode" width="100"/>
<el-table-column label="检测人姓名" align="center" prop="checkManName" width="100"/>
<el-table-column label="检验时间" align="center" prop="checkTime" width="180">
<el-table-column label="检验时间" align="center" prop="checkTime" width="100">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.checkTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column label="检验结果" align="center" prop="checkResult" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleCheckProject(scope.row)"
v-hasPermi="['quality:qcIncome:edit']"
>检验</el-button>
<!--
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['quality:qcIncome:remove']"
>删除</el-button>
-->
</template>
</el-table-column>
</el-table>
<pagination
@ -214,45 +147,29 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="批次号" prop="incomeBatchNo">
<el-input v-model="form.incomeBatchNo" placeholder="请输入批次号">
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="物料名称" prop="materialName">
<el-input v-model="form.materialName" placeholder="请选择物料名称">
<el-button slot="append" @click="handleSelectMaterial" icon="el-icon-search"></el-button>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="物料号" prop="materialCode">
<el-input v-model="form.materialCode" placeholder="请输入物料号" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="批次号" prop="incomeBatchNo">
<el-input v-model="form.incomeBatchNo" placeholder="请输入批次号">
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="入库时间" prop="incomeTime">
<el-date-picker clearable
v-model="form.incomeTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择入库时间">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="抽样数量" prop="sampleQuality">
<el-input type="number" v-model="form.sampleQuality" placeholder="请输入抽样数量"/>
</el-form-item>
</el-col>
<el-col :span="6" v-for="(item,index) in form.defects" :key="index">
<el-form-item :label="item.defectSubclass" prop="">
<el-input type="number" v-model="item.noOkQuality" placeholder="请输入不合格数量" />
<el-input v-model="form.incomeTime" placeholder="" disabled/>
</el-form-item>
</el-col>
</el-row>
@ -283,11 +200,7 @@
<el-input v-model="form.checkManCode" placeholder="请输入检测人工号" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="检测地点" prop="checkLoc">
<el-input v-model="form.checkLoc" placeholder="请输入检测地点" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
@ -370,7 +283,7 @@ export default {
incomeTime: null,
checkLoc: null,
checkStatus: null,
checkManCode: null,
checkManCode: null,
checkManName: null,
checkTime: null,
checkResult: null,
@ -410,9 +323,9 @@ export default {
incomeTime: [
{ required: true, message: "来料时间不能为空", trigger: "blur" }
],
checkManName: [
{ required: true, message: "检测人不能为空", trigger: "blur" }
],
//checkManName: [
// { required: true, message: "", trigger: "blur" }
//],
checkLoc: [
{ required: true, message: "检测地点不能为空", trigger: "blur" }
],

@ -226,14 +226,14 @@
@click="handleCheckProject(scope.row)"
v-hasPermi="['quality:qcProduce:edit']"
>检验</el-button>
<!--
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['quality:qcProduce:remove']"
>删除</el-button>-->
icon="el-icon-magic-stick"
@click="handleCheckProjectM(scope.row)"
v-hasPermi="['quality:qcProduce:editM']"
>审核编辑</el-button>
</template>
</el-table-column>
</el-table>
@ -802,6 +802,11 @@ export default {
this.$refs.itemSelectProject.showFlag = true;
this.$refs.itemSelectProject.init(row,'produce');
},
//()
handleCheckProjectM(row){
this.$refs.itemSelectProject.showFlag = true;
this.$refs.itemSelectProject.init(row,'material');
},
//
handleView(row){
this.$refs.itemSelectProject.showFlag = true;

@ -151,17 +151,16 @@
>折线图表分析</el-button
>
</el-col>
<!--
<el-col :span="1.5">
<el-button
type="primary"
type="danger"
plain
icon="el-icon-s-data"
icon="el-icon-place"
size="mini"
@click="handleAnalysis3"
>综合图表分析</el-button
@click="handleCPK"
>CPK分析</el-button
>
</el-col>-->
</el-col>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
@ -239,7 +238,7 @@
<script>
import {
getDLTableAvgInfo,
getDLTableAvgInfo,getDLTableCPKInfo,
getDLDetailList,
getCheckTypeList,
getSupplierList,
@ -884,8 +883,8 @@ export default {
myChart1.setOption(option1);
},
//
handleAnalysis3() {
this.title = "综合图表分析";
handleCPK() {
this.title = "CPK分析";
if (
this.queryParams.projectNoArray.length > 0 &&
this.queryParams.projectNoArray.length < 2
@ -909,7 +908,7 @@ export default {
).format("YYYY-MM-DD");
}
getDLTableAvgInfo(this.queryParams).then((response) => {
getDLTableCPKInfo(this.queryParams).then((response) => {
this.detailechartslist = [];
this.seriesdata = [];
this.legenddata = [];
@ -1001,7 +1000,7 @@ export default {
var myChart1 = echarts.init(document.querySelector("#echart1"));
var option3 = {
title: {
text: '综合图表分析'
text: 'CPK分析'
},
tooltip: {
trigger: 'axis'
@ -1029,41 +1028,6 @@ export default {
type: 'value'
},
series: this.seriesdata
/**[
{
name: 'Email',
type: 'line',
stack: 'Total',
data: [120, 132, 101, 134, 90, 230, 210],
markLine: {
symbolSize: 0,//
data: [
{
lineStyle: {
color: '#ffc000',
width: 3
},
yAxis: 200,//
label: { show: true, position: 'end', formatter: '上限' }
},
{
lineStyle: {
color: '#4f81bd',
width: 3
},
yAxis: 100,
label: { show: true, position: 'end', formatter: '下限' }
}
]
}
},
{
name: 'Union Ads',
type: 'line',
stack: 'Total',
data: [220, 182, 191, 234, 290, 330, 310]
}
]**/
};
myChart1.setOption(option3);
},

@ -218,6 +218,14 @@
@click="handleCheckProject(scope.row)"
v-hasPermi="['quality:qcWarehousing:edit']"
>检验</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-magic-stick"
@click="handleCheckProjectM(scope.row)"
v-hasPermi="['quality:qcWarehousing:editM']"
>审核编辑</el-button>
</template>
</el-table-column>
</el-table>
@ -756,6 +764,12 @@ export default {
this.$refs.itemSelectProject.showFlag = true;
this.$refs.itemSelectProject.init(row,'product');
},
//()
handleCheckProjectM(row){
this.$refs.itemSelectProject.showFlag = true;
this.$refs.itemSelectProject.init(row,'material');
},
//
handleView(row){
this.$refs.itemSelectProject.showFlag = true;

@ -17,6 +17,15 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="SAP资产号" prop="sapAsset">
<el-input
v-model="queryParams.sapAsset"
placeholder="请输入SAP资产号"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="设备名称" prop="equipmentName">
<el-input
v-model="queryParams.equipmentName"
@ -189,8 +198,9 @@
label="设备编码"
align="center"
prop="equipmentCode"
width="100"
width="150"
fixed="left"
show-overflow-tooltip="true"
>
<template slot-scope="scope">
<el-button
@ -201,6 +211,12 @@
>
</template>
</el-table-column>
<el-table-column
label="SAP资产号"
align="center"
prop="sapAsset"
width="200"
/>
<el-table-column
label="设备名称"
align="center"
@ -639,7 +655,15 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-col :span="8">
<el-form-item label="电表编号" prop="attr2">
<el-input
v-model="form.attr2"
placeholder="请输入电表编号"
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="24">
<el-form-item label="备注" prop="remark">
@ -912,6 +936,9 @@
<el-descriptions-item label="设备编码">{{
form.equipmentCode
}}</el-descriptions-item>
<el-descriptions-item label="SAP资产号">{{
form.sapAsset
}}</el-descriptions-item>
<el-descriptions-item label="设备名称">{{
form.equipmentName
}}</el-descriptions-item>
@ -1327,6 +1354,7 @@ export default {
hourlyUnitPrice: null,
equipmentCategory: null,
factoryWorkshop: null,
sapAsset: null,
},
queryEquipmentHeadParams: {
pageNum: 1,
@ -1552,6 +1580,7 @@ export default {
sapCode: null,
sapName: null,
factoryWorkshop: null,
sapAsset: null,
};
this.resetForm("form");
},
@ -1608,7 +1637,7 @@ export default {
getWorkCenterList().then((response) => {
this.options1 = response.data;
});
this.repairRecordSteps = 0;
this.rightList = [];
this.auxiliaryEquipmentLeftList = [];
@ -1710,7 +1739,7 @@ export default {
this.rules.sapName.push({
required: true,
});
}
}
this.form.workCenter = this.form.workshopCode;
this.repairRecordSteps = 0;
this.queryAuxiliaryEquipmentParams.equipmentCode = null;

@ -0,0 +1,705 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="出库单号" prop="produceCode">
<el-input v-model="queryParams.produceCode" placeholder="请输入出库单号" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="批次号" prop="materialCode">
<el-input v-model="queryParams.userDefined1" placeholder="请输入型号编码" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<!-- <el-form-item label="型号名称" prop="materialDesc">
<el-input v-model="queryParams.materialDesc" placeholder="请输入型号名称" clearable
@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 type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['wms:outorder:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" @click="handleSAP"></el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['wms:outorder:remove']">删除</el-button>
</el-col> -->
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['wms:outorder:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="outorderList" @selection-change="handleSelectionChange"
:tree-props="{ children: 'list', hasChildren: 'hasChildren' }" row-key="id" border :default-expand-all="false">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" type="index" v-if="false" />
<el-table-column label="工厂编码" align="center" prop="siteCode" v-if="false" />
<el-table-column label="ID" align="center" prop="ID" v-if="false" />
<el-table-column label="出库单号" align="center" prop="produceCode" />
<el-table-column label="需求时间" align="center" prop="userDefined5" />
<el-table-column label="型号编码" align="center" prop="materialCode" />
<el-table-column label="型号名称" align="center" prop="materialDesc" />
<el-table-column label="批次号" align="center" prop="userDefined1" />
<!-- <el-table-column label="计划日期" align="center" prop="planDate" width="180" v-if="false">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.planDate, '{y}-{m}-{d}') }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="单位" align="center" prop="unit" v-if="false" />
<el-table-column label="计划数量" align="center" prop="planNumber" />
<el-table-column label="出库数量" align="center" prop="outNumber" />
<!-- <el-table-column label="托盘号" align="center" prop="userDefined2" /> -->
<el-table-column label="需求时间" align="center" prop="userDefined5" />
<el-table-column label="仓库编号" align="center" prop="locCode" />
<el-table-column label="库位名称" align="center" prop="locDesc" v-if="false" />
<el-table-column label="产线名称" align="center" prop="productionLineDesc" v-if="false" />
<el-table-column label="产线" align="center" prop="productionLineCode" />
<el-table-column label="状态" align="center" prop="orderStatus">
<template slot-scope="scope">
<span v-if="scope.row.orderStatus === '1'"></span>
<span v-else-if="scope.row.orderStatus === '2'">进行中</span>
<span v-else-if="scope.row.orderStatus === '3'">完成</span>
</template>
</el-table-column>
<el-table-column label="反冲标识" align="center" prop="userDefined3" />
<el-table-column label="sap过账状态" align="center" prop="userDefined10">
<template slot-scope="scope">
<span v-if="scope.row.userDefined10 === '1'"></span>
<span v-else-if="scope.row.userDefined10 === '2'">过账成功</span>
<span v-else-if="scope.row.userDefined10 === '3'">过账失败</span>
</template>
</el-table-column>
<el-table-column label="过账凭证" align="center" prop="userDefined9" />
<!-- <el-table-column label="sap过账信息" align="center" prop="userDefined11" />-->
<el-table-column label="sap订单过账信息" align="center" prop="userDefined11" />
<!-- <el-table-column label="sap反冲过账信息" align="center" prop="sapXMag" />-->
<el-table-column label="操作人" align="center" prop="createBy" />
<el-table-column label="操作时间" align="center" prop="createDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createDate, '{y}-{m}-{d} {h}:{i}:{s}') }}</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" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['wms:outorder:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['wms:outorder:remove']">删除</el-button>
</template>
</el-table-column> -->
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
<!-- 添加或修改包材出库单对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body>
<el-form ref="queryParams1" :model="queryParams1" :inline="true" :rules="rulesadd" label-width="130px">
<el-form-item label="物料编号" prop="materialCode">
<el-input style="width: 230px" v-model="queryParams1.materialCode"
placeholder="请输入物料编号" />
</el-form-item>
<el-form-item label="计划开始时间" prop="planDateMin">
<el-date-picker
v-model="queryParams1.planDateMin"
type="date"
placeholder="选择计划开始时间"
style="width: 230px"
@change="handlePlanDateMinChange"></el-date-picker>
</el-form-item>
<el-form-item label="计划结束时间" prop="planDateMax">
<el-date-picker
v-model="queryParams1.planDateMax"
type="date"
placeholder="选择计划结束时间"
style="width: 230px"
@change="handlePlanDateMaxChange"></el-date-picker>
</el-form-item>
<el-form-item label="仓库编码" prop="warehouseNo">
<el-select v-model="queryParams1.warehouseNo" placeholder="请选择仓库编码" @change="forceUpdate()" clearable
filterable style="width: 230px">
<el-option v-for="item in Optionlistck" :key="item.warehouseCode" :label="item.warehouseName"
:value="item.warehouseCode"></el-option>
</el-select>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handlequeryform"></el-button>
</el-col>
<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> -->
</el-row>
<el-table :data="addoutorderList" @selection-change="handleSelectionChange1">
<el-table-column type="selection" width="55" align="center" :index="indexMethod" />
<el-table-column label="序号" type="index"> </el-table-column>
<el-table-column label="物料描述" align="center" prop="materialDesc" />
<el-table-column label="物料编号" align="center" prop="materialCode" />
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="数量" align="center" prop="planNumber" />
<el-table-column label="出库数量" align="center" prop="outNumber" />
<el-table-column label="需求时间" align="center" prop="userDefined5" />
<el-table-column label="工厂号" align="center" prop="siteCode" />
<el-table-column label="剩余数量" align="center">
<template slot-scope="scope">
{{ scope.row.planNumber - scope.row.outNumber }}
</template>
</el-table-column>
<el-table-column label="操作数量" align="center" width="180">
<template slot-scope="scope">
<el-input v-model="scope.row.qty" @change="handleQtyChange(scope.row, $event)"></el-input>
</template>
</el-table-column>
<!-- <el-table-column label="反冲标识" align="center" prop="userDefined3" />-->
</el-table>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listOutorder,
getOutorder,
delOutorder,
PurchaseOrderOutboundPda,
addPurchaseOrderOutbound,
getlistCK,
OutboundPostingSAP,
listOutorderZU
} from '@/api/wms/outorderfc'
export default {
name: "Outorder",
data() {
return {
//
loading: true,
// id
ids: [],
//
selectabletrows:[],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
outorderList: [
],
// outorderListceshi: [
// {
// createBy: 'admin',
// siteCode: '1000',
// produceCode: '000100305998',
// materialCode: '000000040000015127',
// materialDesc: 'Ф134mm×H100mm 36(2201)',
// planDate: '2023-12-25',
// planNumber: 3000.0,
// outNumber: 3000.0,
// locCode: 'WH02',
// productionLineCode: 'LJ8',
// orderStatus: '3',
// userDefined1: '20231225154549',
// userDefined2: '00001',
// userDefined3: '',
// userDefined10: '1',
// createDate: '2023-12-25',
// id: '18d2af6969e0405ba202a5c09bc14f33',
// active: '1',
// unit: 'ST',
// list: [
// {
// createBy: 'admin',
// siteCode: '1000',
// produceCode: '000100305998',
// materialCode: '000000040000015127',
// materialDesc: 'Ф134mm×H100mm 36(2201)',
// planDate: '2023-12-25',
// planNumber: 3000.0,
// outNumber: 3000.0,
// locCode: 'WH02',
// productionLineCode: 'LJ8',
// orderStatus: '3',
// userDefined1: '20231225154549',
// userDefined2: '00001',
// userDefined3: '',
// userDefined10: '1',
// createDate: '2023-12-25',
// id: '18d2af6969e0405ba202a5c09bc14f331',
// active: '1',
// unit: 'ST',
// },
// {
// createBy: 'admin',
// siteCode: '1000',
// produceCode: '000100305998',
// materialCode: '000000040000015127',
// materialDesc: 'Ф134mm×H100mm 36(2201)',
// planDate: '2023-12-25',
// planNumber: 3000.0,
// outNumber: 3000.0,
// locCode: 'WH02',
// productionLineCode: 'LJ8',
// orderStatus: '3',
// userDefined1: '20231225154549',
// userDefined2: '00001',
// userDefined3: '',
// userDefined10: '1',
// createDate: '2023-12-25',
// id: '18d2af6969e0405ba202a5c09bc14f332',
// active: '1',
// unit: 'ST',
// },
// ],
// },
// {
// createBy: 'admin',
// siteCode: '1000',
// produceCode: '000100305998',
// materialCode: '000000040000015127',
// materialDesc: 'Ф134mm×H100mm 36(2201)',
// planDate: '2023-12-25',
// planNumber: 3000.0,
// outNumber: 3000.0,
// locCode: 'WH02',
// productionLineCode: 'LJ8',
// orderStatus: '3',
// userDefined1: '20231225154549',
// userDefined2: '00001',
// userDefined3: '',
// userDefined10: '1',
// createDate: '2023-12-25',
// id: '18d2af6969e0405ba202a5c09bc14f32',
// active: '1',
// unit: 'ST',
// },
// ],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
siteCode: null,
produceCode: null,
materialCode: null,
materialDesc: null,
planDate: null,
planNumber: null,
qty: null,
Unit: null,
outNumber: null,
locCode: null,
locDesc: null,
productionLineDesc: null,
productionLineCode: null,
orderStatus: null,
userDefined1: null,
userDefined2: null,
userDefined3: null,
userDefined4: null,
userDefined5: null,
userDefined6: null,
userDefined7: null,
userDefined8: null,
userDefined9: null,
userDefined10: null,
userDefined11: null,
supplierCode: null,
supplierName: null,
createBy: null,
createDate: null,
lastUpdateBy: null,
lastUpdateDate: null,
Active: null,
enterpriseId: null,
enterpriseCode: null
},
queryParams1: {
pageNum: 1,
pageSize: 10,
produceCode: '',
warehouseNo: '',
planDateMax: '',
planDateMin: '',
materialCode:'',
},
queryParams2: {
orderNo: '',
ken: '',
warehouseNo: '',
list: [],
},
queryParams3: {
ID: '',
},
//
form: {},
//
rules: {
},
formadd: {},
rulesadd: {
produceCode: [
{ required: true, message: "领料单号不能为空", trigger: "blur" }
],
warehouseNo: [
{ required: true, message: "仓库编码不能为空", trigger: "blur" }
],
},
Optionlistck: [],
Packagingline: [
{
stationNo: 'XL01',
stationname: '包装线01',
},
{
stationNo: 'XL02',
stationname: '包装线02',
},
{
stationNo: 'XL03',
stationname: '包装线03',
},
{
stationNo: 'XL04',
stationname: '包装线04',
},
{
stationNo: 'XL05',
stationname: '包装线05',
},
{
stationNo: 'XL06',
stationname: '包装线06',
},
{
stationNo: 'XL07',
stationname: '包装线07',
},
{
stationNo: 'XL08',
stationname: '包装线08',
},
{
stationNo: 'XL09',
stationname: '包装线09',
},
{
stationNo: 'XL10',
stationname: '包装线10',
},
{
stationNo: 'XL11',
stationname: '包装线11',
},
{
stationNo: 'XL12',
stationname: '包装线12',
},
{
stationNo: 'XL13',
stationname: '包装线13',
},
{
stationNo: 'XL14',
stationname: '包装线14',
},
{
stationNo: 'XL15',
stationname: '包装线15',
},
],
selectedRows: [],
stationNo: '',
addoutorderList: [],
produceCodeTEM: '',
};
},
created() {
this.getList();
this.getselect()
},
methods: {
/** 查询包材出库单列表 */
indexMethod(index) {
return index + 1;
},
getList() {
this.loading = true;
// this.outorderList.forEach((item, index) => {
// item.index = index + 1
// });
listOutorderZU(this.queryParams).then(response => {
this.outorderList = response.rows;
this.outorderList.forEach((item,index) => {
item.index = index+1
});
this.total = response.total;
this.loading = false;
});
},
getList1() {
this.loading = true;
//
PurchaseOrderOutboundPda(this.queryParams1).then(response => {//000100220987
this.addoutorderList = response.data.list;
this.produceCodeTEM=response.data.produceCode;
console.log(this.addoutorderList)
// this.total = response.total;
// this.loading = false;
});
},
getselect() {
// config.headers['poolName'] = localStorage.getItem('USER_POOL_NAME_CURRENT');
let factoryCode = localStorage.getItem('USER_POOL_NAME_CURRENT').substring(3)
let params = { factoryCode: factoryCode }; //
let paramsJSON = JSON.stringify(params); // JSON
console.log(factoryCode)
getlistCK(paramsJSON).then(response => {
this.Optionlistck = response.data
console.log(this.Optionlistck)
});
},
handleSelectionChange1(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
this.selectedRows = selection;
},
change1(selection) {
console.log(selection)
},
forceUpdate(selection) {
console.log(selection)
},
//
cancel() {
this.open = false;
this.reset();
this.queryForm = {}
},
//
reset() {
this.form = {
siteCode: null,
ID: null,
produceCode: null,
materialCode: null,
materialDesc: null,
planDate: null,
planNumber: null,
qty: null,
Unit: null,
outNumber: null,
locCode: null,
locDesc: null,
productionLineDesc: null,
productionLineCode: null,
orderStatus: null,
userDefined1: null,
userDefined2: null,
userDefined3: null,
userDefined4: null,
userDefined5: null,
userDefined6: null,
userDefined7: null,
userDefined8: null,
userDefined9: null,
userDefined10: null,
userDefined11: null,
supplierCode: null,
supplierName: null,
createBy: null,
createDate: null,
lastUpdateBy: null,
lastUpdateDate: null,
Active: null,
enterpriseId: null,
enterpriseCode: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
handlequeryform() {
this.queryParams1.pageNum = 1;
this.getList1();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.selectabletrows = selection;
console.log('selectabletrows',this.selectabletrows);
this.single = selection.length !== 1
this.multiple = !selection.length
},
handleQtyChange(row, event) {
// row qty
row.qty = event;
//
// this.saveQtyToServer(row.id, event);
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加包材出库单--反冲类型";
this.queryParams1 = {}
this.addoutorderList = []
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const ID = row.ID || this.ids
getOutorder(ID).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改包材出库单";
});
},
handlePlanDateMinChange(value) {
this.queryParams1.planDateMin = this.formatDateToString(value);
this.forceUpdate();
},
handlePlanDateMaxChange(value) {
this.queryParams1.planDateMax = this.formatDateToString(value);
this.forceUpdate();
},
formatDateToString(date) {
if (!date) return '';
const d = new Date(date);
return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}`;
},
handleSAP(row) {
console.log(this.ids)
let postData = this.selectabletrows.map(item => ({ produceCode: item.produceCode,userDefined1:item.userDefined1 }));
//let postData = this.ids.map(id => ({ id: id }));
console.log(postData)
OutboundPostingSAP(JSON.stringify(postData)).then(response => {
this.$modal.msgSuccess("操作完成");
});
},
/** 提交按钮 */
submitForm() {
const _this = this
this.$refs["queryParams1"].validate(valid => {
if (valid) {
console.log(_this.selectedRows)
if (_this.selectedRows.length <= 0) {
_this.$modal.msgError("请选择");
return
}
let tem = ""
_this.selectedRows.forEach(function (row) {
// row
if (row.outNumber === row.planNumber) {
_this.$modal.msgError("已经出完");
tem = "0"
}
});
if (tem == "0") {
return
}
// var bull = _this.selectedRows.some((item) => {
// // console.log(item.stationNo == undefined || item.stationNo == '',item.stationNo)
// return item.productionLineCode == undefined || item.productionLineCode == ''
// })
//
// if (bull) {
// _this.$modal.msgError("线");
// return
// }
_this.selectedRows.forEach(function(row) {
//
row.stationNo = row.productionLineCode;
console.log(row);
});
if (this.form.ID != null) {
// updateOutorder(this.form).then(response => {
// this.$modal.msgSuccess("");
// this.open = false;
// this.getList();
// });
} else {
//this.queryParams2.orderNo = this.queryParams1.produceCode
this.queryParams2.orderNo = this.produceCodeTEM
this.queryParams2.warehouseNo = this.queryParams1.warehouseNo
this.queryParams2.list = _this.selectedRows
this.queryParams2.ken = 2
addPurchaseOrderOutbound(JSON.stringify(_this.queryParams2)).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const IDs = row.ID || this.ids;
this.$modal.confirm('是否确认删除包材出库单编号为"' + IDs + '"的数据项?').then(function () {
return delOutorder(IDs);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('wms/outorder/export', {
...this.queryParams
}, `outorder_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -276,7 +276,8 @@
<el-table-column label="ID" align="center" prop="id" v-if="false"/>
<!-- <el-table-column label="工厂编码" align="center" prop="factoryCode" />-->
<el-table-column label="生产工单号" align="center" prop="productOrder" width="200px"/>
<el-table-column label="批次" align="center" prop="batchNumber" width="200px"/>
<el-table-column label="生产批次" align="center" prop="batchNumber" width="200px"/>
<el-table-column label="入库批次" align="center" prop="attr4" width="200px"/>
<el-table-column label="报工单号" align="center" prop="workOrder" width="200px"/>
<el-table-column label="仓库编码" align="center" prop="whCode" />
<el-table-column label="库区编码" align="center" prop="waCode" v-if="false"/>
@ -319,24 +320,24 @@
<!-- <el-table-column label="预留字段8" align="center" prop="attr8" />-->
<!-- <el-table-column label="预留字段9" align="center" prop="attr9" />-->
<!-- <el-table-column label="预留字段10" align="center" prop="attr10" />-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['wms:put:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['wms:put:remove']"
>删除</el-button>
</template>
</el-table-column>
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-edit"-->
<!-- @click="handleUpdate(scope.row)"-->
<!-- v-hasPermi="['wms:put:edit']"-->
<!-- >修改</el-button>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['wms:put:remove']"-->
<!-- >删除</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
<pagination

Loading…
Cancel
Save