Commit 6d876804 authored by renjintao's avatar renjintao

components/equipselect/productselect/add/

parent b9d362e4
<template> <template>
<Select :placeholder="placeholder" v-model="name" @on-change="change" :multiple="multiple" clearable > <Select
<Option v-for="item in dic" :value="item.value" :key="item.value" :label="item.label"> :placeholder="placeholder"
</Option> v-model="name"
</Select> @on-change="change"
:multiple="multiple"
clearable
@on-clear="onClear"
>
<Option v-for="item in dic" :value="item.value" :key="item.value" :label="item.label"></Option>
</Select>
</template> </template>
<script> <script>
export default { export default {
model: { model: {
prop: 'value', prop: "value",
event: 'on-change' event: "on-change"
},
data() {
return {
// name: [8,9],
name: this.value,
data: []
};
},
created() {
let url = `${systemUrl}/equipinfo/getlistall`;
this.$api.get(url).then(r => {
this.data = r.result;
});
},
props: {
value: [String, Number, Array],
placeholder: {
type: String,
default: "请选择设备"
}, },
data() { multiple: {
return { type: Boolean,
// name: [8,9], default: false
name: this.value, }
data: [] },
} methods: {
}, change(v) {
created() { // console.log(event)
let url = `${systemUrl}/equipinfo/getlistall`; this.name = v;
this.$api.get(url).then(r=>{ var item;
this.data=r.result; var items = this.data.filter(u => {
}) return u.id == v;
}, });
props: { if (items && items.length > 0) {
value: [String, Number,Array], item = items[0];
placeholder: { }
type: String, this.$emit("on-change", v, item);
default: '请选择设备' // this.$emit("on-change", event);
},
multiple:{
type:Boolean,
default:false
}
},
methods: {
change(event) {
// console.log(event)
this.$emit('on-change', event)
},
getTitle(){
var title="";
this.dic.forEach(u=>{
if(u.value==this.value){
title = u.label;
}
})
return title;
}
}, },
computed: { getTitle() {
dic() { var title = "";
let result = [] this.dic.forEach(u => {
this.data.forEach((u) => { if (u.value == this.value) {
result.push({ title = u.label;
value:u.id,
label:u.equip_name
})
})
return result
} }
});
return title;
}, },
watch:{ onClear() {
value(v,o){ this.placeholdeinfo = "请选择";
this.name=v; this.$emit("on-change", null, {});
// console.log(v,o)
}
} }
},
} computed: {
dic() {
let result = [];
this.data.forEach(u => {
result.push({
value: u.id,
label: u.equip_name
});
});
return result;
}
},
watch: {
value(v, o) {
this.name = v;
// console.log(v,o)
}
}
};
</script> </script>
<style lang="less"> <style lang="less">
.w200 { .w200 {
......
<template> <template>
<TreeSelect <Select v-model="dep" :placeholder="placeholdeinfo" clearable @on-clear="onClear">
v-model="dep" <Option
:data="data" v-for="(item,index) in list"
@on-change="change" :key="index"
:disabled="disabled" :value="item.value"
:multiple="multiple" style="display:none"
/> :label="item.label"
></Option>
<Tree key="mytree" :data="data1" ref="mytree" :render="renderContent"></Tree>
</Select>
</template> </template>
<script>
<script>
export default { export default {
name: "Add",
model: { model: {
prop: "value", prop: "value",
event: "on-change" event: "on-change"
...@@ -17,37 +20,22 @@ export default { ...@@ -17,37 +20,22 @@ export default {
data() { data() {
return { return {
dep: "", dep: "",
data: [], list: [],
list: [] data1: [],
}; selectdata: [],
}, placeholdeinfo: "请选择",
created() { orderSearchForm: {
this.dep = this.value | ""; productId: null, //产品id
//http://39.100.148.168:10030/api/services/app/productlevel/getproducttreenew productName: "", //产品名称
this.$api.get(`${designUrl}/productlevel/getproducttreenew`).then(r => { drawingNo: "" //图号
this.list = r.result;
setTree(r.result)
function setTree(data) {
data.map(u => {
u.title = u.name;
u.value = u.id;
u.expand = true;
u.selected = false;
u.checked = false;
if (u.children) {
setTree(u.children);
}
});
} }
var data = r.result; };
this.data = this.$u.clone(data);
});
}, },
props: { props: {
value: [String, Number, Array], value: [String, Number, Array],
placeholder: { placeholder: {
type: String, type: String,
default: "请选择产品" default: "请选择部门"
}, },
multiple: { multiple: {
type: Boolean, type: Boolean,
...@@ -58,28 +46,111 @@ export default { ...@@ -58,28 +46,111 @@ export default {
default: false default: false
} }
}, },
mounted() {},
created() {
this.dep = this.value | "";
this.loadTree();
},
methods: { methods: {
change(v,item,items) { handleSelect(data) {
console.log(v); if (data.length > 0) {
this.dep = v; this.selectdata = [];
var item; this.selectdata = data;
var items = this.list.filter(u => { if (data[0].isProduct == "1") {
return u.id == v; this.list = [];
}); this.list.push({ label: data[0].title, value: data[0].id });
if (items && items.length > 0) { this.orderSearchForm.productName = data[0].title;
item = items[0]; this.orderSearchForm.productId = data[0].productId;
this.orderSearchForm.drawingNo = data[0].drawingNo;
this.$emit(
"on-change",
this.orderSearchForm.productId,
this.orderSearchForm
);
} else {
this.$Message.error("此节点不是产品,请选择产品节点!");
}
} }
this.$emit("on-change", v, item); },
console.log(v,item,items) resetFields() {
this.orderSearchForm = {
productId: null, //产品id
productName: "", //产品名称
drawingNo: "" //图号
};
},
loadTree() {
//打开新增订单窗口加载产品
this.resetFields();
var sumData = [];
this.$http.order.getallselecttree().then(res => {
if (res.result) {
for (var i = 0; i < res.result.length; i++) {
sumData = sumData.concat(res.result[i]);
}
this.data1 = sumData;
} else {
this.$Message.error("加载产品树失败!");
}
});
},
renderContent(h, { root, node, data }) {
//渲染树的样式
return h(
"span",
{
style: {
color: data.isProduct != "1" ? "#249E91" : "#333", //根据选中状态设置样式
cursor: "pointer"
},
on: {
click: () => {
let arrTree = [];
arrTree.push(data);
this.handleSelect(arrTree); //手动选择树节点
}
}
},
data.title
);
},
onClear() {
this.list = [];
this.placeholdeinfo = "请选择";
this.resetFields();
this.$emit("on-change", null, this.orderSearchForm);
} }
}, },
watch: { watch: {
value: { value: {
handler(v, o) { handler(v, o) {
this.dep = v | ""; this.dep = v | "";
this.resetFields();
var sumData = [];
this.$http.order.getallselecttree().then(res => {
if (res.result) {
for (var i = 0; i < res.result.length; i++) {
sumData = sumData.concat(res.result[i]);
}
this.data1 = sumData;
let temData = this.$u.clone(this.data1);
this.list = [];
if (v != "" && v != null) {
let dataTemp = this.$u.treeToList(temData);
dataTemp.forEach(data => {
if (data.isProduct == 1 && data.id == this.dep) {
this.placeholdeinfo = data.title;
this.list.push({ label: data.title, value: data.id });
}
});
}
} else {
this.$Message.error("加载产品树失败!");
}
});
}, },
deep: true deep: true
} }
} }
}; };
</script> </script>
\ No newline at end of file
...@@ -321,7 +321,7 @@ export default { ...@@ -321,7 +321,7 @@ export default {
return this.$t(key); return this.$t(key);
}, },
proChange(v, items) { proChange(v, items) {
this.entity.productName = items.name; this.entity.productName = items.productName;
this.entity.drawingNo = items.drawingNo; this.entity.drawingNo = items.drawingNo;
}, },
departChange(v, items) { departChange(v, items) {
......
...@@ -84,13 +84,14 @@ ...@@ -84,13 +84,14 @@
</FormItem> </FormItem>
</Col> </Col>
<Col :span="8"> <Col :span="8">
<FormItem :label="l('equipType')" prop="equipType"> <FormItem :label="l('equipType')" prop="equipTypeId">
<EquipSelect v-model="entity.equipType"></EquipSelect> <EquipSelect v-model="entity.equipTypeId" @on-change="equipChange"></EquipSelect>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="8"> <Col :span="8">
<FormItem :label="l('resourceType')" prop="resourceType"> <FormItem :label="l('resourceType')" prop="resourceType">
<Dictionary code="Process.routing_detail.resource_type" v-model="entity.resourceType"></Dictionary> <!-- <Dictionary code="Process.routing_detail.resource_type" v-model="entity.resourceType"></Dictionary> -->
<ResourceSelect v-model="entity.resourceType"></ResourceSelect>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="8"> <Col :span="8">
...@@ -269,6 +270,10 @@ export default { ...@@ -269,6 +270,10 @@ export default {
l(key) { l(key) {
key = "routing_detail" + "." + key; key = "routing_detail" + "." + key;
return this.$t(key); return this.$t(key);
},
equipChange(v,items)
{
this.entity.equipType=items.equip_name
} }
}, },
watch: { watch: {
......
...@@ -12,8 +12,8 @@ ...@@ -12,8 +12,8 @@
</FormItem> </FormItem>
</Col> </Col>
<Col :span="8"> <Col :span="8">
<FormItem :label="l('equipType')" prop="equipType"> <FormItem :label="l('equipType')" prop="equipTypeId">
<EquipSelect v-model="entity.equipType"></EquipSelect> <EquipSelect v-model="entity.equipTypeId" @on-change="equipChange"></EquipSelect>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="8"> <Col :span="8">
...@@ -154,6 +154,10 @@ export default { ...@@ -154,6 +154,10 @@ export default {
l(key) { l(key) {
key = "routing_detail" + "." + key; key = "routing_detail" + "." + key;
return this.$t(key); return this.$t(key);
},
equipChange(v,items)
{
this.entity.equipType=items.equip_name
} }
}, },
watch: { watch: {
......
...@@ -236,7 +236,7 @@ export default { ...@@ -236,7 +236,7 @@ export default {
return this.$t(key); return this.$t(key);
}, },
proChange(v, items) { proChange(v, items) {
this.entity.productName = items.name; this.entity.productName = items.productName;
this.entity.drawingNo = items.drawingNo; this.entity.drawingNo = items.drawingNo;
}, },
departChange(v, items) { departChange(v, items) {
......
...@@ -25,6 +25,7 @@ import WorkShopSelect from '@/components/page/workShopSelect.vue' ...@@ -25,6 +25,7 @@ import WorkShopSelect from '@/components/page/workShopSelect.vue'
import workShopDefault from '@/components/page/workShopDefault.vue' import workShopDefault from '@/components/page/workShopDefault.vue'
import WorkShop from '@/components/page/workShop.vue' import WorkShop from '@/components/page/workShop.vue'
import EquipSelect from '@/components/page/equipSelect.vue' import EquipSelect from '@/components/page/equipSelect.vue'
import ResourceSelect from '@/components/page/resourceSelect.vue'
import clipboard from 'clipboard'; import clipboard from 'clipboard';
// import i18n from '@/i18n'; // import i18n from '@/i18n';
...@@ -88,6 +89,7 @@ Vue.component("WorkShopSelect", WorkShopSelect) ...@@ -88,6 +89,7 @@ Vue.component("WorkShopSelect", WorkShopSelect)
Vue.component("workShopDefault", workShopDefault) Vue.component("workShopDefault", workShopDefault)
Vue.component("WorkShop", WorkShop) Vue.component("WorkShop", WorkShop)
Vue.component("EquipSelect", EquipSelect) Vue.component("EquipSelect", EquipSelect)
Vue.component("ResourceSelect", ResourceSelect)
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