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

Merge branch 'ting-p' into product

parents 61a88cdf 2da1dd21
......@@ -23,11 +23,12 @@
<span
style="font-size:10px;color:#aaa"
v-if="fileFormat"
>文件格式:{{JSON.stringify(formatList).replace('[', '').replace(']', '').replace(/\"/g, '')}};文件最大:{{maxSize}}k</span>
>文件格式:{{formatList.join()}};文件最大:{{maxSize}}k</span>
</Upload>
<Progress :percent="per" :stroke-width="5" v-show="vshowPro" />
<div v-if="Photo">
<Tag
v-if="Photo"
v-for="(item,index) in nameList"
:key="index"
:name="item.id"
......@@ -37,6 +38,7 @@
>
<a :href="fileUrlPath" @click="downFile(item.filePath)" target="_blank">{{item.fileName}}</a>
</Tag>
</div>
<div class="upload-body" v-else>
<div
class="demo-upload-list"
......@@ -243,13 +245,15 @@ export default {
//查询上传到文件服务器上的文件
this.$http.sysUser.getFile(this.parms).then(res => {
if (res.data != [] && res.data.length > 0) {
var items=[]
res.data.forEach(data => {
let objImag = {};
objImag.fileName = data.fileName;
objImag.filePath = data.downloadPath;
objImag.id = data.id;
this.nameList.push(objImag);
items.push(objImag);
});
this.nameList=items;
}
});
},
......@@ -310,15 +314,28 @@ export default {
},
computed: {},
watch: {
// value(v) {
// this.nameList = []
// this.nameList = v
// }
value(v) {
this.nameList = [];
this.nameList = v;
},
"parms.eid"(v){
if(v){
this.intFiles();
}
}
},
mounted() {
this.formatL();
this.mutipleStatu();
// this.intFiles()
if(this.parms.eid){
this.intFiles();
}
if (this.Photos === true) {
this.Photo = false;
} else {
this.Photo = true;
}
}
};
</script>
......
<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>
:value="dep"
class="hide"
>
{{label}}
</Option>
<Tree key="mytree" :data="data1" ref="mytree" :render="renderContent"></Tree>
</Select>
</template>
......@@ -21,13 +20,14 @@ export default {
data() {
return {
dep: "",
label:"",
list: [],
data1: [],
selectdata: [],
placeholdeinfo: "请选择",
orderSearchForm: {
productId: null, //层级id
productName: "" //层级名称
levelId: null, //层级id
parentName: "" //层级名称
}
};
},
......@@ -57,67 +57,30 @@ export default {
return h(
"span",
{
// style: {
// color: data.isProduct != "1" ? "#249E91" : "#333", //根据选中状态设置样式
// cursor: "pointer"
// },
on: {
click: () => {
let arrTree = [];
arrTree.push(data);
this.handleSelect(arrTree); //手动选择树节点
console.warn(data.id);
this.handleSelect(data.id); //手动选择树节点
}
}
},
data.name
);
},
handleSelect(data) {
console.log(data);
if (data.length > 0) {
this.list = [];
this.list.push({
label: data[0].name,
value: data[0].id
});
this.orderSearchForm.productName = data[0].name;
this.orderSearchForm.productId = data[0].id;
// let listData = this.$u.clone(this.data1);
// let result = [];
// var nodeId = data.id;
var roots = [];
var cur = data;
while (cur) {
roots.push(cur);
cur = cur.father;
}
// // //传入参数:需要遍历的json,需要匹配的id
// function findPnodeId(listData, nodeId) {
// //设置结果
// if (!listData) {
// return; //如果listData传空,直接返回
// }
// for (var i = 0; i < listData.children.length; i++) {
// let item = listData.children[i];
// if (item.id == nodeId) {
// //找到id相等的则返回父id
// result.unshift(data.name);
// return result;
// } else if (!!item.children) {
// // findPnodeId(item.children, nodeId);
// }
// }
// //如果执行循环中都没有return,则在此return
// return result;
// }
// console.log(result);
// console.warn("roots", data, roots);
this.$emit("on-change", this.orderSearchForm, data, roots);
}
handleSelect(id) {
var roots =this.$u.findRoots(this.data1,id).reverse();
var listName=[]
var data;
listName=roots.map(u=>{
if(id==u.id){
data=u;
}
return u.name
})
this.dep=id;
this.label=listName.join(" / ");
this.$emit("on-change",id,data,listName,roots);
},
loadTree() {
......@@ -125,18 +88,8 @@ export default {
var sumData = [];
Api.getleveltree().then(r => {
if (r.result) {
setFather(r.result, null);
function setFather(u, father) {
u.map(u => {
if (father) {
u.father = father;
}
if (u.children && u.children.length > 0) {
setFather(u.children, u);
}
});
}
this.data1 = r.result;
this.handleSelect(this.value)
} else {
this.$Message.error("加载产品树失败!");
}
......@@ -152,24 +105,10 @@ export default {
watch: {
value: {
handler(v, o) {
this.dep = v | "";
Api.getleveltree().then(res => {
if (res.result) {
let temData = this.$u.clone(this.data1);
this.list = [];
if (v != "" && v != null) {
let dataTemp = this.$u.treeToList(temData);
dataTemp.forEach(data => {
if (data.id == this.dep) {
this.list.push({ label: data.name, value: data.id });
}
});
}
} else {
this.$Message.error("加载产品树失败!");
}
});
if(this.data1.length>0){
this.handleSelect(v);
}
},
deep: true
}
......
......@@ -146,6 +146,25 @@ henq.treeToList = (tree) => {
treeToList(tree, null)
return list;
}
henq.findRoots=(arr1, id)=>{
var temp = []
var forFn = function (arr, id) {
for (var i = 0; i < arr.length; i++) {
var item = arr[i]
if (item.id === id) {
temp.push(item)
forFn(arr1, item.upId)
break
} else {
if (item.children) {
forFn(item.children, id)
}
}
}
}
forFn(arr1, id)
return temp
}
//导出pdf
henq.outPdf = (ele, fileName) => {
// document.head.innerHTML =
......
......@@ -9,11 +9,16 @@
<Form ref="form" :model="entity" :rules="rules" :label-width="120">
<Row>
<Col :span="12">
<FormItem label="上级所属" prop="parentName">
<!-- <Input v-model="entity.parentName" disabled></Input> -->
<FormItem label="上级所属" prop="levelId">
33{{parents.parentName}} {{parents.id}}55
<productSelect1 v-model="entity.levelId" @on-change="proChange" />
</FormItem>
</Col>
<!-- <Col :span="12">
<FormItem label="层级类型" prop="levelTitle">
<Input v-model="entity.levelTitle" disabled></Input>
</FormItem>
</Col> -->
<Col :span="12">
<FormItem :label="l('productCode')" prop="productCode">
<Input v-model="entity.productCode"></Input>
......@@ -86,16 +91,17 @@ export default {
// extend: "",
productUrl: "",
productUrlList: "",
levelId: this.parents.parentId,
// parentName: this.parents.parentName,
levelTitle: ""
levelId: 60,
// levelId: this.parents.parentId,
// parentName: this.parents.parentId,
// levelTitle: this.parents.parentName
},
rules: {
name: [{ required: true, message: "必填", trigger: "blur" }]
},
parms: {
app: "technology",
eid: null,
eid: "",
name: "",
field: ""
},
......@@ -105,18 +111,24 @@ export default {
props: {
v: Object,
eid: Number,
parents: {
parentName: String,
parentId: Number
}
parents: {
type:Object,
default:()=>{
return {
id:-1,
parentName:""
}
}
},
},
mounted() {
alert(this.parents.parentId);
if (this.eid > 0) {
this.load(this.eid);
}
created() {
// alert(this.parents.parentId);
// if (this.eid > 0) {
// this.load(this.eid);
// }
this.parms.eid = this.$u.guid();
this.$refs.refFile.intFiles();
this.entity.levelId=this.parents.id
// this.$refs.refFile.intFiles();
},
methods: {
clickData(data) {
......@@ -160,27 +172,8 @@ export default {
this.entity.id = 0;
});
},
proChange(items, data, roots) {
this.entity.levelId = items.productId;
let listName = [];
let root = roots[0];
if (root) {
// console.log(root[0]);
listName.unshift(root[0].name);
if (root[0].father) {
var obj = root[0].father;
listName.unshift(obj.name);
// for (let key in obj) {
// if(key==name){
// listName.unshift(obj[key])
// console.log(obj[key])
// }
// }
} else {
}
}
this.entity.levelTitle = listName.join(",");
proChange(id,data, listName,roots) {
this.entity.levelTitle = listName.join(" / ");
},
l(key) {
key = "product_info" + "." + key;
......@@ -190,14 +183,15 @@ export default {
watch: {
v() {
this.entity = this.$u.clone(this.v);
this.entity = this.parents.parentId;
// this.entity.parentId = this.parents.parentId;
// this.entity.parentName = this.parents.parentName;
},
eid(v) {
if (v > 0) {
this.load(v);
}
}
// eid(v) {
// if (v > 0) {
// this.load(v);
// }
// }
}
};
</script>
......
<template>
<Form ref="form" :model="entity" :rules="rules" :label-width="120">
<Row>
<Col :span="12">
<FormItem :label="l('mmcode')" prop="mmcode">
<Input v-model="entity.mmcode"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('drawingNo')" prop="drawingNo">
<Input v-model="entity.drawingNo"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('name')" prop="name">
<Input v-model="entity.name"></Input>
</FormItem>
</Col>
<Layout>
<Sider width="300">
<div class="add-list">
<img :src="img" width="100%" height="100%" />
</div>
</Sider>
<Content>
<Form ref="form" :model="entity" :rules="rules" :label-width="120">
<Row>
<Col :span="12">
<FormItem label="上级所属" prop="parentName">
<!-- <Input v-model="entity.parentName" disabled></Input> -->
<productSelect1 v-model="entity.levelId" @on-change="proChange" />
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('productCode')" prop="productCode">
<Input v-model="entity.productCode"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('mmcode')" prop="mmcode">
<Input v-model="entity.mmcode"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('drawingNo')" prop="drawingNo">
<Input v-model="entity.drawingNo"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('name')" prop="name">
<Input v-model="entity.name"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('madeCompany')" prop="madeCompany">
<Input v-model="entity.madeCompany"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('madeCompany')" prop="madeCompany">
<Input v-model="entity.madeCompany"></Input>
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('productUrl')" prop="productUrl">
<files ref="refFile" :parms="parms" fileFormat :Photos="true" @clickItem="clickData" />
<!-- <Col :span="24">
<FormItem :label="l('remark')" prop="remark">
<Input v-model="entity.remark"></Input>
</FormItem>
</Col>-->
<Col :span="24">
<FormItem :label="l('productUrlList')" prop="productUrlList">
<!-- <InputFile v-model="entity.productUrl"></InputFile> -->
<files ref="refFile" :parms="parms" fileFormat :Photos="true" @clickItem="clickData" />
</FormItem>
</Col>
<!-- <Col :span="24">
<FormItem :label="l('productUrlList')" prop="productUrlList">-->
<!-- <Input v-model="entity.productUrlList" type="textarea" :rows="5"></Input> -->
<!-- <filesList v-model="entity.productUrlList"></filesList>
</FormItem>
</Col>-->
</Row>
<FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
<Button @click="handleClose" class="ml20">取消</Button>
</FormItem>
</Col>
</Row>
<FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
<Button @click="handleClose" class="ml20">取消</Button>
</FormItem>
</Form>
</Form>
</Content>
</Layout>
</template>
<script>
import Api from "./api";
......@@ -45,6 +77,13 @@ export default {
entity: {},
rules: {
name: [{ required: true, message: "必填", trigger: "blur" }]
},
img: "",
parms: {
app: "technology",
eid: '',
name: "",
field: ""
}
};
},
......@@ -57,9 +96,16 @@ export default {
}
},
methods: {
clickData(data) {
this.img = data;
},
proChange(items, data, roots) {},
load(v) {
Api.get({ id: v }).then(r => {
this.$refs.refFile.intFilesClone();
this.parms.eid = r.result.productUrlList;
this.entity = r.result;
this.img = this.entity.productUrl;
});
},
handleSubmit() {
......@@ -100,4 +146,17 @@ export default {
}
}
};
</script>
\ No newline at end of file
</script>
<style lang="less">
.ivu-layout-sider {
background: rgba(255, 255, 255, 1);
margin-right: 10px;
box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.15);
.add-list {
width: 100%;
height: 300px;
overflow: hidden;
}
}
</style>
\ No newline at end of file
<template>
<div class="product-m">
t {{parent.id}} v
<DataGrid
:columns="columns"
ref="grid"
......@@ -16,6 +17,8 @@
</FormItem>
<FormItem>
<Button type="primary" @click="search">查询</Button>
</FormItem>
</Form>
</template>
......@@ -58,7 +61,7 @@
</template>
</DataGrid>
<Modal v-model="modal" :title="title" width="1200" footer-hide>
<component :is="detail" :eid="curId" @on-close="cancel" @on-ok="ok" :parents="parents" />
<component :is="detail" :eid="curId" @on-close="cancel" @on-ok="ok" :parents="parent" />
</Modal>
</div>
</template>
......@@ -100,11 +103,7 @@ export default {
align: "left",
high: true
}
],
parents: {
parentId: null,
parentName: ""
}
]
};
},
mounted() {
......@@ -128,9 +127,6 @@ export default {
this.title = "新增";
this.detail = () => import("./add");
this.modal = true;
this.parents.parentId = this.parent.id;
this.parents.parentName = this.parent.parentName;
},
copy(id) {
this.curId = id;
......
......@@ -91,7 +91,7 @@ export default {
this.modal = true;
},
remove() {
console.log(this.nodeInfo);
// console.log(this.nodeInfo);
if (this.nodeInfo.children.length > 1) {
this.$Message.error("因为有子级,不能直接删除");
} else {
......@@ -121,6 +121,9 @@ export default {
"span",
{
on: {
// click: () => {
// this.handleSelect(data); //手动选择树节点
// },
//右键点击事件
contextmenu: e => {
e.preventDefault();
......@@ -134,6 +137,9 @@ export default {
data.title
);
},
// handleSelect(data) {
// this.$emit("clickItem", data);
// },
loadTree() {
Api.getleveltree().then(r => {
setTree(r.result);
......@@ -154,8 +160,8 @@ export default {
this.expand = !this.expand;
},
change(v, b) {
console.log(v);
console.log(b);
// console.log(v);
// console.log(b);
let ids = [];
ids.push(b.value);
if (b.children) {
......
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