Commit f3cf84a3 authored by 仇晓婷's avatar 仇晓婷

bug

parent 669c07ff
<template>
<div class="scheduling">
<div class="aps-l">
<Row class="row-p">
<Col :span="10" class="chan-chi">整机排产-排产池</Col>
<Col :span="14" class="l-ringht">
<!-- <RadioGroup v-model="status" type="button" @on-change="changeStatus" size="small">
<div>
<div class="back-href">
<a @click="viewClose">
<Icon type="ios-undo-outline" size="24" />返回计划管理
</a>
</div>
<div class="scheduling">
<div class="aps-l">
<Row class="row-p">
<Col :span="10" class="chan-chi">整机排产-排产池</Col>
<Col :span="14" class="l-ringht">
<!-- <RadioGroup v-model="status" type="button" @on-change="changeStatus" size="small">
<Radio label="0">未排产</Radio>-->
<!-- <Radio label="2">已排查</Radio> -->
<!-- <Radio label="-1">全部</Radio> -->
<!-- </RadioGroup> -->
</Col>
</Row>
<div class="left-down">
<div
class="left-body"
v-for="(li, index) in list"
:key="index"
:class="li.checked == true ? 'addclass' : ''"
>
<Row class="title-i">
<Col :span="20" class="order-code">
<Checkbox
v-model="li.checked"
@on-change="checkData(li)"
:disabled="li.status == 0 ? false : true"
>订单号:{{ li.mesCode }}</Checkbox
>
</Col>
<Col :span="4" class="order-ringht">
<Icon type="md-close" @click="close(li.id)" />
</Col>
</Row>
<div class="fa">产品名称:{{ li.productName }}</div>
<div class="time-s">产品数量:{{ li.quantity }}</div>
<!-- <div class="time-s">
<!-- <Radio label="2">已排查</Radio> -->
<!-- <Radio label="-1">全部</Radio> -->
<!-- </RadioGroup> -->
</Col>
</Row>
<div class="left-down">
<div
class="left-body"
v-for="(li, index) in list"
:key="index"
:class="li.checked == true ? 'addclass' : ''"
>
<Row class="title-i">
<Col :span="20" class="order-code">
<Checkbox
v-model="li.checked"
@on-change="checkData(li)"
:disabled="li.status == 0 ? false : true"
>订单号:{{ li.mesCode }}</Checkbox
>
</Col>
<Col :span="4" class="order-ringht">
<Icon type="md-close" @click="close(li.id)" />
</Col>
</Row>
<div class="fa">产品名称:{{ li.productName }}</div>
<div class="time-s">产品数量:{{ li.quantity }}</div>
<!-- <div class="time-s">
<span>工序:{{li.drawnNumber}}</span>
</div> -->
<div class="time-s">
{{ li.demandFinishDate }} ~ {{ li.demandStartDate }}
<div class="time-s">
{{ li.demandFinishDate }} ~ {{ li.demandStartDate }}
</div>
</div>
</div>
</div>
</div>
<div class="aps-r" v-show="showSet">
<div class="r-title">排产设置盘</div>
<Form :model="formItem" :label-width="100">
<FormItem label="工时">
<DatePicker
type="datetimerange"
format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择工时"
@on-change="changeFormat"
v-model="formItem.time"
style="width: 300px"
></DatePicker>
</FormItem>
<FormItem label="类型">
<RadioGroup v-model="formItem.radio">
<Radio label="0">人员</Radio>
<Radio label="1">班组</Radio>
</RadioGroup>
</FormItem>
<FormItem v-if="formItem.radio == 0">
<UserSelect v-model="user" :multiple="true" />
</FormItem>
<FormItem label="班组" v-if="formItem.radio == 1">
<!-- <DepartmentSelect :type="3" v-model="formItem.shopId"/> -->
<Select
v-model="formItem.shopId"
placeholder="请选择"
style="width: 300px"
>
<Option
v-for="(item, index) in listClass"
:key="index"
:value="item.value"
:label="item.label"
style="display: none"
></Option>
<Tree
key="mytree"
:data="workShop"
ref="mytree"
:render="renderContent"
></Tree>
</Select>
</FormItem>
<FormItem label="备注">
<Input
v-model="formItem.remark"
type="textarea"
:autosize="{ minRows: 2, maxRows: 5 }"
placeholder="请输入备注信息"
></Input>
</FormItem>
<FormItem>
<Button style="margin-left: 8px" @click="closeOk">取消</Button>
<Button type="primary" @click="lowerHair" v-noClick>下发</Button>
</FormItem>
</Form>
<div class="aps-r" v-show="showSet">
<div class="r-title">排产设置盘</div>
<Form :model="formItem" :label-width="100">
<FormItem label="工时">
<DatePicker
type="datetimerange"
format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择工时"
@on-change="changeFormat"
v-model="formItem.time"
style="width: 300px"
></DatePicker>
</FormItem>
<FormItem label="类型">
<RadioGroup v-model="formItem.radio">
<Radio label="0">人员</Radio>
<Radio label="1">班组</Radio>
</RadioGroup>
</FormItem>
<FormItem v-if="formItem.radio == 0">
<UserSelect v-model="user" :multiple="true" />
</FormItem>
<FormItem label="班组" v-if="formItem.radio == 1">
<!-- <DepartmentSelect :type="3" v-model="formItem.shopId"/> -->
<Select
v-model="formItem.shopId"
placeholder="请选择"
style="width: 300px"
>
<Option
v-for="(item, index) in listClass"
:key="index"
:value="item.value"
:label="item.label"
style="display: none"
></Option>
<Tree
key="mytree"
:data="workShop"
ref="mytree"
:render="renderContent"
></Tree>
</Select>
</FormItem>
<FormItem label="备注">
<Input
v-model="formItem.remark"
type="textarea"
:autosize="{ minRows: 2, maxRows: 5 }"
placeholder="请输入备注信息"
></Input>
</FormItem>
<FormItem>
<Button style="margin-left: 8px" @click="closeOk">取消</Button>
<Button type="primary" @click="lowerHair" v-noClick>下发</Button>
</FormItem>
</Form>
</div>
</div>
</div>
</template>
......@@ -126,7 +133,7 @@ export default {
showSet: false,
// userName: ""
},
user:'',
user: "",
showSet: false,
// listGroup: [
// {
......@@ -169,6 +176,9 @@ export default {
this.orderlist(0);
},
methods: {
viewClose() {
this.$router.push("/aps/plan");
},
// 过滤条件
changeStatus(name) {
this.status = name;
......@@ -338,6 +348,9 @@ export default {
</script>
<style lang="less" scoped>
@import "../../../assets/css/custom.less";
.back-href {
height: 35px;
}
.addclass {
border-color: rgba(38, 128, 235, 0.2) !important;
.title-i {
......
<template>
<div class="scheduling">
<div class="aps-l">
<Row class="row-p">
<Col :span="9" class="chan-chi">流水排产-排产池</Col>
<Col :span="15" class="l-ringht">
<!-- <RadioGroup v-model="status" type="button" @on-change="changeStatus" size="small">
<div>
<div class="back-href">
<a @click="viewClose">
<Icon type="ios-undo-outline" size="24" />返回计划管理
</a>
</div>
<div class="scheduling">
<div class="aps-l">
<Row class="row-p">
<Col :span="9" class="chan-chi">流水排产-排产池</Col>
<Col :span="15" class="l-ringht">
<!-- <RadioGroup v-model="status" type="button" @on-change="changeStatus" size="small">
<Radio label="0">未排产</Radio>-->
<!-- <Radio label="2">已排查</Radio> -->
<!-- <Radio label="-1">全部</Radio> -->
<!-- </RadioGroup> -->
</Col>
</Row>
<div class="left-down">
<div
class="left-body"
v-for="(li, index) in list"
:key="index"
@click="listData(li, index)"
:class="isactive == index ? 'addclass' : ''"
>
<Row class="title-i">
<Col :span="20" class="order-code">订单号:{{ li.mesCode }}</Col>
<Col :span="4" class="order-ringht">
<Icon type="md-close" @click="close(li.id)" />
</Col>
</Row>
<div class="fa">产品名称:{{ li.productName }}</div>
<div class="time-s">
<!-- <Icon type="ios-copy" /> -->
<span>工序:{{ li.drawnNumber }}</span>
</div>
<div class="time-s">
{{ li.demandFinishDate }}{{ li.demandStartDate }}
<!-- <Radio label="2">已排查</Radio> -->
<!-- <Radio label="-1">全部</Radio> -->
<!-- </RadioGroup> -->
</Col>
</Row>
<div class="left-down">
<div
class="left-body"
v-for="(li, index) in list"
:key="index"
@click="listData(li, index)"
:class="isactive == index ? 'addclass' : ''"
>
<Row class="title-i">
<Col :span="20" class="order-code">订单号:{{ li.mesCode }}</Col>
<Col :span="4" class="order-ringht">
<Icon type="md-close" @click="close(li.id)" />
</Col>
</Row>
<div class="fa">产品名称:{{ li.productName }}</div>
<div class="time-s">
<!-- <Icon type="ios-copy" /> -->
<span>工序:{{ li.drawnNumber }}</span>
</div>
<div class="time-s">
{{ li.demandFinishDate }}{{ li.demandStartDate }}
</div>
</div>
</div>
</div>
</div>
<div class="aps-r">
<!-- <div class="g-list">工序列表</div> -->
<Row class="g-list">
<Col :span="2">
<span class="cha-chi">工序列表</span>
</Col>
<Col :span="16">
<span></span>
</Col>
<Col :span="6">
<RadioGroup
v-model="mode"
type="button"
size="small"
@on-change="changeMode"
>
<Radio :label="1">一级排产</Radio>
<Radio :label="2">二级排产</Radio>
</RadioGroup>
<Button
type="primary"
@click="lowerHair"
:disabled="!allow"
v-if="showXia"
>下发</Button
>
</Col>
</Row>
<Row class="right-body">
<Col class="list" span="24">
<Timeline>
<TimelineItem v-for="(item, index) in result" :key="index">
<Badge :count="item.seq" slot="dot" :type="type(index)"></Badge>
<div class="set-name">
<span
@click="sets(item, index)"
class="mr20"
:class="active == index ? 'gongTitle' : ''"
>工序名称:{{ item.name }}</span
>
<op
title="拆分工序"
@click="split(item, index)"
type="icon"
icon="ios-cut"
v-if="item.quantity > 1 && !item.chai"
></op>
<op
title="移除"
@click="remove(item, index)"
type="icon"
icon="ios-trash"
oprate="delete"
v-if="item.chai"
></op>
</div>
<div class="aps-r">
<!-- <div class="g-list">工序列表</div> -->
<Row class="g-list">
<Col :span="2">
<span class="cha-chi">工序列表</span>
</Col>
<Col :span="16">
<span></span>
</Col>
<Col :span="6">
<RadioGroup
v-model="mode"
type="button"
size="small"
@on-change="changeMode"
>
<Radio :label="1">一级排产</Radio>
<Radio :label="2">二级排产</Radio>
</RadioGroup>
<Button
type="primary"
@click="lowerHair"
:disabled="!allow"
v-if="showXia"
>下发</Button
>
</Col>
</Row>
<Row class="right-body">
<Col class="list" span="24">
<Timeline>
<TimelineItem v-for="(item, index) in result" :key="index">
<Badge :count="item.seq" slot="dot" :type="type(index)"></Badge>
<div class="set-name">
<span
@click="sets(item, index)"
class="mr20"
:class="active == index ? 'gongTitle' : ''"
>工序名称:{{ item.name }}</span
>
<op
title="拆分工序"
@click="split(item, index)"
type="icon"
icon="ios-cut"
v-if="item.quantity > 1 && !item.chai"
></op>
<op
title="移除"
@click="remove(item, index)"
type="icon"
icon="ios-trash"
oprate="delete"
v-if="item.chai"
></op>
</div>
<div class="content">数量:{{ item.quantity }}</div>
<div class="content">数量:{{ item.quantity }}</div>
<div v-show="item.userIds" class="content">
人员:
<span v-for="(u, j) in item.userIds" :key="j">
<User :value="u"></User>&nbsp;&nbsp;&nbsp;
</span>
</div>
<div v-show="item.shopName" class="content">
班组:
{{ item.shopName }}
</div>
<div v-show="item.beginTime" class="content">
时间:
{{ item.beginTime }} —— {{ item.endTime }}
</div>
<div v-show="item.remark" class="content">
备注:
{{ item.remark }}
</div>
<!-- <div>工序号:{{item.task_seq}}</div> -->
</TimelineItem>
</Timeline>
<div>
<Drawer
title="排产设置盘"
:closable="false"
v-model="set"
width="55%"
>
<Set
:mode="mode"
:detailId="detailId"
:indexId="indexId"
@closeOk="closeOk"
ref="setObj"
@on-DetermineOk="DetermineOk"
></Set>
</Drawer>
</div>
<!-- <List :result="result"></List> -->
</Col>
</Row>
<div v-show="item.userIds" class="content">
人员:
<span v-for="(u, j) in item.userIds" :key="j">
<User :value="u"></User>&nbsp;&nbsp;&nbsp;
</span>
</div>
<div v-show="item.shopName" class="content">
班组:
{{ item.shopName }}
</div>
<div v-show="item.beginTime" class="content">
时间:
{{ item.beginTime }} —— {{ item.endTime }}
</div>
<div v-show="item.remark" class="content">
备注:
{{ item.remark }}
</div>
<!-- <div>工序号:{{item.task_seq}}</div> -->
</TimelineItem>
</Timeline>
<div>
<Drawer
title="排产设置盘"
:closable="false"
v-model="set"
width="55%"
>
<Set
:mode="mode"
:detailId="detailId"
:indexId="indexId"
@closeOk="closeOk"
ref="setObj"
@on-DetermineOk="DetermineOk"
></Set>
</Drawer>
</div>
<!-- <List :result="result"></List> -->
</Col>
</Row>
</div>
<!-- 拆分 fenModel -->
<Modal
v-model="chaiModal"
title="拆分工序"
:width="400"
:mask-closable="false"
ok-text="拆分"
@on-ok="okChai()"
>
拆分数量:
<InputNumber v-model="chaiNum" :min="1" :max="maxnum"></InputNumber>
<Slider
v-if="maxnum > 1"
v-model="chaiNum"
:min="1"
:max="maxnum"
></Slider>
</Modal>
</div>
<!-- 拆分 fenModel -->
<Modal
v-model="chaiModal"
title="拆分工序"
:width="400"
:mask-closable="false"
ok-text="拆分"
@on-ok="okChai()"
>
拆分数量:
<InputNumber v-model="chaiNum" :min="1" :max="maxnum"></InputNumber>
<Slider
v-if="maxnum > 1"
v-model="chaiNum"
:min="1"
:max="maxnum"
></Slider>
</Modal>
</div>
</template>
<script>
......@@ -197,6 +205,9 @@ export default {
this.orderlist(0);
},
methods: {
viewClose() {
this.$router.push("/aps/plan");
},
// 排产池过滤条件
changeStatus(a) {
this.status = a;
......
......@@ -211,7 +211,7 @@ export default {
disabled: false,
entity: {
id: 0,
status: "",
status: 0,
items: [],
},
rules: {
......@@ -225,6 +225,7 @@ export default {
columns: [
{
title: "序号",
// key: "index",
type: "index",
width: 80,
align: "center",
......@@ -308,7 +309,8 @@ export default {
let item = [];
item = this.checkList;
if (item) {
item.forEach((c) => {
item.forEach((c, index) => {
c.index = index;
return delete c.id;
});
}
......
<template>
<Layout class="full">
<Layout class="full">
<Sider hide-trigger v-if="showMenu" class="menu_side" width="300">
<StoreTree @on-hide="onHide" @on-select="productSearch" />
<StoreTree @on-hide="onHide" @on-select="productSearch" />
</Sider>
<!-- <Icon type="icon iconfont icondaochu" size="24" /> -->
<div v-if="!showMenu" class="show_menu">
<a class="menu_play fr" @click="showMenuFn" title="展开">
<Icon type="ios-arrow-forward" size="24" />
</a>
<a class="menu_play fr" @click="showMenuFn" title="展开">
<Icon type="ios-arrow-forward" size="24" />
</a>
</div>
<Content class="content" :class="!showMenu?'con_bord':''">
<DataGrid :columns="columns" ref="grid" :action="action" :conditions="easySearch" :batch="true" :format="checkData" @all-change="allchange" @on-selection-change="onSelect" exportTitle="制造资源">
<template slot="easySearch">
<Form ref="formInline" :model="easySearch" inline>
<FormItem prop="keys">
<Input clearable placeholder="请输入资源名称/资源编码/编码" v-model.trim="easySearch.keys.value" v-width="260" />
</FormItem>
<FormItem>
<Button type="primary" @click="search">查询</Button>
</FormItem>
<FormItem>
<a href="#" @click="lendingRecord" class="ml20">借出记录</a>
</FormItem>
</Form>
</template>
<template slot="buttons">
<Button type="primary" @click="add">入库</Button>
<!-- <Button type="primary" @click="returnModel=true">归还</Button> -->
<Badge :count="this.$store.state.count" overflow-count="99" style="margin-right:5px;" :offset='postion'>
<Button icon="md-cart" @click="showCart">借出车</Button>
</Badge>
<Button @click="openModalIm">导入</Button>
</template>
<template slot="batch">
<Button type="primary" class="mr10 ml10" @click="addCart">加入借出车</Button>
</template>
</DataGrid>
<Modal v-model="modal" :title="title" width="1200" footer-hide :fullscreen="fscreeen">
<component :is="detail" :eid="curId" :rootName="rootName" :storeTitle="storeTitle" :materialType="materialType" :codeRuleType="codeRuleType" :storeId="storeId" :mcode="mCode" :cartList="this.$u.clone(this.$store.state.cart)" @on-close="cancel" @on-ok="ok" @substr="substr" />
</Modal>
<ImportExcel ref="importExcel" @on-get-data="getData" modalTitle="制造资源" :columns="columns" :open="ModalIm" @on-cancel="ModalImCancel" @on-ok="ok" />
<Content class="content" :class="!showMenu ? 'con_bord' : ''">
<DataGrid
:columns="columns"
ref="grid"
:action="action"
:conditions="easySearch"
:batch="true"
:format="checkData"
@all-change="allchange"
@on-selection-change="onSelect"
exportTitle="制造资源"
>
<template slot="easySearch">
<Form ref="formInline" :model="easySearch" inline>
<FormItem prop="keys">
<Input
clearable
placeholder="请输入资源名称/资源编码/编码"
v-model.trim="easySearch.keys.value"
v-width="260"
/>
</FormItem>
<FormItem>
<Button type="primary" @click="search">查询</Button>
</FormItem>
<FormItem>
<a href="#" @click="lendingRecord" class="ml20">借出记录</a>
</FormItem>
</Form>
</template>
<template slot="buttons">
<Button type="primary" @click="add">入库</Button>
<!-- <Button type="primary" @click="returnModel=true">归还</Button> -->
<Badge
:count="this.$store.state.count"
overflow-count="99"
style="margin-right: 5px"
:offset="postion"
>
<Button icon="md-cart" @click="showCart">借出车</Button>
</Badge>
<Button @click="openModalIm">导入</Button>
</template>
<template slot="batch">
<Button type="primary" class="mr10 ml10" @click="addCart"
>加入借出车</Button
>
</template>
</DataGrid>
<Modal
v-model="modal"
:title="title"
width="1200"
footer-hide
:fullscreen="fscreeen"
>
<component
:is="detail"
:eid="curId"
:rootName="rootName"
:storeTitle="storeTitle"
:materialType="materialType"
:codeRuleType="codeRuleType"
:storeId="storeId"
:mcode="mCode"
:cartList="this.$u.clone(this.$store.state.cart)"
@on-close="cancel"
@on-ok="ok"
@substr="substr"
/>
</Modal>
<ImportExcel
ref="importExcel"
@on-get-data="getData"
modalTitle="制造资源"
:columns="columns"
:open="ModalIm"
@on-cancel="ModalImCancel"
@on-ok="ok"
/>
</Content>
</Layout>
</Layout>
</template>
<script>
import Api from "./api";
import Search from "./search";
export default {
name: "list",
components: {
Search,
},
// head: {
// title: "库存表",
// author: "henq",
// description: "stock 7/13/2020 11:48:09 AM",
// },
data() {
return {
action: Api.index,
showMenu: true,
easySearch: {
keys: {
op: "nameOfResource,code,resourceCode",
value: null,
},
},
postion: [10, 10],
fscreeen: false,
modal: false,
title: "新增",
detail: null,
curId: 0,
storeId: null,
rootName: "",
storeTitle: "",
materialType: "",
mCode: "",
columns: [{
key: "selection",
type: "selection",
width: 50,
align: "center",
},
{
key: "id",
title: this.l("id"),
hide: true,
align: "left",
sortable: true,
},
{
key: "ico",
title: " ",
align: "center",
easy: true,
high: true,
width: 60,
render: (h, params) => {
return h(
"div", {
class: "action",
},
[
h(params.row.numberAvailable > 0 ? "op" : "", {
attrs: {
icon: "ios-cart-outline",
type: "icon",
},
on: {
click: () => this.addCart(params.row),
},
}),
]
);
},
},
{
key: "resourceCode",
title: this.l("resourceId"),
align: "left",
easy: true,
},
{
key: "nameOfResource",
title: this.l("nameOfResource"),
align: "left",
easy: true,
tooltip: true,
},
{
key: "code",
title: "编码",
align: "left",
},
// {
// key: "creationTime",
// title: this.l("creationTime"),
// sortable: true,
// hide: true,
// align: "left",
// },
{
key: "creatorUserId",
title: this.l("creatorUserId"),
hide: false,
type: "user",
align: "left",
},
{
key: "lastModificationTime",
title: this.l("lastModificationTime"),
hide: true,
align: "left",
},
{
key: "lastModifierUserId",
title: this.l("lastModifierUserId"),
hide: true,
align: "left",
},
{
key: "isDeleted",
title: this.l("isDeleted"),
hide: true,
align: "left",
},
{
key: "deletionTime",
title: this.l("deletionTime"),
hide: true,
align: "left",
},
{
key: "deleterUserId",
title: this.l("deleterUserId"),
hide: true,
align: "left",
},
// {
// key: "specifications",
// title: this.l("specifications"),
// align: "left",
// easy: true,
// high: true,
// },
{
key: "totalNum",
title: this.l("totalNum"),
align: "right",
easy: true,
},
{
key: "numberAvailable",
title: this.l("numberAvailable"),
align: "right",
easy: true,
},
{
key: "measuringUnit",
title: this.l("measuringUnit"),
align: "left",
easy: true,
high: true,
hide: true,
},
{
key: "qualityCharacteristics",
title: this.l("qualityCharacteristics"),
align: "left",
easy: true,
high: true,
hide: true,
},
{
key: "batchNo",
title: this.l("batchNo"),
align: "left",
easy: true,
high: true,
hide: true,
},
{
key: "storeId",
title: this.l("storeId"),
align: "left",
high: true,
hide: true,
},
{
key: "storeTitle",
title: this.l("storeTitle"),
align: "left",
},
{
key: "state",
title: this.l("state"),
align: "center",
code: "mes_xingchi_resource.resource.state",
},
// {
// key: "resourceType",
// title: this.l("resourceType"),
// align: "left",
// high: true,
// code: "mes_xingchi_resource.resource.resource_type",
// },
{
title: "操作",
width: 190,
align: "center",
key: "action",
hide: false,
render: (h, params) => {
return h(
"div", {
class: "action",
},
[
h(
"op", {
attrs: {
oprate: "delete",
title: "删除",
},
class: params.row.totalNum === params.row.numberAvailable ?
"remove" : "disable",
on: {
click: () => this.remove(params.row),
},
},
"删除"
),
h(
"op", {
attrs: {
oprate: "detail",
title: "查看日志",
},
on: {
click: () => this.logDetail(params.row.id),
},
},
"查看日志"
),
]
);
},
},
],
treeData: [],
ocolumn: [],
treeHeight: "",
ids: [],
list: [],
cartList: [],
cartListCount: 0,
selectRows: [],
//导入
ModalIm: false,
codeRuleType: null,
};
},
created() {
this.treeHeight = window.innerHeight - 150;
},
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
window.screenHeight = window.innerHeight;
this.treeHeight = window.screenHeight - 150;
})();
};
},
async fetch({
store,
params
}) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
computed: {},
methods: {
checkData(items) {
// console.warn("items", items);
return items.map((u) => {
u._disabled = u.numberAvailable <= 0;
u._checked = false;
return u;
});
name: "list",
components: {
Search,
},
// head: {
// title: "库存表",
// author: "henq",
// description: "stock 7/13/2020 11:48:09 AM",
// },
data() {
return {
action: Api.index,
showMenu: true,
easySearch: {
keys: {
op: "nameOfResource,code,resourceCode",
value: null,
},
allchange(item) {
this.selectRows = [];
this.selectRows = item;
},
postion: [10, 10],
fscreeen: false,
modal: false,
title: "新增",
detail: null,
curId: 0,
storeId: null,
rootName: "",
storeTitle: "",
materialType: "",
mCode: "",
columns: [
{
key: "selection",
type: "selection",
width: 50,
align: "center",
},
onSelect(item) {
this.selectRows = [];
this.selectRows = item;
{
key: "id",
title: this.l("id"),
hide: true,
align: "left",
sortable: true,
},
//加入借出车
addCart(arr) {
this.cartListCount = this.$store.state.count;
this.cartList = this.$store.state.cart;
// console.log(this.cartListCount);
// console.log(this.cartList);
// console.log(this.selectRows);
if (arr.id) {
let id = arr.id;
if (arr.numberAvailable > 0) {
const index = this.$store.state.cart.findIndex(function (item) {
return item.id === id;
});
// console.log(index);
if (index == -1) {
arr.numberAvailable1 = arr.numberAvailable; //用于最大借出数量
this.cartList.push(arr);
this.cartListCount += 1;
this.$store.commit("setCart", this.cartList);
this.$store.commit("setCartCount", this.cartListCount);
this.$Message.success("加入借出车成功");
} else {
this.$Message.error("已加入借出车");
}
} else {
this.$Message.error("资源无库存");
}
} else {
// this.$Message.success("已加入借出车,请在借出车查看");
let arr = this.selectRows.concat(this.cartList); //两个数组对象合并
let newArr = []; //盛放去重后数据的新数组
arr.forEach(function (item) {
let hasPush = false;
newArr.forEach((item2, index, thisArr) => {
if (item.id == item2.id) {
hasPush = true;
thisArr[index] = {
...item,
...item2,
};
return;
}
});
!hasPush && newArr.push(item);
});
this.cartList = newArr;
this.cartListCount = newArr.length;
this.$store.commit("setCart", this.cartList);
this.$store.commit("setCartCount", this.cartListCount);
this.$refs.grid.load();
this.$refs.grid.footerToolbar = false;
}
{
key: "ico",
title: " ",
align: "center",
easy: true,
high: true,
width: 60,
render: (h, params) => {
return h(
"Tooltip",
{
class: "action",
props: {
content: "请加入借出车",
placement: "top",
},
},
[
h(params.row.numberAvailable > 0 ? "op" : "", {
attrs: {
icon: "ios-cart-outline",
type: "icon",
},
on: {
click: () => this.addCart(params.row),
},
}),
]
);
},
},
//移除借出车
substr(value, index) {
// console.log(value);
// console.log(index);
if (index > -1) {
this.cartListCount -= value;
this.cartList.splice(index, 1);
if (value == 0 || this.cartList.length == 0) {
this.cartListCount = 0;
}
this.$store.commit("setCart", this.cartList);
this.$store.commit("setCartCount", this.cartListCount);
} else {
this.cartListCount = 0;
this.cartList = [];
this.$store.commit("setCart", this.cartList);
this.$store.commit("setCartCount", this.cartListCount);
}
// console.log(this.$store.state.count);
// console.log(this.$store.state.cart);
{
key: "resourceCode",
title: this.l("resourceId"),
align: "left",
easy: true,
},
showCart() {
if (this.$store.state.count > 0) {
this.title = "借出车";
this.detail = () => import("./cart");
this.fscreeen = false;
this.modal = true;
} else {
this.$Message.error("请将资源加入借出车");
}
{
key: "nameOfResource",
title: this.l("nameOfResource"),
align: "left",
easy: true,
tooltip: true,
},
lendingRecord() {
// window.open("/resource/resource/record", "_blank");
this.$router.push("/resource/resource/record");
{
key: "code",
title: "编码",
align: "left",
},
ok() {
this.$refs.grid.load();
this.modal = false;
this.fscreeen = false;
this.cartList = [];
// this.curId = 0;
// {
// key: "creationTime",
// title: this.l("creationTime"),
// sortable: true,
// hide: true,
// align: "left",
// },
{
key: "creatorUserId",
title: this.l("creatorUserId"),
hide: false,
type: "user",
align: "left",
},
search() {
this.$refs.grid.reload(this.easySearch);
{
key: "lastModificationTime",
title: this.l("lastModificationTime"),
hide: true,
align: "left",
},
add() {
if (this.curId) {
if (this.codeRuleType == 3) {
this.title = "新增";
this.detail = () => import("./add");
this.fscreeen = false;
this.modal = true;
} else {
this.$Message.error("请先选择正确的库房类型");
}
} else {
this.$Message.error("请先选择库房库位");
}
{
key: "lastModifierUserId",
title: this.l("lastModifierUserId"),
hide: true,
align: "left",
},
copy(id) {
this.curId = id;
this.title = "克隆";
this.detail = () => import("./add");
this.modal = true;
{
key: "isDeleted",
title: this.l("isDeleted"),
hide: true,
align: "left",
},
remove(id) {
Api.delete(id).then((r) => {
if (r.success) {
this.$refs.grid.load();
this.$Message.success("删除成功");
}
});
{
key: "deletionTime",
title: this.l("deletionTime"),
hide: true,
align: "left",
},
logDetail(id) {
this.curId = id;
this.title = "查看日志";
this.detail = () => import("./log");
this.fscreeen = false;
this.modal = true;
{
key: "deleterUserId",
title: this.l("deleterUserId"),
hide: true,
align: "left",
},
cancel() {
this.curId = 0;
this.modal = false;
// {
// key: "specifications",
// title: this.l("specifications"),
// align: "left",
// easy: true,
// high: true,
// },
{
key: "totalNum",
title: this.l("totalNum"),
align: "right",
easy: true,
},
onHide() {
// this.$Message.info("收起左侧树")
this.showMenu = false;
{
key: "numberAvailable",
title: this.l("numberAvailable"),
align: "right",
easy: true,
},
showMenuFn() {
//this.$Message.info("展开左侧树")
this.showMenu = true;
{
key: "measuringUnit",
title: this.l("measuringUnit"),
align: "left",
easy: true,
high: true,
hide: true,
},
productSearch(item, ids, rootName) {
// console.log(item);
this.codeRuleType = null;
this.curId = item.id;
this.type = [];
this.type = item.codeRuleType.split(",");
if (this.type) {
this.type.forEach((e) => {
if (e == 3) {
this.codeRuleType = 3;
}
});
}
this.storeTitle = item.title;
this.rootName = rootName.join(" / ");
this.materialType = item.materialType;
let where = {
storeId: {
op: "In",
value: ids,
},
};
this.$refs.grid.reload(where);
{
key: "qualityCharacteristics",
title: this.l("qualityCharacteristics"),
align: "left",
easy: true,
high: true,
hide: true,
},
setNum(row) {
this.curId = row.id;
this.title = "预警";
// this.detail = () => import("./setNum");
this.fscreeen = false;
this.modal = true;
{
key: "batchNo",
title: this.l("batchNo"),
align: "left",
easy: true,
high: true,
hide: true,
},
//批量导入start
//导入功能
openModalIm() {
this.ModalIm = true;
{
key: "storeId",
title: this.l("storeId"),
align: "left",
high: true,
hide: true,
},
ModalImCancel() {
this.ModalIm = false;
{
key: "storeTitle",
title: this.l("storeTitle"),
align: "left",
},
getData(val) {
let url = `${resourceUrl}/resourceimportservice/import`;
this.$refs.importExcel.deelData(
url,
this.columns,
this.formatMethod(val)
);
{
key: "state",
title: this.l("state"),
align: "center",
code: "mes_xingchi_resource.resource.state",
},
//根据页面二次处理数据
formatMethod(val) {
let tempData = this.$u.clone(val);
let tempList = [];
tempData.forEach((ele) => {
let obj = {
nameOfResource: ele.nameOfResource ? ele.nameOfResource : "",
resourceCode: ele.resourceCode ? ele.resourceCode : "",
code: ele.code ? ele.code : "",
totalNum: ele.totalNum ? ele.totalNum : 0,
storeTitle: ele.storeTitle ? ele.storeTitle : "",
storeId: ele.storeId ? ele.storeId : null,
state: 1,
numberAvailable: ele.numberAvailable ? ele.numberAvailable : 0,
json: {},
};
if (
ele.nameOfResource &&
ele.nameOfResource != "" &&
ele.code &&
ele.code != "" &&
ele.resourceCode &&
ele.resourceCode != ""
) {
obj.ico = false;
} else {
obj.ico = true;
}
tempList.push(obj);
});
return tempList;
// {
// key: "resourceType",
// title: this.l("resourceType"),
// align: "left",
// high: true,
// code: "mes_xingchi_resource.resource.resource_type",
// },
{
title: "操作",
width: 190,
align: "center",
key: "action",
hide: false,
render: (h, params) => {
return h(
"div",
{
class: "action",
},
[
h(
"op",
{
attrs: {
oprate: "delete",
title: "删除",
},
class:
params.row.totalNum === params.row.numberAvailable
? "remove"
: "disable",
on: {
click: () => this.remove(params.row),
},
},
"删除"
),
h(
"op",
{
attrs: {
oprate: "detail",
title: "查看日志",
},
on: {
click: () => this.logDetail(params.row.id),
},
},
"查看日志"
),
]
);
},
},
//批量导入end
l(key) {
let vkey = "resource" + "." + key;
return this.$t(vkey) || key;
],
treeData: [],
ocolumn: [],
treeHeight: "",
ids: [],
list: [],
cartList: [],
cartListCount: 0,
selectRows: [],
//导入
ModalIm: false,
codeRuleType: null,
};
},
created() {
this.treeHeight = window.innerHeight - 150;
},
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
window.screenHeight = window.innerHeight;
this.treeHeight = window.screenHeight - 150;
})();
};
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
computed: {},
methods: {
checkData(items) {
// console.warn("items", items);
return items.map((u) => {
u._disabled = u.numberAvailable <= 0;
u._checked = false;
return u;
});
},
allchange(item) {
this.selectRows = [];
this.selectRows = item;
},
onSelect(item) {
this.selectRows = [];
this.selectRows = item;
},
//加入借出车
addCart(arr) {
this.cartListCount = this.$store.state.count;
this.cartList = this.$store.state.cart;
// console.log(this.cartListCount);
// console.log(this.cartList);
// console.log(this.selectRows);
if (arr.id) {
let id = arr.id;
if (arr.numberAvailable > 0) {
const index = this.$store.state.cart.findIndex(function (item) {
return item.id === id;
});
// console.log(index);
if (index == -1) {
arr.numberAvailable1 = arr.numberAvailable; //用于最大借出数量
this.cartList.push(arr);
this.cartListCount += 1;
this.$store.commit("setCart", this.cartList);
this.$store.commit("setCartCount", this.cartListCount);
this.$Message.success("加入借出车成功");
} else {
this.$Message.error("已加入借出车");
}
} else {
this.$Message.error("资源无库存");
}
} else {
// this.$Message.success("已加入借出车,请在借出车查看");
let arr = this.selectRows.concat(this.cartList); //两个数组对象合并
let newArr = []; //盛放去重后数据的新数组
arr.forEach(function (item) {
let hasPush = false;
newArr.forEach((item2, index, thisArr) => {
if (item.id == item2.id) {
hasPush = true;
thisArr[index] = {
...item,
...item2,
};
return;
}
});
!hasPush && newArr.push(item);
});
this.cartList = newArr;
this.cartListCount = newArr.length;
this.$store.commit("setCart", this.cartList);
this.$store.commit("setCartCount", this.cartListCount);
this.$refs.grid.load();
this.$refs.grid.footerToolbar = false;
}
},
//移除借出车
substr(value, index) {
// console.log(value);
// console.log(index);
if (index > -1) {
this.cartListCount -= value;
this.cartList.splice(index, 1);
if (value == 0 || this.cartList.length == 0) {
this.cartListCount = 0;
}
this.$store.commit("setCart", this.cartList);
this.$store.commit("setCartCount", this.cartListCount);
} else {
this.cartListCount = 0;
this.cartList = [];
this.$store.commit("setCart", this.cartList);
this.$store.commit("setCartCount", this.cartListCount);
}
// console.log(this.$store.state.count);
// console.log(this.$store.state.cart);
},
showCart() {
if (this.$store.state.count > 0) {
this.title = "借出车";
this.detail = () => import("./cart");
this.fscreeen = false;
this.modal = true;
} else {
this.$Message.error("请将资源加入借出车");
}
},
lendingRecord() {
// window.open("/resource/resource/record", "_blank");
this.$router.push("/resource/resource/record");
},
ok() {
this.$refs.grid.load();
this.modal = false;
this.fscreeen = false;
this.cartList = [];
// this.curId = 0;
},
search() {
this.$refs.grid.reload(this.easySearch);
},
add() {
if (this.curId) {
if (this.codeRuleType == 3) {
this.title = "新增";
this.detail = () => import("./add");
this.fscreeen = false;
this.modal = true;
} else {
this.$Message.error("请先选择正确的库房类型");
}
} else {
this.$Message.error("请先选择库房库位");
}
},
copy(id) {
this.curId = id;
this.title = "克隆";
this.detail = () => import("./add");
this.modal = true;
},
remove(id) {
Api.delete(id).then((r) => {
if (r.success) {
this.$refs.grid.load();
this.$Message.success("删除成功");
}
});
},
logDetail(id) {
this.curId = id;
this.title = "查看日志";
this.detail = () => import("./log");
this.fscreeen = false;
this.modal = true;
},
cancel() {
this.curId = 0;
this.modal = false;
},
onHide() {
// this.$Message.info("收起左侧树")
this.showMenu = false;
},
showMenuFn() {
//this.$Message.info("展开左侧树")
this.showMenu = true;
},
productSearch(item, ids, rootName) {
// console.log(item);
this.codeRuleType = null;
this.curId = item.id;
this.type = [];
this.type = item.codeRuleType.split(",");
if (this.type) {
this.type.forEach((e) => {
if (e == 3) {
this.codeRuleType = 3;
}
});
}
this.storeTitle = item.title;
this.rootName = rootName.join(" / ");
this.materialType = item.materialType;
let where = {
storeId: {
op: "In",
value: ids,
},
};
this.$refs.grid.reload(where);
},
setNum(row) {
this.curId = row.id;
this.title = "预警";
// this.detail = () => import("./setNum");
this.fscreeen = false;
this.modal = true;
},
//批量导入start
//导入功能
openModalIm() {
this.ModalIm = true;
},
ModalImCancel() {
this.ModalIm = false;
},
getData(val) {
let url = `${resourceUrl}/resourceimportservice/import`;
this.$refs.importExcel.deelData(
url,
this.columns,
this.formatMethod(val)
);
},
//根据页面二次处理数据
formatMethod(val) {
let tempData = this.$u.clone(val);
let tempList = [];
tempData.forEach((ele) => {
let obj = {
nameOfResource: ele.nameOfResource ? ele.nameOfResource : "",
resourceCode: ele.resourceCode ? ele.resourceCode : "",
code: ele.code ? ele.code : "",
totalNum: ele.totalNum ? ele.totalNum : 0,
storeTitle: ele.storeTitle ? ele.storeTitle : "",
storeId: ele.storeId ? ele.storeId : null,
state: 1,
numberAvailable: ele.numberAvailable ? ele.numberAvailable : 0,
json: {},
};
if (
ele.nameOfResource &&
ele.nameOfResource != "" &&
ele.code &&
ele.code != "" &&
ele.resourceCode &&
ele.resourceCode != ""
) {
obj.ico = false;
} else {
obj.ico = true;
}
tempList.push(obj);
});
return tempList;
},
//批量导入end
l(key) {
let vkey = "resource" + "." + key;
return this.$t(vkey) || key;
},
},
};
</script>
<style lang="less">
.full {
margin-top: 0;
margin-top: 0;
.content {
margin-top: 6px;
.content {
margin-top: 6px;
.ivu-icon-ios-add:before {
content: "\f341";
}
.ivu-icon-ios-add:before {
content: "\f341";
}
.ivu-icon-ios-remove:before {
content: "\f33d";
}
.ivu-icon-ios-remove:before {
content: "\f33d";
}
}
}
</style>
......@@ -94,15 +94,15 @@ export default {
import: true,
},
{
key: "materialType",
title: this.l("materialType"),
align: "center",
easy: true,
high: true,
code: "mes_xingchi_resource.material.materialReType",
width: 100,
},
// {
// key: "materialType",
// title: this.l("materialType"),
// align: "center",
// easy: true,
// high: true,
// code: "mes_xingchi_resource.material.materialReType",
// width: 100,
// },
{
key: "materialNumber",
title: this.l("materialNumber"),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment