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

bug

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