Commit 6d4133a0 authored by renjintao's avatar renjintao

Merge branch 'product' of git.mes123.com:zhouyx/mes-ui into product-rjt

parents eee16d85 05844552
......@@ -161,8 +161,8 @@ export default {
taskSeq: "",
flog: 5, //参数应用范围
calId:"",
planState: false,
planMethod: "重叠", // 平行 重叠
planState: true,
planMethod: "平行", // 平行 重叠
over: false,
overTime: "不加班", //"六日加班", 不加班 加班
efficiencyValue: 11, // 效率系数, 必须大于 0
......@@ -387,6 +387,30 @@ export default {
},
count(v, n) {
this.entity.discrete = 1;
},
"entity.multiple"(v){
/*
planState: false,
planMethod: "重叠", // 平行 重叠
*/
if(v){
this.entity.planState=v;
}
},
"entity.planState"(v){
/*
planState: false,
planMethod: "重叠", // 平行 重叠
*/
if(!v){
this.entity.multiple=v;
}
// this.planMethod=!v?"重叠":"平行"
}
}
};
......
......@@ -14,6 +14,8 @@
<Radio label="2">已排产</Radio>
</RadioGroup>
{{listTask.length}}
<!-- <Button :disabled="disablFlag" @click="allCheack" class="ml10">全选</Button>
<Button :disabled="disablFlager" @click="uncheack" class="ml10">全不选</Button> -->
<span class="check">
<RadioGroup v-model="listShow" type="button" size="small">
<Radio label="订单" title="订单分类">
......@@ -305,6 +307,8 @@ export default {
button2: "设备",
listShow: "订单",
shebei: "",
disablFlag: false,//全选
disablFlager: true,//不选
curTask:null,
dateRange: {//禁选工时时间区间
disabledDate(date) {
......@@ -412,6 +416,9 @@ export default {
setShebeiId(id) {
this.shebeiId = id;
this.footerToolbar = true;
// console.log(this.showOperate)
// console.log(this.ids.length)
// console.log(this.shebeiId)
},
// 获取查询人员
getselectuser(id) {
......@@ -468,6 +475,11 @@ export default {
savedUl.push(detailnew);
});
this.listTask = savedUl;
// if(savedUl.length<1){
// this.disablFlag = true
// }else{
// this.disablFlag = false
// }
});
},
// 时间改变方法
......@@ -487,6 +499,43 @@ export default {
changeStatus(a) {
this.getUserInfoFn();
},
// 全选、全不选切换
allCheack(){
let fameData = this.listTask
console.log(fameData)
this.listTask.map(u => {
u.checked = true
this.ids.push(u.id);
})
this.ids.length = this.listTask.length
this.showOperate = true
console.log(this.listTask)
// console.log(this.ids.length)
// console.log(this.shebeiId)
// console.log(this.footerToolbar)
// console.log(this.showOperate)
this.footerToolbar = true
this.disablFlag = true
this.disablFlager = false
},
uncheack(){
console.log(this.listTask)
this.listTask.map(u => {
u.checked = false
})
if(this.ids.length>0){
// this.ids = this.ids.splice(0, this.ids.length)
this.ids.length = 0
}
console.log(this.listTask)
// console.log(this.footerToolbar)
// console.log(this.showOperate)
// console.log(this.shebeiId)
// console.log(this.ids)
this.footerToolbar = false
this.disablFlag = false
this.disablFlager = true
},
// 打开抽屉
openDrawer() {
let chekids = this.ids;
......@@ -508,7 +557,8 @@ export default {
} else {
this.pentity.taskTime = [timebegin, timend];
this.manModal = true;
}// console.log("选中的数据", this.newList);
}
console.log("选中的数据", this.newList);
},
// 设备派工
sendSheBei() {
......@@ -614,13 +664,26 @@ export default {
}
},
computed: {
ids() {
let ids = [];
this.listTask.map(u => {
if (u.checked) { ids.push(u.id);}
});
if (ids.length > 0) {this.footerToolbar = true;}
return ids;
ids(){
// get(){
// console.warn("oldids");
let ids = [];
this.listTask.map(u => {
if (u.checked) { ids.push(u.id);}
});
if (ids.length > 0) {this.footerToolbar = true;}
return ids;
// },
// set(newVal){
// console.warn("newids");
// let ids = [];
// this.listTask.map(u => {
// if (u.checked) { ids.push(u.id);}
// });
// if (ids.length > 0) {this.footerToolbar = true;}
// return ids;
// this.ids = newVal
// }
},
listOrder() {
let orders = this.$u.group(this.listTask, u => {
......@@ -638,12 +701,31 @@ export default {
this.footerToolbar = true;
return peploeId;
},
showOperate() {
showOperate(){
// get(){
// console.info(this.ids.length)
// console.info(this.shebeiId)
// debugger
return (
this.ids.length > 0 && (this.shebeiId > 0 || this.peploeId.length > 0)
);
)
// },
// set(newVal){
// console.log("newVal")
// this.showOperate = newVal;
// return (
// this.ids.length > 0 && (this.shebeiId > 0 || this.peploeId.length > 0)
// )
// }
}
},
watch: {}
watch: {
// ids(n,o){
// console.info(n)
// console.info(o)
// console.warn(this.listTask);
// console.info(this.shebeiId)
// }
}
};
</script>
\ No newline at end of file
......@@ -11,7 +11,7 @@ export default {
},
mounted() {
let map = $(go.Diagram, 'gomap', {
'undoManager.isEnabled': true // enable Ctrl-Z to undo and Ctrl-Y to redo
'undoManager.isEnabled': false // enable Ctrl-Z to undo and Ctrl-Y to redo
})
var myModel = $(go.Model)
map.nodeTemplate = $(
......
......@@ -22,4 +22,7 @@ export default {
list(params) {
return Api.post(`${systemUrl}/newmessage/list`, params); //获取列表信息
},
favoriteList(params) {
return Api.post(`${systemUrl}/favorite/list`, params); //获取收藏列表信息
},
}
\ No newline at end of file
......@@ -2,7 +2,7 @@
<div class="home">
<div class="card-user">
<div class="img-header">
<img :src="avatorPath" width="90px" height="90px" v-if="imgPath" />
<Avatar :src="avatorPath" size="90" v-if="imgPath" />
<img src="@/assets/images/home/user.png" width="90px" height="90px" v-else />
</div>
<div class="user-text">
......@@ -16,6 +16,10 @@
<div class="bg-b">
<Icon type="ios-arrow-back" />
</div>
<!-- <div class="bg" v-for="(item,index) in listFavorite" :key="index">
<Icon :type="item.icon" />
<p>{{item.title}}</p>
</div>-->
<div class="bg">
<Icon type="ios-cube" />
<p>电子对账单</p>
......@@ -99,6 +103,7 @@ export default {
data() {
return {
listTask: [],
listFavorite: [],
imgUrl: iconImg,
userData: {},
avatorPath: "",
......@@ -108,6 +113,7 @@ export default {
created() {
this.get();
this.getUserInfoFn();
this.getList();
},
methods: {
getUserInfoFn() {
......@@ -144,6 +150,12 @@ export default {
this.listTask = list;
});
},
getList() {
let conditions = [];
Api.favoriteList({ conditions: conditions }).then((r) => {
this.listFavorite = r.result;
});
},
goPage(u) {
// alert(u.menuUrl)
this.$router.push(u.menuUrl);
......@@ -167,6 +179,10 @@ export default {
margin-top: -10px;
float: left;
}
.ivu-avatar > img {
width: 100%;
height: 100%;
}
.user-text {
float: left;
p {
......
......@@ -6,7 +6,7 @@ export default {
},
// indexSlecet:`${systemUrl}/coderule/paged`,
pagedSlecet(params){
return Api.post(`${systemUrl}/coderule/paged`,params);
return Api.post(`${material}/coderule/paged`,params);
},
listTable(params){
return Api.post(`${material}/custompropertydefinition/list`,params);
......
......@@ -6,7 +6,7 @@ export default {
return Api.post(`${material}/material/paged`,params);
},
pagedSlecet(params){
return Api.post(`${systemUrl}/coderule/paged`,params);
return Api.post(`${material}/coderule/paged`,params);
},
list(params){
return Api.post(`${material}/category/list`,params);
......
This diff is collapsed.
......@@ -5,8 +5,8 @@
<Filed :span="12" :name="'任务号'">{{info.changeInfo.taskCode}}</Filed>
<Filed :span="12" :name="'数量'">{{info.changeInfo.quantity}}</Filed>
<Filed :span="12" :name="'阶段'">{{info.changeInfo.phase}}</Filed>
</Row>
<Row>
<!-- </Row>
<Row> -->
<Filed :span="12" :name="'产品名称'">{{info.changeInfo.product_name}}</Filed>
<Filed :span="12" :name="'产品标识'">{{info.changeInfo.product_mark}}</Filed>
<Filed :span="12" :name="'协调内容'">{{info.changeInfo.coordinate_content}}</Filed>
......
......@@ -490,7 +490,6 @@ export default {
organizType: 0,
organizName: ""
},
newColumn: [],
value: "",
column: [],
......
<template>
<Form ref="form" :model="condition" :label-width="90">
<Row>
<Col :span="12" :v-if="condition.id.show"><FormItem :label="$t('id')" prop="id"> <Input v-model="condition.id.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.creationTime.show"><FormItem :label="$t('creationTime')" prop="creationTime"> <DatePicker type="daterange" v-model="condition.creationTime.value"></DatePicker>
</FormItem></Col>
<Col :span="12" :v-if="condition.creatorUserId.show"><FormItem :label="$t('creatorUserId')" prop="creatorUserId"> <Input v-model="condition.creatorUserId.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.lastModificationTime.show"><FormItem :label="$t('lastModificationTime')" prop="lastModificationTime"> <DatePicker type="daterange" v-model="condition.lastModificationTime.value"></DatePicker>
</FormItem></Col>
<Col :span="12" :v-if="condition.lastModifierUserId.show"><FormItem :label="$t('lastModifierUserId')" prop="lastModifierUserId"> <Input v-model="condition.lastModifierUserId.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.mmcode.show"><FormItem :label="l('mmcode')" prop="mmcode"> <Input v-model="condition.mmcode.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.drawingNo.show"><FormItem :label="l('drawingNo')" prop="drawingNo"> <Input v-model="condition.drawingNo.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.name.show"><FormItem :label="l('name')" prop="name"> <Input v-model="condition.name.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.productCode.show"><FormItem :label="l('productCode')" prop="productCode"> <Input v-model="condition.productCode.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.status.show"><FormItem :label="l('status')" prop="status"> <Input v-model="condition.status.value"> </Input>
</FormItem></Col>
<Col :span="24" :v-if="condition.remark.show"><FormItem :label="l('remark')" prop="remark"> <Input v-model="condition.remark.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.madeCompany.show"><FormItem :label="l('madeCompany')" prop="madeCompany"> <Input v-model="condition.madeCompany.value"> </Input>
</FormItem></Col>
<Col :span="24" :v-if="condition.productUrl.show"><FormItem :label="l('productUrl')" prop="productUrl"> <Input v-model="condition.productUrl.value"> </Input>
</FormItem></Col>
<Col :span="24" :v-if="condition.productUrlList.show"><FormItem :label="l('productUrlList')" prop="productUrlList"> <Input v-model="condition.productUrlList.value"> </Input>
</FormItem></Col>
</Row>
</Form>
<Form ref="form" :model="condition" :label-width="90">
<Row>
<Col :span="12" :v-if="condition.id.show">
<FormItem :label="$t('id')" prop="id">
<Input v-model="condition.id.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.creationTime.show">
<FormItem :label="$t('creationTime')" prop="creationTime">
<DatePicker type="daterange" v-model="condition.creationTime.value"></DatePicker>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.creatorUserId.show">
<FormItem :label="$t('creatorUserId')" prop="creatorUserId">
<Input v-model="condition.creatorUserId.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.lastModificationTime.show">
<FormItem :label="$t('lastModificationTime')" prop="lastModificationTime">
<DatePicker type="daterange" v-model="condition.lastModificationTime.value"></DatePicker>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.lastModifierUserId.show">
<FormItem :label="$t('lastModifierUserId')" prop="lastModifierUserId">
<Input v-model="condition.lastModifierUserId.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.mmcode.show">
<FormItem :label="l('mmcode')" prop="mmcode">
<Input v-model="condition.mmcode.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.drawingNo.show">
<FormItem :label="l('drawingNo')" prop="drawingNo">
<Input v-model="condition.drawingNo.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.name.show">
<FormItem :label="l('name')" prop="name">
<Input v-model="condition.name.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.productCode.show">
<FormItem :label="l('productCode')" prop="productCode">
<Input v-model="condition.productCode.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.status.show">
<FormItem :label="l('status')" prop="status">
<Input v-model="condition.status.value"></Input>
</FormItem>
</Col>
<Col :span="24" :v-if="condition.remark.show">
<FormItem :label="l('remark')" prop="remark">
<Input v-model="condition.remark.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.madeCompany.show">
<FormItem :label="l('madeCompany')" prop="madeCompany">
<Input v-model="condition.madeCompany.value"></Input>
</FormItem>
</Col>
<Col :span="24" :v-if="condition.productUrl.show">
<FormItem :label="l('productUrl')" prop="productUrl">
<Input v-model="condition.productUrl.value"></Input>
</FormItem>
</Col>
<Col :span="24" :v-if="condition.productUrlList.show">
<FormItem :label="l('productUrlList')" prop="productUrlList">
<Input v-model="condition.productUrlList.value"></Input>
</FormItem>
</Col>
</Row>
</Form>
</template>
<script>
import Api from './api'
export default {
name: 'Add',
data() {
return {
condition: {
id:{op:"Equal",value:null,show:true},
creationTime:{op:"Range",value:null,show:true},
creatorUserId:{op:"Equal",value:null,show:true},
lastModificationTime:{op:"Range",value:null,show:true},
lastModifierUserId:{op:"Equal",value:null,show:true},
mmcode:{op:"Equal",value:null,show:true},
drawingNo:{op:"Equal",value:null,show:true},
name:{op:"Equal",value:null,show:true},
productCode:{op:"Equal",value:null,show:true},
status:{op:"Equal",value:null,show:true},
remark:{op:"Equal",value:null,show:true},
madeCompany:{op:"Equal",value:null,show:true},
productUrl:{op:"Equal",value:null,show:true},
productUrlList:{op:"Equal",value:null,show:true},
},
}
},
methods: {
handleClose() {
this.$emit('on-close')
},
l(key) {
key = "product_info" + "." + key;
return this.$t(key)
}
}
}
import Api from "./api";
export default {
name: "Add",
data() {
return {
condition: {
id: { op: "Equal", value: null, show: true },
creationTime: { op: "Range", value: null, show: true },
creatorUserId: { op: "Equal", value: null, show: true },
lastModificationTime: { op: "Range", value: null, show: true },
lastModifierUserId: { op: "Equal", value: null, show: true },
mmcode: { op: "Equal", value: null, show: true },
drawingNo: { op: "Equal", value: null, show: true },
name: { op: "Equal", value: null, show: true },
productCode: { op: "Equal", value: null, show: true },
status: { op: "Equal", value: null, show: true },
remark: { op: "Equal", value: null, show: true },
madeCompany: { op: "Equal", value: null, show: true },
productUrl: { op: "Equal", value: null, show: true },
productUrlList: { op: "Equal", value: null, show: true },
},
};
},
methods: {
handleClose() {
this.$emit("on-close");
},
l(key) {
key = "product_info" + "." + key;
return this.$t(key);
},
},
};
</script>
\ No newline at end of file
import Api from '@/plugins/request'
export default {
index: `${PlanUrl}/mesorders/getpagedmesordersforpdefm`,
paged(params) {
return Api.post(`${PlanUrl}/mesorders/getpagedmesordersforpdefm`, params);
},
index1: `${technologyUrl}routingheader/paged`,
paged1(params) {
return Api.post(`${technologyUrl}routingheader/paged`, params);
},
routingset(params) {
return Api.post(`${technologyUrl}orderrouting/routingset`, params);
},
ordersetroutingids(params) {
return Api.post(`${technologyUrl}orderrouting/ordersetroutingids`, params);
},
}
<template>
<div class="datails">
<Table border ref="selection" :columns="columns" :data="data1"></Table>
</div>
</template>
<script>
import Api from "./api";
export default {
props: {
eid: {
ids: Array,
},
},
data() {
return {
data1: [],
// easySearch: {
// keys: { op: "unicode,name,code", value: null },
// },
columns: [
// { type: "selection", width: 70, align: "center" },
{
title: "#",
type: "index",
width: 50,
align: "center",
},
{
key: "code",
title: this.l("code"),
align: "left",
},
{
key: "name",
title: this.l("name"),
align: "left",
tooltip: true,
},
{
key: "phase",
title: this.l("phase"),
align: "center",
width: 100,
render: (h, params) => {
return h("state", {
attrs: {
value: params.row.phase,
code: "Process.Routing.phase",
},
});
},
},
{
key: "versionid",
title: this.l("version"),
align: "center",
width: 100,
render: (h, params) => {
return h("state", {
attrs: {
value: params.row.versionid,
code: "Process.Routing.version",
},
});
},
},
{
title: this.l("approvalStatus"),
key: "approvalStatus",
align: "center",
width: "120",
render: (h, params) => {
return h("state", {
attrs: {
value: params.row.approvalStatus,
code: "process.RoutingStatus",
},
});
},
},
{
key: "routingType",
title: this.l("routingType"),
align: "center",
width: 100,
render: (h, params) => {
return h("state", {
attrs: {
value: params.row.routingType,
code: "Process.Routing.routingType",
},
});
},
},
{
key: "drawingNo",
title: this.l("drawingNo"),
align: "left",
width: 100,
},
{
key: "productName",
title: this.l("productName"),
align: "left",
tooltip: true,
},
{
key: "departmentName",
title: this.l("departmentName"),
align: "left",
tooltip: true,
},
{
key: "isEffect",
title: this.l("isEffect"),
align: "center",
width: 80,
render: (h, params) => {
return h("state", {
attrs: {
value: params.row.isEffect,
code: "Process.Status",
},
});
},
},
],
};
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
mounted() {
this.getData();
},
methods: {
getData() {
// console.log(this.eid.ids);
let ids = this.eid.ids;
let conditions = [
{
conditionalType: "In",
fieldName: "id",
fieldValue: ids.join(","),
},
];
let data = {
conditions: conditions,
};
Api.paged1(data).then((r) => {
this.data1 = r.result.items;
});
},
l(key) {
let vkey = "routingHeader" + "." + key;
return this.$t(vkey) || key;
},
},
};
</script>
<style lang="less">
</style>
\ No newline at end of file
<template>
<div class="product-mix">
<Layout>
<Sider hide-trigger v-if="showMenu" width="300">
<ProductTree @on-hide="onHide" @on-select="productSearch" />
</Sider>
<div v-if="!showMenu" class="show_menu">
<a class="menu_play fr" @click="showMenuFn" title="展开">
<Icon type="ios-arrow-forward" size="24" />
</a>
</div>
<Content :class="!showMenu?'con_bord':''">
<DataGrid :columns="columns" ref="grid" :action="action" :conditions="easySearch">
<template slot="easySearch">
<Form ref="formInline" :model="easySearch" inline>
<FormItem prop="productingpreparationpeople" style="width:200px">
<departmentSelect v-model="easySearch.productingpreparationpeople.value" :type="3"></departmentSelect>
</FormItem>
<FormItem prop="keys">
<Input placeholder="请输入订单编号/产品名称" v-model="easySearch.keys.value" clearable />
</FormItem>
<FormItem>
<Button type="primary" @click="search">查询</Button>
</FormItem>
</Form>
</template>
<template slot="searchForm">
<Search />
</template>
</DataGrid>
</Content>
</Layout>
<Modal
v-model="modal"
:title="title"
width="1200"
footer-hide
fullscreen
:mask-closable="false"
>
<component :is="detail" :eid="child" @on-close="cancel" @on-ok="ok" />
</Modal>
</div>
</template>
<script>
import Api from "./api";
import ProductTree from "@/components/page/productTree.vue"; //左侧树列表
import Search from "./search";
export default {
components: {
ProductTree,
Search,
},
data() {
return {
action: Api.index,
showMenu: true,
title: "",
child: {
curId: 0,
productingPreparationPeople: 0,
orderIds: 0,
ids: [],
},
detail: null,
modal: false,
easySearch: {
keys: { op: "mescode,productName", value: null },
productingpreparationpeople: { op: "Equal", value: null },
},
columns: [
// { type: "selection", width: 70, align: "center" },
{
title: "序号",
key: "id",
// type: "index",
width: 80,
align: "center",
},
{
title: "订单编号",
key: "mesCode",
align: "center",
},
{
title: "任务类型",
key: "taskType",
align: "center",
code: "plan.order.taskType",
},
{
title: "产品名称",
key: "productName",
align: "center",
},
{ title: "图号", key: "drawnNumber" },
{ title: "项目号", key: "projectNumber" },
{ title: "批次号", key: "batchNumber" },
{ title: "数量", key: "quantity", align: "center" },
{
title: "工艺规程",
key: "mainRoutingStatus",
render: (h, params) => {
return h(
params.row.mainRoutingStatus == 1 ||
params.row.mainRoutingStatus == -1
? "a"
: "div",
[
h("state", {
props: {
code: "process.RoutingStatus",
type: "text",
value: params.row.mainRoutingStatus,
},
nativeOn: {
click: () => {
this.record(params.row);
},
},
}),
]
);
},
},
// {
// title: "料单",
// key: "materialbillStatus",
// code: "process.RoutingStatus",
// },
],
};
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
methods: {
record(row) {
if (row.mainRoutingStatus == -1) {
//未设置-1
this.child.curId = row.productId;
this.child.productingPreparationPeople =
row.productingPreparationPeople;
this.child.orderIds = row.id;
this.title = "工艺列表";
this.detail = () => import("./set");
this.modal = true;
} else if (row.mainRoutingStatus == 1) {
//受控中,查看
this.title = "查看工艺";
this.detail = () => import("./details");
this.modal = true;
Api.ordersetroutingids({ id: row.id }).then((r) => {
if (r.result) {
this.child.ids = r.result;
}
});
}
},
onHide() {
this.showMenu = false;
},
showMenuFn() {
this.showMenu = true;
},
productSearch(id, item, ids) {
let where = { productId: { op: "In", value: ids } };
this.$refs.grid.reload(where);
},
search() {
this.$refs.grid.reload(this.easySearch);
},
search2() {
this.$refs.grid.modalSearch = true;
},
ok() {
this.$refs.grid.load();
this.modal = false;
this.child.curId = 0;
},
cancel() {
this.child.curId = 0;
this.modal = false;
},
},
};
</script>
<style lang="less">
.product-mix {
font-family: Microsoft YaHei;
padding-top: 3px;
.ivu-layout-sider {
background: rgba(255, 255, 255, 1);
margin-right: 10px;
box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.15);
height: 89vh;
overflow: auto;
}
.ivu-layout-content {
// margin-left: 5px;
background: rgba(255, 255, 255, 1);
box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.15);
overflow: auto;
padding: 10px;
height: 89vh;
}
}
</style>
\ No newline at end of file
<template>
<Form ref="form" :model="condition" :label-width="90">
<Row>
<Col :span="12" :v-if="condition.id.show">
<FormItem :label="$t('id')" prop="id">
<Input v-model="condition.id.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.drawingNo.show">
<FormItem :label="l('drawingNo')" prop="drawingNo">
<Input v-model="condition.drawingNo.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.name.show">
<FormItem :label="l('name')" prop="name">
<Input v-model="condition.name.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.productCode.show">
<FormItem :label="l('productCode')" prop="productCode">
<Input v-model="condition.productCode.value"></Input>
</FormItem>
</Col>
<!-- <Col :span="12" :v-if="condition.status.show">
<FormItem :label="l('status')" prop="status">
<Input v-model="condition.status.value"></Input>
</FormItem>
</Col> -->
<Col :span="24" :v-if="condition.remark.show">
<FormItem :label="l('remark')" prop="remark">
<Input v-model="condition.remark.value"></Input>
</FormItem>
</Col>
</Row>
</Form>
</template>
<script>
// import Api from "./api";
export default {
name: "Add",
data() {
return {
condition: {
id: { op: "Equal", value: null, show: true },
creationTime: { op: "Range", value: null, show: true },
creatorUserId: { op: "Equal", value: null, show: true },
lastModificationTime: { op: "Range", value: null, show: true },
lastModifierUserId: { op: "Equal", value: null, show: true },
mmcode: { op: "Equal", value: null, show: true },
drawingNo: { op: "Equal", value: null, show: true },
name: { op: "Equal", value: null, show: true },
productCode: { op: "Equal", value: null, show: true },
status: { op: "Equal", value: null, show: true },
remark: { op: "Equal", value: null, show: true },
madeCompany: { op: "Equal", value: null, show: true },
productUrl: { op: "Equal", value: null, show: true },
productUrlList: { op: "Equal", value: null, show: true },
},
};
},
methods: {
handleClose() {
this.$emit("on-close");
},
l(key) {
key = "product_info" + "." + key;
return this.$t(key);
},
},
};
</script>
\ No newline at end of file
<template>
<div class="set">
<!-- {{eid.curId}} -->
<Layout>
<Sider v-show="showMenu" width="300">
<ProductTree @on-hide="onHide" @on-select="productSearch" />
</Sider>
<div v-show="!showMenu" class="show_menu">
<a class="menu_play fr" @click="showMenuFn" title="展开">
<Icon type="ios-arrow-forward" size="24" />
</a>
</div>
<Content :class="!showMenu?'con_bord':''">
<div class="row-form">
<Input placeholder="请输入产品名称/工艺名称/工艺编号" v-model="value" v-width="300" clearable />
<Button type="primary" @click="search">查询</Button>
</div>
<Table
border
ref="selection"
:columns="columns"
:data="data1"
@on-selection-change="selectInfo"
></Table>
</Content>
</Layout>
<FooterToolbar extra v-if="footerBar">
<Row class="footer">
<Checkbox @on-change="handleSelectAll(single)" v-model="single">全选</Checkbox>
<span class="footerSpan">已选 {{selectCount}}</span>
&nbsp;&nbsp;&nbsp;&nbsp;
<Button type="primary" @click="modalDispatch">设置工艺</Button>
<Button @click="canselFooter">取消</Button>
</Row>
</FooterToolbar>
</div>
</template>
<script>
import Api from "./api";
import ProductTree from "@/components/page/productTree.vue"; //左侧树列表
export default {
components: {
ProductTree,
},
props: {
eid: {
curId: Number,
productingPreparationPeople: Number,
orderIds: Number,
},
},
data() {
return {
value: "",
footerBar: false,
single: false,
selectCount: 0,
selectList: [],
showMenu: false,
title: "",
name: "",
data1: [],
routingList: [],
// easySearch: {
// keys: { op: "unicode,name,code", value: null },
// },
columns: [
{ type: "selection", width: 70, align: "center" },
{
title: "#",
type: "index",
width: 70,
align: "center",
},
{
key: "code",
title: this.l("code"),
align: "left",
},
{
key: "name",
title: this.l("name"),
align: "left",
tooltip: true,
},
{
key: "phase",
title: this.l("phase"),
align: "center",
width: 100,
render: (h, params) => {
return h("state", {
attrs: {
value: params.row.phase,
code: "Process.Routing.phase",
},
});
},
},
{
key: "versionid",
title: this.l("version"),
align: "center",
width: 100,
render: (h, params) => {
return h("state", {
attrs: {
value: params.row.versionid,
code: "Process.Routing.version",
},
});
},
},
{
title: this.l("approvalStatus"),
key: "approvalStatus",
align: "center",
width: "120",
render: (h, params) => {
return h("state", {
attrs: {
value: params.row.approvalStatus,
code: "process.RoutingStatus",
},
});
},
},
{
key: "routingType",
title: this.l("routingType"),
align: "center",
width: 100,
render: (h, params) => {
return h("state", {
attrs: {
value: params.row.routingType,
code: "Process.Routing.routingType",
},
});
},
},
{
key: "drawingNo",
title: this.l("drawingNo"),
align: "left",
width: 100,
},
{
key: "productName",
title: this.l("productName"),
align: "left",
tooltip: true,
},
{
key: "departmentName",
title: this.l("departmentName"),
align: "left",
tooltip: true,
},
{
key: "isEffect",
title: this.l("isEffect"),
align: "center",
width: 80,
render: (h, params) => {
return h("state", {
attrs: {
value: params.row.isEffect,
code: "Process.Status",
},
});
},
},
],
};
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
mounted() {
this.getData();
},
methods: {
getData() {
let conditions = [
{
conditionalType: "In",
fieldName: "productId",
fieldValue: this.eid.curId,
},
];
let data = {
conditions: conditions,
};
Api.paged1(data).then((r) => {
this.data1 = r.result.items;
});
},
onHide() {
this.showMenu = false;
},
showMenuFn() {
this.showMenu = true;
},
productSearch(id, item, ids) {
// let where = { productId: { op: "In", value: ids } };
// this.$refs.grid.reload(where);
let conditions = [
{
conditionalType: "In",
fieldName: "productId",
fieldValue: ids.join(","),
},
];
let data = {
conditions: conditions,
};
Api.paged1(data).then((r) => {
this.data1 = r.result.items;
});
},
search() {
let conditions = [
{
conditionalType: "code,name,productName",
fieldName: "keys",
fieldValue: this.value,
},
];
let data = {
conditions: conditions,
};
Api.paged1(data).then((r) => {
this.data1 = r.result.items;
});
},
selectInfo(value) {
// console.log(value);
if (value.length > 0) {
this.footerBar = true;
} else {
this.footerBar = false;
}
this.selectList = [];
this.routingList = [];
this.selectList = value;
let name = [];
this.selectList.map((e, index) => {
name.push(e.code);
this.routingList.push({
routingHeaderId: e.id,
priority: index,
});
});
this.name = name;
this.selectCount = this.selectList.length;
// console.log(this.routingList);
},
handleSelectAll(status) {
this.$refs.selection.selectAll(status);
},
canselFooter() {
this.footerBar = false;
this.handleSelectAll(false);
},
modalDispatch() {
this.$Modal.confirm({
title: "设置工艺",
content: this.name.join(" , "),
onOk: () => {
let data = {
routingType: 1,
productingPreparationPeople: this.eid.productingPreparationPeople,
orderIds: this.eid.orderIds,
routingList: this.routingList,
};
Api.routingset(data).then((r) => {
this.$Message.success("工艺设置成功");
});
},
onCancel: () => {
this.$Message.error("取消工艺设置");
},
});
},
l(key) {
let vkey = "routingHeader" + "." + key;
return this.$t(vkey) || key;
},
},
};
</script>
<style lang="less">
.set {
font-family: Microsoft YaHei;
padding-top: 3px;
width: 100%;
.ivu-layout {
width: 100%;
// display: flex;
// display: -webkit-flex;
.ivu-layout-sider {
background: rgba(255, 255, 255, 1);
margin-right: 10px;
box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.15);
height: 89vh;
overflow: auto;
}
.ivu-layout-content {
// margin-left: 5px;
background: rgba(255, 255, 255, 1);
box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.15);
overflow: auto;
padding: 10px;
height: 89vh;
}
.row-form {
margin-bottom: 10px;
}
}
.ivu-footer-toolbar-right {
margin-right: 72% !important;
}
.ivu-footer-toolbar {
background: rgba(0, 0, 0, 0.7) !important;
.footer {
color: #fff !important;
}
}
}
</style>
\ No newline at end of file
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