Commit 1c4ee0a0 authored by 周远喜's avatar 周远喜

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

parents 835f8f58 a8f50f01
<template>
<Cascader :data="data" v-model="name" @on-change="change" trigger="hover"></Cascader>
</template>
<script>
export default {
name: "roleSelectCode",
model: {
prop: "value",
event: "on-change"
},
data() {
return {
name: this.value,
data: [],
resources: [],
types: []
};
},
mounted() {
//
this.types = this.$store.getters.dictionaryByKey(
"aps.resource.type"
);
let url = `${systemUrl}/planresource/list`;
this.$api
.post(url, {
pageSize: 2000
})
.then(r => {
this.resources = r.result;
this.init();
});
},
props: {
value: [Array]
},
methods: {
init(data) {
var data = [];
this.types.map(u => {
let item = {
label: u.name,
value: parseInt(u.code)
};
var children = this.resources.filter(r => {
return r.type == u.code;
});
if (children && children.length > 0) {
var ul = [];
children.map(u => {
ul.push({
label: u.title,
value: u.code,
id: u.id
});
});
item.children = ul;
} else {
item.disabled = true
}
data.push(item);
});
this.data = data;
},
change(value, selected) {
// console.log(event)
this.$emit("on-change", value, selected);
},
//获取所有的选中项
getSelectItems() {
var items = [];
this.value.forEach(v => {
var item = this.dic.filter(u => u.value == v);
if (item && item[0]) {
items.push(item[0]);
}
});
return items;
},
//获取所有选中项的名称
getSelectNames() {
var names = [];
this.getSelectItems().forEach(v => {
names.push(v.label);
});
return names;
}
},
computed: {
dic() {
let result = [];
this.data.forEach(u => {
result.push({
value: u.id,
label: u.name
});
});
return result;
}
},
watch: {
value: {
handler(v, o) {
this.name = v;
},
deep: true
}
}
};
</script>
...@@ -86,7 +86,7 @@ export default { ...@@ -86,7 +86,7 @@ export default {
}, },
//工时同步到原始工艺 //工时同步到原始工艺
apsupdate(params) { apsupdate(params) {
return Api.post(`${designUrl}/routingdetail/apsupdate `, params); return Api.post(`${technologyUrl}routingdetail/apsupdate `, params);
}, },
//排序模板相关start----- //排序模板相关start-----
//获取排序规则下拉列表 //获取排序规则下拉列表
......
<template> <template>
<Form ref="form" :model="entity" :rules="rules" :label-width="100"> <Form ref="form" :model="entity" :rules="rules" :label-width="100">
<Row> <Row>
<Col :span="12"> <Col :span="12">
<FormItem :label="l('tASKSEQ')" prop="tASKSEQ">{{ <FormItem :label="l('tASKSEQ')" prop="tASKSEQ">{{this.entity.task_seq}}</FormItem>
this.entity.task_seq
}}</FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="12">
<FormItem :label="l('tASKNAME')" prop="tASKNAME">{{ <FormItem :label="l('tASKNAME')" prop="tASKNAME">{{this.entity.task_name}}</FormItem>
this.entity.task_name
}}</FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="12" v-if="false">
<FormItem label="生产设备"> <FormItem label="生产设备">
<EquipSelect v-model="entity.eQUIPID"></EquipSelect> <EquipSelect v-model="entity.eQUIPID"></EquipSelect>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12">
<FormItem label="首选资源" prop="resourceType">
<ResourceSelectCode v-model="entity.resource" @on-change="resourceChange"></ResourceSelectCode>
</FormItem>
</Col>
<Col :span="12" v-model="entity.rUNTIME"> <Col :span="12" v-model="entity.rUNTIME">
<FormItem :label="l('rUNTIME')" prop="rUNTIME"> <FormItem :label="l('rUNTIME')" prop="rUNTIME">
<InputTime v-model="entity.run_time"></InputTime> <InputTime v-model="entity.run_time"></InputTime>
...@@ -32,20 +32,32 @@ ...@@ -32,20 +32,32 @@
<Button type="primary" @click="handleSubmit" v-noClick>保存</Button> <Button type="primary" @click="handleSubmit" v-noClick>保存</Button>
<Button @click="handleClose" class="ml20">取消</Button> <Button @click="handleClose" class="ml20">取消</Button>
</FormItem> </FormItem>
</Form> </Form>
</template> </template>
<script> <script>
import Api from "../api"; import Api from "../api";
export default { export default {
name: "Edit", name: "Edit",
data() { data() {
return { return {
entity: {}, entity: {},
orderCatList: [], orderCatList: [],
resources: [],
rules: { rules: {
name: [{ required: true, message: "必填", trigger: "blur" }], name: [{
required: true,
message: "必填",
trigger: "blur"
}],
resourceType: [{
required: true,
message: "请选择首选资源",
trigger: "change",
}, ],
}, },
single: false, single: false
}; };
}, },
props: { props: {
...@@ -53,41 +65,25 @@ export default { ...@@ -53,41 +65,25 @@ export default {
type: Object, type: Object,
default: () => { default: () => {
return null; return null;
}, }
}, }
}, },
methods: { methods: {
resourceChange(v, items) {
// this.entity.resourceId = v[1];
// this.entity.resourceType = v[0];
// this.entity.resourceCode = items[1].__label;
// if (v != null) {
// this.rules.equipTypeId[0].required = false;
// this.rules.resourceType[0].required = true;
// } else {
// if (this.entity.equipTypeId != null && this.entity.equipTypeId > 0) {
// this.rules.equipTypeId[0].required = true;
// this.rules.resourceType[0].required = false;
// } else {
// this.rules.equipTypeId[0].required = true;
// this.rules.resourceType[0].required = true;
// }
// }
},
load(v) { load(v) {
this.entity = v; this.entity = v;
}, },
handleSubmit() { handleSubmit() {
this.$refs.form.validate((v) => { this.$refs.form.validate(v => {
if (v) { if (v) {
let parmsUp = { let parmsUp = {
run_time: this.entity.run_time, run_time: this.entity.run_time,
first_equip: this.entity.eQUIPID, first_equip: this.entity.resourceCode,
id: this.entity.id, id: this.entity.id
}; };
Api.updatesetuptimeandfirstequip(parmsUp) Api.updatesetuptimeandfirstequip(parmsUp)
.then((res) => { .then(res => {
if (res.success) { if (res.success) {
if (!this.single) { if (!this.single) {
this.$Message.success("保存成功"); this.$Message.success("保存成功");
...@@ -97,12 +93,13 @@ export default { ...@@ -97,12 +93,13 @@ export default {
id: this.entity.routing_detail_id, //工序ID id: this.entity.routing_detail_id, //工序ID
name: this.entity.task_name, //工序名 name: this.entity.task_name, //工序名
task_seq: this.entity.task_seq, //工序号 task_seq: this.entity.task_seq, //工序号
resource_id: this.entity.eQUIPID, //设备id resource_id: this.entity.resourceId, //设备id
runtime: this.entity.run_time, //单件工时 runtime: this.entity.run_time, //单件工时
department_id: 0, //班组ID department_id: 0 //班组ID
}; };
Api.apsupdate(parms) Api.apsupdate(parms)
.then((r) => { .then(r => {
if (r.success) { if (r.success) {
this.$Message.success("保存成功"); this.$Message.success("保存成功");
this.$emit("on-option-ok"); this.$emit("on-option-ok");
...@@ -110,7 +107,8 @@ export default { ...@@ -110,7 +107,8 @@ export default {
this.$Message.error("保存失败"); this.$Message.error("保存失败");
} }
}) })
.catch((err) => { .catch(err => {
this.$Message.error("保存失败"); this.$Message.error("保存失败");
console.warn(err); console.warn(err);
}); });
...@@ -119,7 +117,8 @@ export default { ...@@ -119,7 +117,8 @@ export default {
this.$Message.error("保存失败"); this.$Message.error("保存失败");
} }
}) })
.catch((err) => { .catch(err => {
this.$Message.error("保存失败"); this.$Message.error("保存失败");
console.warn(err); console.warn(err);
}); });
...@@ -129,18 +128,52 @@ export default { ...@@ -129,18 +128,52 @@ export default {
handleClose() { handleClose() {
this.$emit("on-close"); this.$emit("on-close");
}, },
resourceChange(v, items) {
//alert(v.length)
//alert(JSON.stringify(v))
//alert(JSON.stringify(items))
this.entity.resourceCode = v[1];
this.entity.resourceId = items[1].id;
if (v != null && v.length > 0) {
this.rules.resourceType[0].required = false;
} else {
this.rules.resourceType[0].required = true;
}
},
l(key) { l(key) {
key = "mes_op_task_execute" + "." + key; key = "mes_op_task_execute" + "." + key;
return this.$t(key); return this.$t(key);
}, }
}, },
watch: { watch: {
row(v) { row(v) {
if (v != {}) { if (v != {}) {
//alert(JSON.stringify(v)) let url = `${systemUrl}/planresource/list`;
this.$api
.post(url, {
pageSize: 2000
})
.then(r => {
this.resources = this.$u.clone(r.result);
//alert(JSON.stringify(this.resources))
this.entity = v; this.entity = v;
this.entity.resourceCode = v.firsT_EQUIP_CODE;
let code = v.firsT_EQUIP_CODE;
this.entity.resource = []
//let code = 'PCZYBZBH_20200804_1'
if (code && code != '') {
this.resources.forEach(e => {
if (e.code == code) {
this.entity.resource.push(parseInt(e.type));
this.entity.resource.push(code)
this.entity.resourceId = e.id
}
})
}
});
}
}
} }
},
},
}; };
</script> </script>
...@@ -141,7 +141,7 @@ export default { ...@@ -141,7 +141,7 @@ export default {
hide: true hide: true
}, },
{ {
key: "first_equip", key: "firsT_EQUIP_CODE",
title: this.l("first_equip"), title: this.l("first_equip"),
align: "left", align: "left",
easy: true, easy: true,
......
...@@ -14,28 +14,31 @@ ...@@ -14,28 +14,31 @@
<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 class="time-s">
{{ li.demandFinishDate }} ~ {{ li.demandStartDate }}
</div> </div>
<div class="time-s">{{li.demandFinishDate}} ~ {{li.demandStartDate}}</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -49,7 +52,7 @@ ...@@ -49,7 +52,7 @@
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="类型">
...@@ -58,26 +61,36 @@ ...@@ -58,26 +61,36 @@
<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">
<Select v-model="formItem.shopId" placeholder="请选择" style="width:300px"> <!-- <DepartmentSelect :type="3" v-model="formItem.shopId"/> -->
<Select
v-model="formItem.shopId"
placeholder="请选择"
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 key="mytree" :data="workShop" ref="mytree" :render="renderContent"></Tree> <Tree
key="mytree"
:data="workShop"
ref="mytree"
:render="renderContent"
></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>
...@@ -110,9 +123,11 @@ export default { ...@@ -110,9 +123,11 @@ export default {
remark: "", remark: "",
departmentTitle: "", departmentTitle: "",
shopId: "", shopId: "",
showSet: false showSet: false,
// userName: "" // userName: ""
}, },
user:'',
showSet: false,
// listGroup: [ // listGroup: [
// { // {
// equip_name: "调试组", // equip_name: "调试组",
...@@ -147,7 +162,7 @@ export default { ...@@ -147,7 +162,7 @@ export default {
// ], // ],
workShop: [], workShop: [],
listClass: [], listClass: [],
orderIds: [] orderIds: [],
}; };
}, },
created() { created() {
...@@ -162,16 +177,18 @@ export default { ...@@ -162,16 +177,18 @@ export default {
//排产池列表 //排产池列表
orderlist(a) { orderlist(a) {
this.status = a; this.status = a;
Api.getpooltypeorderlist({ PoolType: 2, status: this.status }).then(r => { Api.getpooltypeorderlist({ PoolType: 2, status: this.status }).then(
(r) => {
if (r.success) { if (r.success) {
r.result.map(e => { r.result.map((e) => {
e.checked = false; e.checked = false;
e.demandFinishDate = e.demandFinishDate.substr(0, 10); e.demandFinishDate = e.demandFinishDate.substr(0, 10);
e.demandStartDate = e.demandStartDate.substr(0, 10); e.demandStartDate = e.demandStartDate.substr(0, 10);
}); });
this.list = r.result; this.list = r.result;
} }
}); }
);
}, },
//获取订单集 //获取订单集
checkData(li) { checkData(li) {
...@@ -210,10 +227,10 @@ export default { ...@@ -210,10 +227,10 @@ export default {
userIds: this.user, userIds: this.user,
beginTime: this.formItem.beginTime, beginTime: this.formItem.beginTime,
endTime: this.formItem.endTime, endTime: this.formItem.endTime,
remark: this.formItem.remark remark: this.formItem.remark,
// userName: this.formItem.userName // userName: this.formItem.userName
}; };
Api.cmonestepschedule(params1).then(r => { Api.cmonestepschedule(params1).then((r) => {
if (r.success) { if (r.success) {
this.$Message.success("下发成功"); this.$Message.success("下发成功");
this.orderlist(this.status); this.orderlist(this.status);
...@@ -232,9 +249,9 @@ export default { ...@@ -232,9 +249,9 @@ export default {
shopId: this.formItem.shopId, shopId: this.formItem.shopId,
beginTime: this.formItem.beginTime, beginTime: this.formItem.beginTime,
endTime: this.formItem.endTime, endTime: this.formItem.endTime,
remark: this.formItem.remark remark: this.formItem.remark,
}; };
Api.cmtwostepschedule(params2).then(r => { Api.cmtwostepschedule(params2).then((r) => {
if (r.success) { if (r.success) {
this.$Message.success("下发成功"); this.$Message.success("下发成功");
this.orderlist(this.status); this.orderlist(this.status);
...@@ -250,7 +267,7 @@ export default { ...@@ -250,7 +267,7 @@ export default {
//部门(班组) //部门(班组)
getWorkshop() { getWorkshop() {
let url = `${systemUrl}/user/userdepartmentsofworkshop`; let url = `${systemUrl}/user/userdepartmentsofworkshop`;
this.$api.get(url).then(r => { this.$api.get(url).then((r) => {
if (r.result) { if (r.result) {
this.workShop = r.result; this.workShop = r.result;
} }
...@@ -262,13 +279,13 @@ export default { ...@@ -262,13 +279,13 @@ export default {
"span", "span",
{ {
style: { style: {
cursor: "pointer" cursor: "pointer",
}, },
on: { on: {
click: () => { click: () => {
this.handleSelect(data); //手动选择树节点 this.handleSelect(data); //手动选择树节点
} },
} },
}, },
data.title data.title
); );
...@@ -276,7 +293,7 @@ export default { ...@@ -276,7 +293,7 @@ export default {
handleSelect(data) { handleSelect(data) {
let obj = { let obj = {
label: data.title, label: data.title,
value: data.value value: data.value,
}; };
this.listClass = []; this.listClass = [];
this.listClass.push(obj); this.listClass.push(obj);
...@@ -294,7 +311,7 @@ export default { ...@@ -294,7 +311,7 @@ export default {
title: "删除", title: "删除",
content: "<p>您确定要移除此订单吗</p>", content: "<p>您确定要移除此订单吗</p>",
onOk: () => { onOk: () => {
Api.shiftoutofcmorflpool({ ids: ids }).then(r => { Api.shiftoutofcmorflpool({ ids: ids }).then((r) => {
if (r.success) { if (r.success) {
this.$Message.success("删除成功"); this.$Message.success("删除成功");
this.orderlist(this.status); this.orderlist(this.status);
...@@ -305,9 +322,9 @@ export default { ...@@ -305,9 +322,9 @@ export default {
}, },
onCancel: () => { onCancel: () => {
this.$Message.info("您已取消删除"); this.$Message.info("您已取消删除");
} },
}); });
} },
// closeTag() {} // closeTag() {}
}, },
watch: { watch: {
...@@ -315,8 +332,8 @@ export default { ...@@ -315,8 +332,8 @@ export default {
if (v == 1) { if (v == 1) {
this.getWorkshop(); this.getWorkshop();
} }
} },
} },
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
...@@ -370,8 +387,8 @@ export default { ...@@ -370,8 +387,8 @@ export default {
} }
.fa { .fa {
height: 32px; height: 35px;
line-height: 32px; line-height: 35px;
color: rgba(38, 128, 235, 1); color: rgba(38, 128, 235, 1);
padding: 5px 8px 0 8px; padding: 5px 8px 0 8px;
} }
...@@ -379,7 +396,7 @@ export default { ...@@ -379,7 +396,7 @@ export default {
padding: 0 8px; padding: 0 8px;
height: 32px; height: 32px;
line-height: 32px; line-height: 32px;
color:@table-color; color: @table-color;
} }
} }
} }
......
This diff is collapsed.
<template>
<div>项目管理</div>
</template>
\ No newline at end of file
<template>
<div>我的地盘</div>
</template>
\ No newline at end of file
<template>
<div>项目资源</div>
</template>
\ No newline at end of file
<template>
<div>项目管理</div>
</template>
\ No newline at end of file
<template>
<div>我的地盘</div>
</template>
\ No newline at end of file
<template>
<div>项目资源</div>
</template>
\ No newline at end of file
...@@ -37,6 +37,7 @@ import WorkShop from '@/components/page/workShop.vue' ...@@ -37,6 +37,7 @@ import WorkShop from '@/components/page/workShop.vue'
import EquipSelect from '@/components/page/equipSelect.vue' import EquipSelect from '@/components/page/equipSelect.vue'
import EquipTypeSelect from '@/components/page/equipTypeSelect.vue' import EquipTypeSelect from '@/components/page/equipTypeSelect.vue'
import ResourceSelect from '@/components/page/resourceSelect.vue' import ResourceSelect from '@/components/page/resourceSelect.vue'
import ResourceSelectCode from '@/components/page/resourceSelectCode.vue'
import StoreTree from '@/components/page/storeTree.vue' import StoreTree from '@/components/page/storeTree.vue'
import StoreSelect from '@/components/page/storeSelect.vue' import StoreSelect from '@/components/page/storeSelect.vue'
import clipboard from 'clipboard'; import clipboard from 'clipboard';
...@@ -124,6 +125,7 @@ Vue.component("WorkShop", WorkShop) ...@@ -124,6 +125,7 @@ Vue.component("WorkShop", WorkShop)
Vue.component("EquipSelect", EquipSelect) Vue.component("EquipSelect", EquipSelect)
Vue.component("EquipTypeSelect", EquipTypeSelect) Vue.component("EquipTypeSelect", EquipTypeSelect)
Vue.component("ResourceSelect", ResourceSelect) Vue.component("ResourceSelect", ResourceSelect)
Vue.component("ResourceSelectCode", ResourceSelectCode)
Vue.component("User", User) Vue.component("User", User)
Vue.component("op", op) //DepartmentSelect Vue.component("op", op) //DepartmentSelect
Vue.component("DepartmentSelect", DepartmentSelect) Vue.component("DepartmentSelect", DepartmentSelect)
......
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