Commit 6d876804 authored by renjintao's avatar renjintao

components/equipselect/productselect/add/

parent b9d362e4
<template>
<Select :placeholder="placeholder" v-model="name" @on-change="change" :multiple="multiple" clearable >
<Option v-for="item in dic" :value="item.value" :key="item.value" :label="item.label">
</Option>
</Select>
<Select
:placeholder="placeholder"
v-model="name"
@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>
<script>
export default {
model: {
prop: 'value',
event: 'on-change'
model: {
prop: "value",
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() {
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: '请选择设备'
},
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;
}
multiple: {
type: Boolean,
default: false
}
},
methods: {
change(v) {
// console.log(event)
this.name = v;
var item;
var items = this.data.filter(u => {
return u.id == v;
});
if (items && items.length > 0) {
item = items[0];
}
this.$emit("on-change", v, item);
// this.$emit("on-change", event);
},
computed: {
dic() {
let result = []
this.data.forEach((u) => {
result.push({
value:u.id,
label:u.equip_name
})
})
return result
getTitle() {
var title = "";
this.dic.forEach(u => {
if (u.value == this.value) {
title = u.label;
}
});
return title;
},
watch:{
value(v,o){
this.name=v;
// console.log(v,o)
}
onClear() {
this.placeholdeinfo = "请选择";
this.$emit("on-change", null, {});
}
}
},
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>
<style lang="less">
.w200 {
......
<template>
<TreeSelect
v-model="dep"
:data="data"
@on-change="change"
:disabled="disabled"
:multiple="multiple"
/>
<template>
<Select v-model="dep" :placeholder="placeholdeinfo" clearable @on-clear="onClear">
<Option
v-for="(item,index) in list"
:key="index"
:value="item.value"
style="display:none"
:label="item.label"
></Option>
<Tree key="mytree" :data="data1" ref="mytree" :render="renderContent"></Tree>
</Select>
</template>
<script>
<script>
export default {
name: "Add",
model: {
prop: "value",
event: "on-change"
......@@ -17,37 +20,22 @@ export default {
data() {
return {
dep: "",
data: [],
list: []
};
},
created() {
this.dep = this.value | "";
//http://39.100.148.168:10030/api/services/app/productlevel/getproducttreenew
this.$api.get(`${designUrl}/productlevel/getproducttreenew`).then(r => {
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);
}
});
list: [],
data1: [],
selectdata: [],
placeholdeinfo: "请选择",
orderSearchForm: {
productId: null, //产品id
productName: "", //产品名称
drawingNo: "" //图号
}
var data = r.result;
this.data = this.$u.clone(data);
});
};
},
props: {
value: [String, Number, Array],
placeholder: {
type: String,
default: "请选择产品"
default: "请选择部门"
},
multiple: {
type: Boolean,
......@@ -58,28 +46,111 @@ export default {
default: false
}
},
mounted() {},
created() {
this.dep = this.value | "";
this.loadTree();
},
methods: {
change(v,item,items) {
console.log(v);
this.dep = v;
var item;
var items = this.list.filter(u => {
return u.id == v;
});
if (items && items.length > 0) {
item = items[0];
handleSelect(data) {
if (data.length > 0) {
this.selectdata = [];
this.selectdata = data;
if (data[0].isProduct == "1") {
this.list = [];
this.list.push({ label: data[0].title, value: data[0].id });
this.orderSearchForm.productName = data[0].title;
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: {
value: {
handler(v, o) {
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
}
}
};
</script>
\ No newline at end of file
</script>
......@@ -321,7 +321,7 @@ export default {
return this.$t(key);
},
proChange(v, items) {
this.entity.productName = items.name;
this.entity.productName = items.productName;
this.entity.drawingNo = items.drawingNo;
},
departChange(v, items) {
......
......@@ -84,13 +84,14 @@
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('equipType')" prop="equipType">
<EquipSelect v-model="entity.equipType"></EquipSelect>
<FormItem :label="l('equipType')" prop="equipTypeId">
<EquipSelect v-model="entity.equipTypeId" @on-change="equipChange"></EquipSelect>
</FormItem>
</Col>
<Col :span="8">
<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>
</Col>
<Col :span="8">
......@@ -269,6 +270,10 @@ export default {
l(key) {
key = "routing_detail" + "." + key;
return this.$t(key);
},
equipChange(v,items)
{
this.entity.equipType=items.equip_name
}
},
watch: {
......
......@@ -12,8 +12,8 @@
</FormItem>
</Col>
<Col :span="8">
<FormItem :label="l('equipType')" prop="equipType">
<EquipSelect v-model="entity.equipType"></EquipSelect>
<FormItem :label="l('equipType')" prop="equipTypeId">
<EquipSelect v-model="entity.equipTypeId" @on-change="equipChange"></EquipSelect>
</FormItem>
</Col>
<Col :span="8">
......@@ -154,6 +154,10 @@ export default {
l(key) {
key = "routing_detail" + "." + key;
return this.$t(key);
},
equipChange(v,items)
{
this.entity.equipType=items.equip_name
}
},
watch: {
......
......@@ -236,7 +236,7 @@ export default {
return this.$t(key);
},
proChange(v, items) {
this.entity.productName = items.name;
this.entity.productName = items.productName;
this.entity.drawingNo = items.drawingNo;
},
departChange(v, items) {
......
......@@ -25,6 +25,7 @@ import WorkShopSelect from '@/components/page/workShopSelect.vue'
import workShopDefault from '@/components/page/workShopDefault.vue'
import WorkShop from '@/components/page/workShop.vue'
import EquipSelect from '@/components/page/equipSelect.vue'
import ResourceSelect from '@/components/page/resourceSelect.vue'
import clipboard from 'clipboard';
// import i18n from '@/i18n';
......@@ -88,6 +89,7 @@ Vue.component("WorkShopSelect", WorkShopSelect)
Vue.component("workShopDefault", workShopDefault)
Vue.component("WorkShop", WorkShop)
Vue.component("EquipSelect", EquipSelect)
Vue.component("ResourceSelect", ResourceSelect)
Vue.component("User", User)
Vue.component("op", op) //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