Commit 8ab46640 authored by 佟礼's avatar 佟礼

工艺规程设置

parents aac022b3 13a642ab
...@@ -15,6 +15,25 @@ html body { ...@@ -15,6 +15,25 @@ html body {
ul,li{ ul,li{
list-style: none; list-style: none;
} }
div::-webkit-scrollbar{
width:10px;
height:10px;
/**/
}
div::-webkit-scrollbar-track{
background: rgb(239, 239, 239);
border-radius:2px;
}
div::-webkit-scrollbar-thumb{
background:rgba(38,128,235,0.5);
border-radius:10px;
}
div::-webkit-scrollbar-thumb:hover{
background: rgba(38,128,235,0.8);
}
div::-webkit-scrollbar-corner{
background: rgba(38,128,235,1);
}
/*flex*/ /*flex*/
.flex{ .flex{
display: flex; display: flex;
...@@ -23,6 +42,9 @@ ul,li{ ...@@ -23,6 +42,9 @@ ul,li{
.fc-m{ .fc-m{
justify-content: center; justify-content: center;
} }
.fa-m{
align-items: center;
}
.fc-e{ .fc-e{
justify-content: flex-end; justify-content: flex-end;
} }
...@@ -38,6 +60,9 @@ ul,li{ ...@@ -38,6 +60,9 @@ ul,li{
.fg{ .fg{
flex-grow: 1; flex-grow: 1;
} }
.fs{
flex-shrink: 0;
}
.fg2{ .fg2{
flex-grow: 2; flex-grow: 2;
} }
...@@ -1270,4 +1295,45 @@ html [type=button] { ...@@ -1270,4 +1295,45 @@ html [type=button] {
//显示富文本框样式 //显示富文本框样式
.detail .ivu-row .filed-col p .html p{ .detail .ivu-row .filed-col p .html p{
margin: 0 10px 0 0; margin: 0 10px 0 0;
} }
\ No newline at end of file .lay100 {
height: calc(100vh - 105px);
background-color: #f5f6fa;
.con {
padding: 5px 5px 0px 10px;
}
.con_bord {
// margin: 15px 32px;
box-shadow: #c7c7c7 1px 2px 7px 3px;
}
background: rgba(245, 246, 250, 1);
}
.menu_side{
background: #fff!important;
margin: 5px 0 0 0!important;
border: 1px solid #dcdee2!important;
}
.show_menu{
width: 30px;
height: 30px;
position: fixed;
top: 100px;
left: 0;
z-index: 9;
.menu_play{
width: 30px;
height: 30px;
line-height: 34px;
font-size: 14px;
text-align: center;
color: #515A6E;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
background: #ffffff;
box-shadow: #ccc 2px 2px 4px 1px;
}
.menu_play:hover{
background-color: #2d8cf0;
color: white;
}
}
\ No newline at end of file
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<p>将文件拖到此处,或点击上传</p> <p>将文件拖到此处,或点击上传</p>
</div> </div>
<Button icon="ios-cloud-upload-outline" v-if="!cloudIco">上传文件</Button> <Button icon="ios-cloud-upload-outline" v-if="!cloudIco">上传文件</Button>
<span style="font-size:10px;color:#aaa" v-if="fileFormat">文件格式:{{JSON.stringify(formatList).replace('[', '').replace(']', '').replace(/\"/g, '')}};文件最大:{{maxSize}}k</span>
</Upload> </Upload>
<Progress :percent="per" :stroke-width="5" v-show="vshowPro" /> <Progress :percent="per" :stroke-width="5" v-show="vshowPro" />
<Tag <Tag
...@@ -47,7 +48,7 @@ export default { ...@@ -47,7 +48,7 @@ export default {
fileUrlPath: "", fileUrlPath: "",
nameList: [], nameList: [],
hbaseFileListNew: [], hbaseFileListNew: [],
formatList: ["png", "jpg", "gif"], formatList: ["jpg","gif","png"],
multiple: true, multiple: true,
postUrl: "", postUrl: "",
style: "", style: "",
...@@ -81,6 +82,10 @@ export default { ...@@ -81,6 +82,10 @@ export default {
cloudIco: { cloudIco: {
type: Boolean, type: Boolean,
default: false default: false
},
fileFormat:{
type: Boolean,
default: false
} }
}, },
methods: { methods: {
...@@ -155,15 +160,15 @@ export default { ...@@ -155,15 +160,15 @@ export default {
formatL() { formatL() {
if (this.files) { if (this.files) {
this.formatList = [ this.formatList = [
"jpg",
"gif",
"png",
"pdf", "pdf",
"docx", "docx",
"doc", "doc",
"xls", "xls",
"xlsx", "xlsx",
"txt", "txt",
"png",
"jpg",
"gif"
]; ];
} }
return this.formatList; return this.formatList;
......
...@@ -132,7 +132,7 @@ export default { ...@@ -132,7 +132,7 @@ export default {
padding-left: 10px; padding-left: 10px;
} }
.tree { .tree {
height: calc(100vh - 200px); height: calc(100vh - 215px);
overflow: auto; overflow: auto;
} }
} }
......
<template> <template>
<Select <div>
:placeholder="placeholder" <div v-if="theme=='list'" class="flex fd userSelect">
v-model="name" <div class="fg1 users">
@on-change="change" <dl v-for="(g,i) in group">
:multiple="multiple" <dt :class="{checked:g.opened}" class="flex fc-b">
:departmentId="departmentId" <div class="ib fg">
clearable <Checkbox v-model="g.checked" @on-change="checkAll(g,i)">
filterable <span class="ml10">{{g.departmentTitle}}</span>
> </Checkbox>
<Option <!-- <span class="ml20">(<span v-text="g.children | vvv"></span>/{{g.children.length}}人)</span></div> -->
v-for="item in dic" <span class="ml20">({{g.children.length}}人)</span>
:value="item.value" </div>
:key="item.value" <a class="op" @click="toggle(i)">
:label="item.label" <Icon :type="g.opened?'ios-arrow-up':'ios-arrow-down'" size="24" />
> </a>
<div> </dt>
<Icon :type="item.gender == 1 ? 'ios-man' : 'ios-woman'" /> <dd
{{ item.label }}(<span style="color:#c3c3c3">{{ item.cardNo }}</span v-show="g.opened"
>) <br /><span style="color:#c3c3c3">{{ item.departmentTitle }}</span> v-for="(li,j) in g.children"
@click="checkItem(i,j,li)"
:class="{checked:li.checked}"
>{{li.userName}}</dd>
</dl>
</div>
<div class="footer flex">
<div v-width="50" class="fa-m fs">
<span>已选项</span>
</div>
<div class="fg">
<dl>
<dd v-for="(li,i) in checkedItems">
<div class="flex">
<span class="fg">{{li.userName}}</span>
<a @click="removeItem(li)">
<Icon type="md-close" size="16" />
</a>
</div>
</dd>
</dl>
</div>
</div> </div>
</Option> </div>
</Select>
<Select
v-else
:placeholder="placeholder"
v-model="name"
@on-change="change"
:multiple="multiple"
:departmentId="departmentId"
clearable
filterable
>
<Option v-for="item in dic" :value="item.value" :key="item.value" :label="item.label">
<div>
<Icon :type="item.gender == 1 ? 'ios-man' : 'ios-woman'" />
{{ item.label }}(
<span style="color:#c3c3c3">{{ item.cardNo }}</span>)
<br />
<span style="color:#c3c3c3">{{ item.departmentTitle }}</span>
</div>
</Option>
</Select>
</div>
</template> </template>
<script> <script>
export default { export default {
model: { model: {
prop: 'value', prop: "value",
event: 'on-change' event: "on-change"
}, },
data() { data() {
return { return {
name: this.value, name: this.value,
data: [], data: [],
departId: '' departId: "",
} group: []
};
}, },
created() { created() {
// let url = `${systemUrl}/user/getfordispatch_x` // let url = `${systemUrl}/user/getfordispatch_x`
// this.$api.get(url).then((r) => { // this.$api.get(url).then((r) => {
// this.data = r.result // this.data = r.result
// }) // })
this.getselectuser() this.getselectuser();
}, },
props: { props: {
value: [String, Number, Array], value: [String, Number, Array],
placeholder: { placeholder: {
type: String, type: String,
default: '请选择人员' default: "请选择人员"
}, },
multiple: { multiple: {
type: Boolean, type: Boolean,
default: false default: false
}, },
theme: {
type: String,
default: "select"
},
type: { type: {
type: Number, type: Number,
default: 0 default: 0
...@@ -60,87 +108,284 @@ export default { ...@@ -60,87 +108,284 @@ export default {
type: Number, type: Number,
default: 0 default: 0
}, },
roleTitle:{ roleTitle: {
type: String, type: String,
default: '' default: ""
} }
}, },
methods: { methods: {
change(event) { change(event) {
// console.log(event) // console.log(event)
this.$emit('on-change', event) this.$emit("on-change", event);
}, },
// 加载人员 // 加载人员
getselectuser(id) { getselectuser(id) {
let url = `${systemUrl}/user/getselectuser` let url = `${systemUrl}/user/getselectuser`;
this.$api this.$api
.post(url, { .post(url, {
// pageIndex: 1, // pageIndex: 1,
departmentId: id, departmentId: id,
type: this.type, type: this.type,
roleTitle:this.roleTitle, roleTitle: this.roleTitle
// pageSize: 0 // pageSize: 0
}) })
.then((r) => { .then(r => {
this.data = r.result this.data = r.result;
if(this.theme=="list"){
this.departmentGroup();
}
});
},
departmentGroup() {
var group = [];
var users=this.$u.clone(this.data);
if(this.name&&this.name.length>0){
users.map(u=>{
u.checked=this.name.indexOf(u.id)>-1;
}) })
}
group = this.$u.group(users, u => {
return u.departmentId;
});
var deps = [];
group.map((u, i) => {
deps.push({
departmentTitle: u[0].departmentTitle,
departmentId: u[0].departmentId,
children: u,
opened: (i = 0),
checked: false
});
});
this.group = deps;
},
toggle(i) {
this.group[i].opened = !this.group[i].opened;
// this.$set(this.group,i,this.group[i])
},
checkItem(i, j, item) {
item.checked = !item.checked;
this.group[i][j] = item;
this.$set(this.group, i, this.group[i]);
this.listSetValue();
},
removeItem(item) {
this.group.map((u, i) => {
if (u.departmentId == item.departmentId) {
u.children.map(p => {
if (p.id == item.id) {
p.checked = false;
}
});
this.$set(this.group, i, u);
}
});
this.listSetValue();
},
//list 时,设置值。
listSetValue(){
var ids=[];
this.checkedItems.map(u=>{
ids.push(u.id)
})
this.$emit("on-change",ids);
},
checkAll(item, i) {
item.children.map(u => {
u.checked = item.checked;
});
this.$set(this.group, i, this.group[i]);
this.listSetValue();
}, },
//获取所有的选中项 //获取所有的选中项
getSelectItems() { getSelectItems() {
var items = [] var items = [];
if (!this.multiple) { if (this.theme == "list") {
//单选时返回信息 this.checkedItems.map(u => {
var item1 = this.dic.filter((u) => u.value == this.value) items.push(u);
if (item1 && item1[0]) { });
items.push(item1[0])
}
} else { } else {
//复选时返回 if (!this.multiple) {
this.value.forEach((v) => { //单选时返回信息
var item = this.dic.filter((u) => u.value == v) var item1 = this.dic.filter(u => u.value == this.value);
if (item && item[0]) { if (item1 && item1[0]) {
items.push(item[0]) items.push(item1[0]);
} }
}) } else {
//复选时返回
this.value.forEach(v => {
var item = this.dic.filter(u => u.value == v);
if (item && item[0]) {
items.push(item[0]);
}
});
}
} }
return items
return items;
}, },
//获取所有选中项的名称 //获取所有选中项的名称
getSelectNames() { getSelectNames() {
var names = [] var names = [];
this.getSelectItems().forEach((v) => { if (this.theme == "list") {
names.push(v.label) this.checkedItems.map(u => {
}) items.push(u.userName);
return names });
} else {
this.getSelectItems().forEach(v => {
names.push(v.label);
});
}
return names;
} }
}, },
computed: { computed: {
dic() { dic() {
let result = [] let result = [];
this.data.forEach((u) => { this.data.forEach(u => {
// result.push({ // result.push({
// value: u.id, // value: u.id,
// label: u.userName // label: u.userName
// }) // })
;(u.value = u.id), (u.label = u.userName) (u.value = u.id), (u.label = u.userName);
result.push(u) result.push(u);
}) });
return result return result;
},
checkedItems() {
var items = [];
this.group.map(u => {
u.children.map(l => {
if (l.checked) {
items.push(l);
}
});
});
return items;
}
},
filters: {
vvv: lis => {
return 3;
// return lis.filter(u=>{
// return u.checked==true
// }).lenght;
} }
}, },
watch: { watch: {
value: { value: {
handler(v, o) { handler(v, o) {
this.name = v this.name = v;
}, },
deep: true deep: true
}, },
departmentId: { departmentId: {
handler(v, o) { handler(v, o) {
this.getselectuser(v) this.getselectuser(v);
}, },
deep: true deep: true
} }
} }
} };
</script> </script>
<style lang="less">
.userSelect {
.users {
width: 100%;
border: 1px solid #2680eb;
max-height: 420px;
overflow: auto;
font-size: 14px;
}
dl {
width: 100%;
margin-bottom: 2px;
dt,
dd {
list-style: none;
padding: 0 15px;
}
dt {
width: 100%;
background: rgba(38, 128, 235, 0.1);
height: 48px;
font-weight: bold;
line-height: 48px;
color: rgba(81, 90, 110, 1);
a.op {
height: 26px;
width: 26px;
text-align: center;
display: inline-block;
padding-top: -15px;
line-height: 100%;
margin-top: 12px;
}
a.op:hover {
color: white;
background: rgba(38, 128, 235, 1.5);
border-radius: 4px;
}
}
dt.checked {
background: rgba(38, 128, 235);
color: white;
a.op {
color: white;
}
a.op:hover {
background: white;
color: rgba(38, 128, 235);
}
}
dd {
min-width: 120px;
line-height: 32px;
height: 36px;
border-radius: 18px;
display: inline-block;
background: rgba(38, 128, 235, 0.1);
border: 2px solid transparent;
color: #515a6e;
margin: 10px;
a {
display: inline-flex;
width: 20px;
height: 20px;
border-radius: 4px;
border: 1px solid transparent;
justify-items: center;
align-items: center;
margin-top: 5px;
}
a:hover {
background: rgb(241, 14, 14);
color: white;
}
}
dd:hover {
// background: rgba(38, 128, 235, 1);
// border:1px solid rgba(38,128,235,0.1);
background: rgba(38, 128, 235, 0.1);
border: 2px solid rgba(38, 128, 235, 1);
// color: white;
cursor: pointer;
}
dd.checked {
border: 2px solid rgba(38, 128, 235, 1);
}
}
.footer {
margin-top: 5px;
min-height: 68px;
dl {
background: rgba(245, 246, 250, 1);
border: 1px solid rgba(220, 223, 230, 1);
opacity: 1;
border-radius: 4px;
min-height: 48px;
flex-wrap: wrap;
}
}
}
</style>
\ No newline at end of file
...@@ -1187,7 +1187,7 @@ export default { ...@@ -1187,7 +1187,7 @@ export default {
isDeleted: '是否删除', isDeleted: '是否删除',
platesnum: '板数', platesnum: '板数',
isEffect: '生效', isEffect: '生效',
versionnotes: '版本', versionnotes: '版本说明',
phase: '阶段', phase: '阶段',
versionid: '版本ID', versionid: '版本ID',
isSendPpm: '发送PPM', isSendPpm: '发送PPM',
...@@ -1251,7 +1251,8 @@ export default { ...@@ -1251,7 +1251,8 @@ export default {
routingStepId: '工步ID', routingStepId: '工步ID',
quantity: '数量', quantity: '数量',
singlequantity: '总计数量', singlequantity: '总计数量',
routingDetailName: '工序名称',
routingDetailNo:'工序号',
materialId: '物料id', materialId: '物料id',
materialType: '物料类型', materialType: '物料类型',
materialNumber: '物料编号', materialNumber: '物料编号',
...@@ -1323,7 +1324,8 @@ export default { ...@@ -1323,7 +1324,8 @@ export default {
routingHeaderId: '工艺ID', routingHeaderId: '工艺ID',
routingHeaderName: '工艺', routingHeaderName: '工艺',
routingDetailId: '工序ID', routingDetailId: '工序ID',
routingDetailName: '工序', routingDetailName: '工序名称',
routingDetailNo:'工序号',
routingStepId: '工步ID', routingStepId: '工步ID',
checkContent: '检测内容', checkContent: '检测内容',
checkType: '检测类型', checkType: '检测类型',
...@@ -1357,7 +1359,8 @@ export default { ...@@ -1357,7 +1359,8 @@ export default {
routingHeaderId: '工艺ID', routingHeaderId: '工艺ID',
routingHeaderName: '工艺', routingHeaderName: '工艺',
routingDetailId: '工序ID', routingDetailId: '工序ID',
routingDetailName: '工序', routingDetailName: '工序名称',
routingDetailNo:'工序号',
routingStepId: '工步ID', routingStepId: '工步ID',
quantity: '数量', quantity: '数量',
materialId: '物料id', materialId: '物料id',
......
...@@ -399,7 +399,8 @@ export default { ...@@ -399,7 +399,8 @@ export default {
z-index: 99999; z-index: 99999;
left: 56%; left: 56%;
top: 57%; top: 57%;
min-width: 1084px; // min-width: 1084px;
min-width: 777px;
min-height: 300px; min-height: 300px;
box-shadow: 0px 5px 17px 5px rgba(0, 0, 0, 0.28); box-shadow: 0px 5px 17px 5px rgba(0, 0, 0, 0.28);
background: #f5f6fa; background: #f5f6fa;
......
...@@ -9538,7 +9538,8 @@ ...@@ -9538,7 +9538,8 @@
"dependencies": { "dependencies": {
"deepmerge": { "deepmerge": {
"version": "2.2.1", "version": "2.2.1",
"bundled": true "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz",
"integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA=="
} }
} }
}, },
...@@ -19890,7 +19891,8 @@ ...@@ -19890,7 +19891,8 @@
"version": "4.0.8", "version": "4.0.8",
"resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
"integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
"dev": true "dev": true,
"optional": true
}, },
"rx-lite-aggregates": { "rx-lite-aggregates": {
"version": "4.0.8", "version": "4.0.8",
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
<Col :span="10" class="chan-chi">整机排产-排产池</Col> <Col :span="10" class="chan-chi">整机排产-排产池</Col>
<Col :span="14" class="l-ringht"> <Col :span="14" class="l-ringht">
<!-- <RadioGroup v-model="status" type="button" @on-change="changeStatus" size="small"> <!-- <RadioGroup v-model="status" type="button" @on-change="changeStatus" size="small">
<Radio label="0">未排产</Radio> --> <Radio label="0">未排产</Radio>-->
<!-- <Radio label="2">已排查</Radio> --> <!-- <Radio label="2">已排查</Radio> -->
<!-- <Radio label="-1">全部</Radio> --> <!-- <Radio label="-1">全部</Radio> -->
<!-- </RadioGroup> --> <!-- </RadioGroup> -->
</Col> </Col>
</Row> </Row>
...@@ -58,19 +58,8 @@ ...@@ -58,19 +58,8 @@
<Radio label="1">班组</Radio> <Radio label="1">班组</Radio>
</RadioGroup> </RadioGroup>
</FormItem> </FormItem>
<FormItem label="人员" v-if="formItem.radio==0"> <FormItem v-if="formItem.radio==0">
<UserSelect <UserSelect v-model="user" :multiple="true" theme="list" />
ref="userSelected"
v-model="formItem.userIds"
style="width:300px"
:multiple="true"
/>
<!-- <Dictionary
disabled
code="aps.scheduling.groupingForm"
v-model="formItem.resourcesType"
type="radio"
></Dictionary>-->
</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"> <Select v-model="formItem.shopId" placeholder="请选择" style="width:300px">
...@@ -122,14 +111,10 @@ ...@@ -122,14 +111,10 @@
</div> </div>
</template> </template>
<script> <script>
import CheckboxList from "./checkboxList";
import Api from "./api"; import Api from "./api";
export default { export default {
name: "list", name: "list",
components: {
CheckboxList
},
async fetch({ store, params }) { async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典 await store.dispatch("loadDictionary"); // 加载数据字典
}, },
...@@ -202,8 +187,8 @@ export default { ...@@ -202,8 +187,8 @@ export default {
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;
} }
...@@ -243,7 +228,7 @@ export default { ...@@ -243,7 +228,7 @@ export default {
// } // }
let params1 = { let params1 = {
orderIds: this.orderIds, orderIds: this.orderIds,
userIds: this.formItem.userIds, 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
...@@ -254,7 +239,7 @@ export default { ...@@ -254,7 +239,7 @@ export default {
this.$Message.success("下发成功"); this.$Message.success("下发成功");
this.orderlist(this.status); this.orderlist(this.status);
this.orderIds = []; this.orderIds = [];
this.showSet = false; this.showSet = false;
} else { } else {
this.$Message.success("下发失败"); this.$Message.success("下发失败");
this.formItem = {}; this.formItem = {};
......
...@@ -66,7 +66,6 @@ ...@@ -66,7 +66,6 @@
</p> </p>
<p>{{li.beginTime}}--{{li.endTime}}</p> <p>{{li.beginTime}}--{{li.endTime}}</p>
<p>人员 :{{li.userNames}}</p> <p>人员 :{{li.userNames}}</p>
<!-- <p>设备 :{{item.equipCode}}</p> -->
</div> </div>
</Card> </Card>
</Col> </Col>
...@@ -105,7 +104,6 @@ ...@@ -105,7 +104,6 @@
v-else-if="item.dispatchStatus!=2 && item.pid != 0" v-else-if="item.dispatchStatus!=2 && item.pid != 0"
@click="removeDetail(item,index)" @click="removeDetail(item,index)"
></op> ></op>
<!-- -->
</p> </p>
<p>{{item.beginTime}}--{{item.endTime}}</p> <p>{{item.beginTime}}--{{item.endTime}}</p>
<p>人员 :{{item.userNames}}</p> <p>人员 :{{item.userNames}}</p>
...@@ -135,7 +133,8 @@ ...@@ -135,7 +133,8 @@
</span> </span>
</p> </p>
<div class="dispatch_part_body" :style="{height:byheight}"> <div class="dispatch_part_body" :style="{height:byheight}">
<h4 class="tc" v-if="listMan.length==0 || listSheBei.length==0">暂无数据</h4> <h4 class="tc" v-if="listSheBei.length==0 && button2 == '设备'">暂无数据</h4>
<h4 class="tc" v-else-if="listMan.length==0 && button2 == '人员'">暂无数据</h4>
<div class="shebei" v-if="button2 == '设备'"> <div class="shebei" v-if="button2 == '设备'">
<Row :gutter="15"> <Row :gutter="15">
<!-- {{shebeiId}} --> <!-- {{shebeiId}} -->
...@@ -200,8 +199,7 @@ ...@@ -200,8 +199,7 @@
:mask-closable="false" :mask-closable="false"
ok-text="拆分" ok-text="拆分"
@on-ok="okChai()" @on-ok="okChai()"
> > 拆分数量:
拆分数量:
<Tag>{{chaiNum}}</Tag> <Tag>{{chaiNum}}</Tag>
<Slider v-model="chaiNum" :max="maxnum" show-stops :min="1"></Slider> <Slider v-model="chaiNum" :max="maxnum" show-stops :min="1"></Slider>
</Modal> </Modal>
...@@ -232,8 +230,7 @@ ...@@ -232,8 +230,7 @@
v-model="entity.userIds" v-model="entity.userIds"
:multiple="true" :multiple="true"
style="width: 500px" style="width: 500px"
/> /><!-- :type="3" -->
<!-- :type="3" -->
</FormItem> </FormItem>
</Col> </Col>
<Col span="24" class="drawer_midell"> <Col span="24" class="drawer_midell">
...@@ -268,12 +265,9 @@ ...@@ -268,12 +265,9 @@
<FormItem label="工时" prop="taskTime"> <FormItem label="工时" prop="taskTime">
<DatePicker <DatePicker
v-model="pentity.taskTime" v-model="pentity.taskTime"
type="datetimerange" type="datetimerange" placement="bottom-start"
placement="bottom-start" :options="dateRange" @on-change="handleChange"
:options="dateRange" placeholder="请选择时间段" style="width: 330px"
@on-change="handleChange"
placeholder="请选择时间段"
style="width: 330px"
></DatePicker> ></DatePicker>
</FormItem> </FormItem>
</Col> </Col>
...@@ -285,13 +279,9 @@ ...@@ -285,13 +279,9 @@
<Col span="24"> <Col span="24">
<FormItem label="备注" style="width:100%"> <FormItem label="备注" style="width:100%">
<Input <Input
maxlength="200" maxlength="200" v-model="pentity.remark"
v-model="pentity.remark" type="textarea" :autosize="{minRows: 3,maxRows: 5}"
type="textarea" show-word-limit class="drawer_row_textarea"/>
:autosize="{minRows: 3,maxRows: 5}"
show-word-limit
class="drawer_row_textarea"
/>
</FormItem> </FormItem>
</Col> </Col>
</Row> </Row>
...@@ -317,8 +307,7 @@ export default { ...@@ -317,8 +307,7 @@ export default {
listShow: "订单", listShow: "订单",
shebei: "", shebei: "",
curTask:null, curTask:null,
dateRange: { dateRange: {//禁选工时时间区间
//禁选工时时间区间
disabledDate(date) { disabledDate(date) {
return date && date.valueOf() < Date.now() - 86400000; return date && date.valueOf() < Date.now() - 86400000;
} }
...@@ -454,9 +443,7 @@ export default { ...@@ -454,9 +443,7 @@ export default {
res.result.map(u => { res.result.map(u => {
if (u.pid) { if (u.pid) {
pid = u.pid; pid = u.pid;
} else { } else { pid = 0;}
pid = 0;
}
let detailnew = { let detailnew = {
beginTime: u.beginTime, //开始时间 beginTime: u.beginTime, //开始时间
dispatchStatus: u.dispatchStatus, // dispatchStatus: u.dispatchStatus, //
...@@ -499,7 +486,6 @@ export default { ...@@ -499,7 +486,6 @@ export default {
}, },
// 过滤条件 // 过滤条件
changeStatus(a) { changeStatus(a) {
// console.log(a)
this.getUserInfoFn(); this.getUserInfoFn();
}, },
// 打开抽屉 // 打开抽屉
...@@ -509,7 +495,6 @@ export default { ...@@ -509,7 +495,6 @@ export default {
let timebegin = formData[0].beginTime; let timebegin = formData[0].beginTime;
let timend = formData[0].endTime; let timend = formData[0].endTime;
this.newList = []; this.newList = [];
// console.log("选中的id",chekids)
chekids.forEach(v => { chekids.forEach(v => {
var item = formData.filter(u => { var item = formData.filter(u => {
return u.id == v; return u.id == v;
...@@ -523,24 +508,12 @@ export default { ...@@ -523,24 +508,12 @@ export default {
this.facilityModal = true; this.facilityModal = true;
} else { } else {
this.pentity.taskTime = [timebegin, timend]; this.pentity.taskTime = [timebegin, timend];
// if (
// formData.map(t => {
// this.newList.filter(m => {
// if ((m.id = t.id)) {
// console.log(m.checked);
// }
// });
// })
// ) {
// }
this.manModal = true; this.manModal = true;
} }// console.log("选中的数据", this.newList);
// console.log("选中的数据", this.newList);
}, },
// 设备派工 // 设备派工
sendSheBei() { sendSheBei() {
let item = this.newList; let item = this.newList;
// console.log(item)
item.map(u => { item.map(u => {
u.userIds = this.entity.userIds; u.userIds = this.entity.userIds;
u.remark = this.entity.remark; u.remark = this.entity.remark;
...@@ -569,7 +542,6 @@ export default { ...@@ -569,7 +542,6 @@ export default {
// 人员派工 // 人员派工
sendUser() { sendUser() {
let item = this.newList; let item = this.newList;
// console.log("派工的数据",item)
item.map(u => { item.map(u => {
u.userIds = this.peploeId; u.userIds = this.peploeId;
u.remark = this.pentity.remark; u.remark = this.pentity.remark;
...@@ -596,22 +568,20 @@ export default { ...@@ -596,22 +568,20 @@ export default {
}, },
// 拆分方法 // 拆分方法
setChai(item, index) { setChai(item, index) {
// console.log(item, index)
this.curTask=item; this.curTask=item;
this.chaiModal = true; this.chaiModal = true;
this.chaiNum = 1; this.chaiNum = 1;
this.maxnum = item.quantity - 1; this.maxnum = item.quantity - 1;
this.rowIndex = index; this.rowIndex = index;
}, },
// 拆分保存 // 拆分保存
okChai() { okChai() {
var old = this.$u.clone(this.curTask); var old = this.$u.clone(this.curTask);
var add = this.$u.clone(this.curTask); var add = this.$u.clone(this.curTask);
old.quantity -= this.chaiNum; old.quantity -= this.chaiNum;
add.quantity = this.chaiNum; add.quantity = this.chaiNum;
add.id = 0; add.id = 0;
add.pid = old.id; add.pid = old.id;
let params = { let params = {
isDispatch: 0, //派工是1,保存是0 isDispatch: 0, //派工是1,保存是0
entryList: [old, add] entryList: [old, add]
...@@ -636,14 +606,9 @@ export default { ...@@ -636,14 +606,9 @@ export default {
this.$Message.error("拆分项删除失败!"); this.$Message.error("拆分项删除失败!");
} }
}); });
// let oldList = this.listTask;
// let clickRow = oldList.filter(listRow=>listRow.process_name===item.process_name)[0];
// clickRow.quantity += this.chaiNum
// this.listTask.splice(index, 1)
// this.$Message.success('拆分项已删除。')
}, },
//取消
cancle() { cancle() {
//取消
this.facilityModal = false; this.facilityModal = false;
this.manModal = false; this.manModal = false;
this.footerToolbar = false; this.footerToolbar = false;
...@@ -653,20 +618,15 @@ export default { ...@@ -653,20 +618,15 @@ export default {
ids() { ids() {
let ids = []; let ids = [];
this.listTask.map(u => { this.listTask.map(u => {
if (u.checked) { if (u.checked) { ids.push(u.id);}
ids.push(u.id);
}
}); });
if (ids.length > 0) { if (ids.length > 0) {this.footerToolbar = true;}
this.footerToolbar = true;
}
return ids; return ids;
}, },
listOrder() { listOrder() {
let orders = this.$u.group(this.listTask, u => { let orders = this.$u.group(this.listTask, u => {
return u.mesCode; return u.mesCode;
}); });// console.warn("listOrder", orders);
// console.warn("listOrder", orders);
return orders; return orders;
}, },
peploeId() { peploeId() {
...@@ -687,6 +647,4 @@ export default { ...@@ -687,6 +647,4 @@ export default {
}, },
watch: {} watch: {}
}; };
</script> </script>
<style lang="less"> \ No newline at end of file
</style>
\ No newline at end of file
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
<Col :span="9" class="chan-chi">流水排产-排产池</Col> <Col :span="9" class="chan-chi">流水排产-排产池</Col>
<Col :span="15" class="l-ringht"> <Col :span="15" class="l-ringht">
<!-- <RadioGroup v-model="status" type="button" @on-change="changeStatus" size="small"> <!-- <RadioGroup v-model="status" type="button" @on-change="changeStatus" size="small">
<Radio label="0">未排产</Radio> --> <Radio label="0">未排产</Radio>-->
<!-- <Radio label="2">已排查</Radio> --> <!-- <Radio label="2">已排查</Radio> -->
<!-- <Radio label="-1">全部</Radio> --> <!-- <Radio label="-1">全部</Radio> -->
<!-- </RadioGroup> --> <!-- </RadioGroup> -->
</Col> </Col>
</Row> </Row>
...@@ -190,8 +190,8 @@ export default { ...@@ -190,8 +190,8 @@ export default {
if (r.result) { if (r.result) {
r.result.map(u => { r.result.map(u => {
u.aps = 0; u.aps = 0;
u.demandFinishDate = u.demandFinishDate.substr(0,10) u.demandFinishDate = u.demandFinishDate.substr(0, 10);
u.demandStartDate = u.demandStartDate.substr(0,10) u.demandStartDate = u.demandStartDate.substr(0, 10);
}); });
this.list = r.result; this.list = r.result;
// if (r.result[0]) { // if (r.result[0]) {
...@@ -268,7 +268,7 @@ export default { ...@@ -268,7 +268,7 @@ export default {
this.indexId = index; this.indexId = index;
this.detailId = item.detailId; this.detailId = item.detailId;
this.active = index; this.active = index;
this.$refs.setObj.formItem={} this.$refs.setObj.formItem = {};
// this.group.orderId = item.orderId; // this.group.orderId = item.orderId;
// this.group.routingHeaderId = item.routingHeaderId; // this.group.routingHeaderId = item.routingHeaderId;
// this.$refs.setObj.formItem = {}; // this.$refs.setObj.formItem = {};
...@@ -335,6 +335,7 @@ export default { ...@@ -335,6 +335,7 @@ export default {
if (r.result) { if (r.result) {
this.$Message.success("下发成功"); this.$Message.success("下发成功");
this.orderlist(this.status); this.orderlist(this.status);
this.result = [];
} else { } else {
this.$Message.info("下发失败"); this.$Message.info("下发失败");
} }
......
...@@ -18,12 +18,13 @@ ...@@ -18,12 +18,13 @@
</RadioGroup> </RadioGroup>
</FormItem>--> </FormItem>-->
<FormItem label="人员" v-if="mode==1" prop="userIds"> <FormItem label="人员" v-if="mode==1" prop="userIds">
<UserSelect <!-- <UserSelect
ref="userSelected" ref="userSelected"
v-model="formItem.userIds" v-model="formItem.userIds"
style="width:300px" style="width:300px"
:multiple="true" :multiple="true"
/> />-->
<UserSelect v-model="formItem.userIds" :multiple="true" theme="list" />
</FormItem> </FormItem>
<FormItem label="班组" v-if="mode==2" prop="shopId"> <FormItem label="班组" v-if="mode==2" prop="shopId">
<Select v-model="formItem.shopId" placeholder="请选择" style="width:300px"> <Select v-model="formItem.shopId" placeholder="请选择" style="width:300px">
...@@ -73,7 +74,8 @@ export default { ...@@ -73,7 +74,8 @@ export default {
remark: "", remark: "",
departmentTitle: "", departmentTitle: "",
shopId: "", shopId: "",
shopName: "" shopName: "",
userIds: []
}, },
workShop: [], workShop: [],
listClass: [], listClass: [],
...@@ -90,14 +92,14 @@ export default { ...@@ -90,14 +92,14 @@ export default {
} }
} }
], ],
userIds: [ // user: [
{ // {
required: true, // required: true,
message: "请选择人员", // message: "请选择人员",
type: "array", // type: "array",
trigger: "change" // trigger: "change"
} // }
], // ],
shopId: [ shopId: [
{ {
required: true, required: true,
...@@ -115,14 +117,18 @@ export default { ...@@ -115,14 +117,18 @@ export default {
methods: { methods: {
//确定 //确定
Determine() { Determine() {
this.$refs["formItem"].validate(valid => { if (this.formItem.userIds.length == 0) {
if (valid) { this.$Message.error("人员不能为空");
this.formItem.detailId = this.detailId; } else {
this.$emit("on-DetermineOk", this.formItem, this.indexId); this.$refs["formItem"].validate(valid => {
} else { if (valid) {
this.$Message.error("Fail!"); this.formItem.detailId = this.detailId;
} this.$emit("on-DetermineOk", this.formItem, this.indexId);
}); } else {
this.$Message.error("请填写完整");
}
});
}
}, },
closeOk() { closeOk() {
this.$emit("closeOk"); this.$emit("closeOk");
...@@ -172,8 +178,7 @@ export default { ...@@ -172,8 +178,7 @@ export default {
this.listClass.push(obj); this.listClass.push(obj);
this.formItem.shopId = this.listClass[0].value; this.formItem.shopId = this.listClass[0].value;
this.formItem.shopName = this.listClass[0].label; this.formItem.shopName = this.listClass[0].label;
}, }
}, },
watch: { watch: {
"formItem.radio"(v) { "formItem.radio"(v) {
......
.transmit_box { .transmit_box {
height: 100%; height: 100%;
} }
.transmit_title { .transmit_title {
padding-top: 10px; padding-top: 10px;
} }
.border_bottom { .border_bottom {
border-bottom: 1px solid #e4e6ed; border-bottom: 1px solid #e4e6ed;
} }
.transmit_content { .transmit_content {
padding: 20px 0 0 0; padding: 20px 0 0 0;
height : calc(100% - 108px); height: calc(100% - 108px);
} }
.select { .select {
color : #a7b8cc; color: #a7b8cc;
font-size: 22px; font-size: 22px;
} }
.wuliao_left { .wuliao_left {
float : left; float: left;
width : 310px; width: 310px;
margin-right: 15px; margin-right: 15px;
// height : calc(100% - 16px); // height : calc(100% - 16px);
height: 500px; height: 500px;
border : 1px solid #e4e6ed; border: 1px solid #e4e6ed;
overflow-y : auto; overflow-y: auto;
overflow-x : hidden; overflow-x: hidden;
} }
.wuliao_right { .wuliao_right {
width : calc(100% - 325px); width: calc(100% - 325px);
height : calc(100% - 16px); height: calc(100% - 16px);
border : 1px solid #e4e6ed; border: 1px solid #e4e6ed;
overflow-y: auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;
} }
.card_title { .card_title {
background : #f8f8f9; background: #f8f8f9;
padding : 8px 15px; padding: 8px 15px;
border-bottom: 1px solid #e4e6ed; border-bottom: 1px solid #e4e6ed;
position : relative; position: relative;
height: 46px; height: 46px;
} }
.state { .state {
float : right; float: right;
color : #515a6e; color: #515a6e;
padding: 5px 5px; padding: 5px 5px;
} }
.transmit_cont { .transmit_cont {
position : absolute; position: absolute;
top : 28px; top: 28px;
right : 0px; right: 0px;
border-radius: 4px; border-radius: 4px;
width : 105px; width: 105px;
height : 155px; height: 155px;
background : #fff; background: #fff;
box-shadow : 0px 0px 6px rgba(0, 0, 0, 0.2); box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2);
} }
.state_body { .state_body {
padding : 10px 0px; padding: 10px 0px;
text-align : center; text-align: center;
line-height: 24px; line-height: 24px;
} }
.state_footer { .state_footer {
border-top: 1px solid #e4e6ed; border-top: 1px solid #e4e6ed;
padding : 3px; padding: 3px;
} }
.title_btn02 { .title_btn02 {
padding: 0px 9px; padding: 0px 9px;
border : none; border: none;
} }
.color02 { .color02 {
color: #249e91; color: #249e91;
} }
.card_box { .card_box {
cursor: pointer; cursor: pointer;
width : 270px; width: 270px;
height: 116px; height: 116px;
border: 1px solid #e4e6ed; border: 1px solid #e4e6ed;
margin: 20px auto; margin: 20px auto;
} }
.hover { .hover {
cursor : pointer; cursor: pointer;
width : 270px; width: 270px;
height : 116px; height: 116px;
border : 1px solid #e4e6ed; border: 1px solid #e4e6ed;
margin : 20px auto; margin: 20px auto;
background: #f5f7fd; background: #f5f7fd;
} }
.card_body { .card_body {
width : 230px; width: 230px;
float : left; float: left;
padding: 10px 0 0 10px; padding: 10px 0 0 10px;
} }
.card_right { .card_right {
cursor : pointer; cursor: pointer;
background: #e4e6ed; background: #e4e6ed;
height : 114px; height: 114px;
text-align: center; text-align: center;
float : left; float: left;
width : 38px; width: 38px;
} }
.yellow { .yellow {
background: #ffc000; background: #ffc000;
} }
.pink { .pink {
background: #ff7a8b; background: #ff7a8b;
} }
.green { .green {
background: #27c149; background: #27c149;
} }
.card_right>img { .card_right>img {
margin-top: 48px; margin-top: 48px;
} }
.list_item { .list_item {
height : 24px; height: 24px;
line-height: 24px; line-height: 24px;
img { img {
width : 16px; width: 16px;
height: 16px; height: 16px;
} }
} }
.table01 { .table01 {
padding: 0 10px; padding: 0 10px;
} }
.new_box { .new_box {
.photo { .photo {
float : left; float: left;
margin : 0 20px 0 0; margin: 0 20px 0 0;
width : calc(40% - 20px); width: calc(40% - 20px);
border-right: solid 1px #bebcbc; border-right: solid 1px #bebcbc;
text-align : center; text-align: center;
img {
width : 350px !important;
height: 300px !important;
}
// .photo_box{
// }
}
.table { img {
float: left; width: 350px !important;
width: calc(60% - 20px); height: 300px !important;
} }
// .photo_box{
// }
}
.table {
float: left;
width: calc(60% - 20px);
}
} }
.fixed_box { .fixed_box {
// height : 658px; // height : 658px;
overflow-y: auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;
padding : 0 10px; padding: 0 10px;
} }
// 工艺文件 // 工艺文件
.outP { .outP {
.iviewimg { .iviewimg {
width : 100%; width: 100%;
height : 70px; height: 70px;
text-align: center; text-align: center;
margin : 0 0 60px; margin: 0 0 60px;
} }
} }
.table_box { .table_box {
border: 1px solid #000; border: 1px solid #000;
.row_title{
height : 40px;
}
.table_row {
line-height : 40px;
border-bottom: 1px solid #000;
div {
text-align: center;
}
.box {
width : 100%;
height : 40px;
border-bottom: 1px solid #fff;
}
}
.row_label { .row_title {
border-right: 1px solid #000; height: 40px;
} }
.table_row {
line-height: 40px;
border-bottom: 1px solid #000;
.iview_cont { div {
border-right: 1px solid #000; text-align: center;
width : 100%;
height : 40px;
} }
.table_row02 { .box {
border-top : 1px solid #000; width: 100%;
border-bottom: 1px solid #000; height: 40px;
height : 42px; border-bottom: 1px solid #fff;
line-height : 40px;
text-align : center;
margin-top : 10px;
} }
}
.row_label {
border-right: 1px solid #000;
}
.iview_cont {
border-right: 1px solid #000;
width: 100%;
height: 40px;
}
.table_row02 {
border-top: 1px solid #000;
border-bottom: 1px solid #000;
height: 42px;
line-height: 40px;
text-align: center;
margin-top: 10px;
}
} }
.center { .center {
text-align: center; text-align: center;
} }
.title_cont { .title_cont {
margin : 10px auto; margin: 10px auto;
width : auto; width: auto;
display: inline-block; display: inline-block;
} }
.iview_cont01 { .iview_cont01 {
display : inline-block; display: inline-block;
margin : 0 6px; margin: 0 6px;
font-weight: bold; font-weight: bold;
} }
.f16 { .f16 {
font-size: 16px; font-size: 16px;
} }
.h1 { .h1 {
font-size : 36px; font-size: 36px;
display : inline-block; display: inline-block;
width : auto; width: auto;
padding : 0 8px; padding: 0 8px;
height : 46px; height: 46px;
border-bottom: 1px solid #000; border-bottom: 1px solid #000;
margin : 40px auto; margin: 40px auto;
} }
.outP table thead tr th, .outP table thead tr th,
.outP table tbody tr td { .outP table tbody tr td {
padding : 2px 0; padding: 2px 0;
// height : 30px; // height : 30px;
line-height: 28px; line-height: 28px;
} }
.outP table tbody tr td { .outP table tbody tr td {
padding: 0 5px; padding: 0 5px;
} }
.tit01 { .tit01 {
min-width: 70px; min-width: 70px;
} }
.tit02 { .tit02 {
min-width: 100px; min-width: 100px;
} }
.tit03 { .tit03 {
min-width: 300px; min-width: 300px;
} }
.tit04 { .tit04 {
min-width: 100px; min-width: 100px;
} }
.tit05 { .tit05 {
min-width: 100px; min-width: 100px;
} }
.title01 { .title01 {
min-width: 110px; min-width: 110px;
} }
.title02 { .title02 {
min-width: 300px; min-width: 300px;
} }
.title03 { .title03 {
min-width: 100px; min-width: 100px;
} }
.title04 { .title04 {
min-width: 100px; min-width: 100px;
} }
.title05 { .title05 {
min-width: 100px; min-width: 100px;
} }
.title06 { .title06 {
min-width: 100px; min-width: 100px;
} }
.outPdf table, .outPdf table,
.outPdf table tr th, .outPdf table tr th,
.outPdf table tr td { .outPdf table tr td {
border-color: #000; border-color: #000;
} }
\ No newline at end of file
<template> <template>
<Layout class="full"> <Layout class="full">
<Sider hide-trigger :style="{background: '#fff'}" width="260"> <!-- <Sider hide-trigger :style="{background: '#fff'}" width="260">
<div class="zh-tree" :style="{height:treeHeight+'px'}"> <div class="zh-tree" :style="{height:treeHeight+'px'}">
<h3 class="zh-title">产品结构</h3> <h3 class="zh-title">产品结构</h3>
<div class="zh-box"> <div class="zh-box">
...@@ -13,8 +13,16 @@ ...@@ -13,8 +13,16 @@
></Tree> ></Tree>
</div> </div>
</div> </div>
</Sider> -->
<Sider hide-trigger v-if="showMenu" class="menu_side" width="300">
<ProductTree @on-hide="onHide" @on-select="productSearch" />
</Sider> </Sider>
<Content class="content"> <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="content" :class="!showMenu?'con_bord':''">
<!--:data="dataT"--> <!--:data="dataT"-->
<DataGrid <DataGrid
:action="action" :action="action"
...@@ -100,19 +108,21 @@ import Detail from "./detail"; ...@@ -100,19 +108,21 @@ import Detail from "./detail";
import Search from "./search"; import Search from "./search";
import Split from "./split"; import Split from "./split";
import Send from "./send"; import Send from "./send";
import ProductTree from "@/components/page/productTree.vue";
export default { export default {
name: "list", name: "list",
components: { components: {
Add, Add,
Edit, Edit,
Detail, Detail,
Search, Search,
Split, Split,
Send Send,ProductTree,
}, },
data() { data() {
return { return {
action: Api.index, action: Api.index,
showMenu: true,
easySearch: { easySearch: {
keys: { keys: {
op: "mesCode,productName", op: "mesCode,productName",
...@@ -763,6 +773,18 @@ export default { ...@@ -763,6 +773,18 @@ export default {
this.$Message.error("数量为1,不能进行分解"); this.$Message.error("数量为1,不能进行分解");
} }
}, },
onHide() {
// this.$Message.info("收起左侧树")
this.showMenu = false;
},
showMenuFn() {
//this.$Message.info("展开左侧树")
this.showMenu = true;
},
productSearch(id, item, ids) {
let where = { productId: { op: "In", value: ids } };
this.$refs.grid.reload(where);
},
//确定分解 //确定分解
orderSplitOk() { orderSplitOk() {
let returnDatalist = this.$refs.orderSplit.returnDataList(); let returnDatalist = this.$refs.orderSplit.returnDataList();
......
<template> <template>
<Layout class="quotation"> <Layout class="quotation">
<!-- 左侧树 --> <!-- 左侧树 -->
<Sider hide-trigger :style="{background: '#fff'}" width="260"> <!-- <Sider hide-trigger :style="{background: '#fff'}" width="260">
<Tree-Type @func="getMsgFormSon" :style="{ height: treeHeight + 'px' }"></Tree-Type> <Tree-Type @func="getMsgFormSon" :style="{ height: treeHeight + 'px' }"></Tree-Type>
</Sider> -->
<Sider hide-trigger v-if="showMenu" class="menu_side" width="300">
<ProductTree @on-hide="onHide" @on-select="productSearch" />
</Sider> </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="content"> <Content class="content" :class="!showMenu?'con_bord':''">
<Tabs v-model="selectName" @on-click="handleClick"> <Tabs v-model="selectName" @on-click="handleClick">
<TabPane label="订单报价" key="offer" name="offer"> <TabPane label="订单报价" key="offer" name="offer">
<div class="search-form"> <div class="search-form">
...@@ -140,7 +148,7 @@ import MetalQuotation from "./components/metalQuotation.vue"; //订单报价弹 ...@@ -140,7 +148,7 @@ import MetalQuotation from "./components/metalQuotation.vue"; //订单报价弹
import Photosensitive from "./components/photosensitive.vue"; //订单报价弹框光敏 import Photosensitive from "./components/photosensitive.vue"; //订单报价弹框光敏
import MetalDetails from "./components/metalDetails.vue"; //报价历史记录铺粉详情弹框 import MetalDetails from "./components/metalDetails.vue"; //报价历史记录铺粉详情弹框
import PhotosensitiveDetails from "./components/photosensitiveDetails.vue"; //报价历史记录光敏详情弹框 import PhotosensitiveDetails from "./components/photosensitiveDetails.vue"; //报价历史记录光敏详情弹框
import ProductTree from "@/components/page/productTree.vue";//左侧树列表
import MetalQuotationGeneration from "./components/metalQuotationGeneration.vue"; //生成报价单弹框 import MetalQuotationGeneration from "./components/metalQuotationGeneration.vue"; //生成报价单弹框
import PhotosensitiveGeneration from "./components/photosensitiveGeneration.vue"; //生成报价单弹框 import PhotosensitiveGeneration from "./components/photosensitiveGeneration.vue"; //生成报价单弹框
export default { export default {
...@@ -152,7 +160,7 @@ export default { ...@@ -152,7 +160,7 @@ export default {
MetalQuotation, MetalQuotation,
Photosensitive, Photosensitive,
MetalDetails, MetalDetails,
PhotosensitiveDetails, PhotosensitiveDetails,ProductTree,
MetalQuotationGeneration, MetalQuotationGeneration,
PhotosensitiveGeneration PhotosensitiveGeneration
}, },
...@@ -162,6 +170,7 @@ export default { ...@@ -162,6 +170,7 @@ export default {
result: [] result: []
}, },
userId: 0, userId: 0,
showMenu: true,
model1: "", model1: "",
rows: {}, rows: {},
modalDai: false, //待审核 modalDai: false, //待审核
...@@ -381,10 +390,23 @@ export default { ...@@ -381,10 +390,23 @@ export default {
}; };
}, },
methods: { methods: {
onHide() {
this.showMenu = false;
},
showMenuFn() {
this.showMenu = true;
},
productSearch(id, item, ids) {
// console.log(item)
this.getMsgFormSon(ids)
// let where = { productId: { op: "In", value: ids } };
// this.$refs.grid.reload(where);
},
update() { update() {
this.tableTata(this.selectName); this.tableTata(this.selectName);
}, },
getMsgFormSon(data) { getMsgFormSon(data) {
// console.log(data)
this.productId = data.join(","); this.productId = data.join(",");
this.tableTata(this.selectName); this.tableTata(this.selectName);
}, },
......
<template> <template>
<div> <Layout class="lay100">
<!-- <div> -->
<!-- 左侧树 --> <!-- 左侧树 -->
<div class="zh-tree" :style="{height:treeHeight+'px'}"> <!-- <Sider hide-trigger v-if="showMenu" class="menu_side" width="300"> -->
<h3 class="zh-title">产品结构</h3> <!-- <div class="zh-tree" :style="{height:treeHeight+'px'}"> -->
<!-- <h3 class="zh-title">产品结构</h3>
<div class="zh-box"> <div class="zh-box">
<Input search placeholder="请输入查询条件" v-model="treeInputSearch" /> <Input search placeholder="请输入查询条件" v-model="treeInputSearch" />
...@@ -13,9 +15,18 @@ ...@@ -13,9 +15,18 @@
@on-select-change="selectTreeNode" @on-select-change="selectTreeNode"
></Tree> ></Tree>
</div> </div>
</Sider> -->
<!-- </div> -->
<Sider hide-trigger v-if="showMenu" class="menu_side" 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> </div>
<!-- 右侧内容 --> <!-- 右侧内容 -->
<div class="content-right"> <Content class="con" :class="!showMenu?'con_bord':''">
<div class="title_box"> <div class="title_box">
<div class="table_title"> <div class="table_title">
<div style="width:100px; float:left"> <div style="width:100px; float:left">
...@@ -235,7 +246,7 @@ ...@@ -235,7 +246,7 @@
@on-page-size-change="pageSizeChange" @on-page-size-change="pageSizeChange"
/> />
</div> </div>
</div> </Content>
<Modal <Modal
v-model="modal1" v-model="modal1"
:title="gymodaltitle" :title="gymodaltitle"
...@@ -339,19 +350,18 @@ ...@@ -339,19 +350,18 @@
> >
<processview ref="processview"></processview> <processview ref="processview"></processview>
</Modal> </Modal>
</div> </Layout>
</template> </template>
<script> <script>
import DrawerSet from "./components/drawerSet.vue"; //抽屉列表 import DrawerSet from "./components/drawerSet.vue"; //抽屉列表
import TreeType from "./components/treeType.vue"; //左侧树列表
import orderMaterial from "./components/orderMaterial.vue"; //料单 import orderMaterial from "./components/orderMaterial.vue"; //料单
import processMain from "./processMain.vue"; import processMain from "./processMain.vue";
import processNew from "../Process/processNew.vue"; import processNew from "../Process/processNew.vue";
import service from "@/plugins/request"; import service from "@/plugins/request";
import ProductTree from "@/components/page/productTree.vue"; //左侧树列表
import OrderSendReview from "./components/orderSendReview"; //送审页面 import OrderSendReview from "./components/orderSendReview"; //送审页面
import processview from "../Process/processview.vue"; import processview from "../Process/processview.vue";
import sendAudit from "../Process/sendAudit.vue"; import sendAudit from "../Process/sendAudit.vue";
...@@ -359,7 +369,7 @@ import QS from "querystring"; ...@@ -359,7 +369,7 @@ import QS from "querystring";
export default { export default {
components: { components: {
DrawerSet, DrawerSet,
TreeType, ProductTree,
processMain, processMain,
processNew, processNew,
orderMaterial, orderMaterial,
...@@ -369,6 +379,7 @@ export default { ...@@ -369,6 +379,7 @@ export default {
}, },
data() { data() {
return { return {
showMenu: true,
isview: false, isview: false,
isdview: false, isdview: false,
ismview: false, ismview: false,
...@@ -687,7 +698,7 @@ export default { ...@@ -687,7 +698,7 @@ export default {
await store.dispatch("loadDictionary"); // 加载数据字典 await store.dispatch("loadDictionary"); // 加载数据字典
}, },
mounted() { mounted() {
this.initTree(); // this.initTree();
window.onresize = () => { window.onresize = () => {
///浏览器窗口大小变化 ///浏览器窗口大小变化
return (() => { return (() => {
...@@ -698,7 +709,7 @@ export default { ...@@ -698,7 +709,7 @@ export default {
}; };
}, },
computed: { computed: {
searchList() { searchList() {//产品树左侧
let nodeList = this.treeData; let nodeList = this.treeData;
var text = this.treeInputSearch; var text = this.treeInputSearch;
var newNodeList = []; var newNodeList = [];
...@@ -720,6 +731,21 @@ export default { ...@@ -720,6 +731,21 @@ export default {
} }
}, },
methods: { methods: {
onHide() {
this.showMenu = false;
},
showMenuFn() {
this.showMenu = true;
},
productSearch(id, item, ids) {
if (ids.length > 0) {
this.orderSearchForm.productId = ids.join(",");
} else {
this.orderSearchForm.productId = "-1";
this.orderSearchForm.productName = "";
}
this.easySearch(this.orderSearchForm);
},
// tab切换 // tab切换
tabChange(name) { tabChange(name) {
this.tabstatus = name; this.tabstatus = name;
...@@ -765,12 +791,9 @@ export default { ...@@ -765,12 +791,9 @@ export default {
deleted() {}, deleted() {},
// 分页 // 分页
pageChange(num) { pageChange(num) {
//console.log(num);
this.page = num; this.page = num;
this.orderSearchForm.SkipCount = (num - 1) * this.orderSearchForm.MaxResultCount;
this.orderSearchForm.SkipCount = // console.log(this.orderSearchForm.SkipCount);
(num - 1) * this.orderSearchForm.MaxResultCount;
console.log(this.orderSearchForm.SkipCount);
this.loaddata(this.orderSearchForm); this.loaddata(this.orderSearchForm);
}, },
pageSizeChange(limit) { pageSizeChange(limit) {
...@@ -780,23 +803,15 @@ console.log(this.orderSearchForm.SkipCount); ...@@ -780,23 +803,15 @@ console.log(this.orderSearchForm.SkipCount);
this.loaddata(this.orderSearchForm); this.loaddata(this.orderSearchForm);
}, },
loaddata(params) { loaddata(params) {
var url = ""; var url = "";
// if(params==1||params==2){
// url =
// `${PlanUrl}/mesorder/getpagedmesordersforpdefm?ProcessUserType=` + params
// }else{
this.orderSearchForm.simpleSearch= typeof params == "string" ? params : params.simpleSearch, //快速搜索 this.orderSearchForm.simpleSearch= typeof params == "string" ? params : params.simpleSearch, //快速搜索
this.orderSearchForm.ProcessUserType= this.tabstatus, this.orderSearchForm.ProcessUserType= this.tabstatus,
this.orderSearchForm.ProductingPreparation= this.ProductingPreparationPeople, this.orderSearchForm.ProductingPreparation= this.ProductingPreparationPeople,
this.orderSearchForm.RoutingSetStatus= this.orderSearchForm.RoutingSetStatus this.orderSearchForm.RoutingSetStatus= this.orderSearchForm.RoutingSetStatus
url = url =
`${PlanUrl}/mesorder/getpagedmesordersforpdefm?` + `${PlanUrl}/mesorder/getpagedmesordersforpdefm?` +
QS.stringify(this.orderSearchForm); QS.stringify(this.orderSearchForm);
// }
service.get(`${url}`).then(response => { service.get(`${url}`).then(response => {
// console.log(response) // console.log(response)
...@@ -847,33 +862,34 @@ console.log(this.orderSearchForm.SkipCount); ...@@ -847,33 +862,34 @@ console.log(this.orderSearchForm.SkipCount);
} }
} }
}, },
initTree() { // initTree() {
var sumData = []; // var sumData = [];
this.$http.order.getallselecttree().then(res => { // this.$http.order.getallselecttree().then(res => {
if (res.result) { // if (res.result) {
for (var i = 0; i < res.result.length; i++) { // for (var i = 0; i < res.result.length; i++) {
sumData = sumData.concat(res.result[i]); // sumData = sumData.concat(res.result[i]);
} // }
this.treeData = sumData; // this.treeData = sumData;
this.data2 = JSON.parse(JSON.stringify(sumData)); // this.data2 = JSON.parse(JSON.stringify(sumData));
} else { // } else {
this.$Message.error("加载产品树失败!"); // this.$Message.error("加载产品树失败!");
} // }
}); // });
}, // },
selectTreeNode(value) { // selectTreeNode(value) {
if (value.length > 0) { // console.log(value)
this.ids = []; // if (value.length > 0) {
this.getAllIds(value); // this.ids = [];
if (this.ids.length > 0) { // this.getAllIds(value);
this.orderSearchForm.productId = this.ids.join(","); // if (this.ids.length > 0) {
} else { // this.orderSearchForm.productId = this.ids.join(",");
this.orderSearchForm.productId = "-1"; // } else {
this.orderSearchForm.productName = ""; // this.orderSearchForm.productId = "-1";
} // this.orderSearchForm.productName = "";
this.easySearch(this.orderSearchForm); // }
} // this.easySearch(this.orderSearchForm);
}, // }
// },
getAllIds(trees) { getAllIds(trees) {
trees.forEach((data, index) => { trees.forEach((data, index) => {
var that = this; var that = this;
......
...@@ -457,6 +457,7 @@ export default { ...@@ -457,6 +457,7 @@ export default {
this.formValidate.mydate = date; this.formValidate.mydate = date;
}, },
onchange_createtype() { onchange_createtype() {
if (this.createtype == 1) { if (this.createtype == 1) {
this.isshow_selectpdefm = false; this.isshow_selectpdefm = false;
this.clearModal2(); this.clearModal2();
...@@ -529,11 +530,10 @@ export default { ...@@ -529,11 +530,10 @@ export default {
}); });
}, },
setparentcreatetype(type, headerid) { setparentcreatetype(type, headerid) {
this.$parent.$parent.createtype = type
this.$parent.$parent.headerid = headerid
this.$parent.$parent.$parent.createtype = type
this.$parent.$parent.$parent.headerid = headerid
}, },
bindRoutinglist(productid) { bindRoutinglist(productid) {
......
<template> <template>
<div class="new-equipment"> <div class="new-equipment">
<Modal v-model="modalShow" title="新增设备" width="1000" :mask-closable="false"> <Modal v-model="modalShow" :title="title" width="1000" :mask-closable="false">
<Form :model="formItem" :label-width="100" style="margin:10px;" :rules="ruleValidate"> <Form :model="formItem" :label-width="100" style="margin:10px;" :rules="ruleValidate">
<Row :gutter="16"> <Row :gutter="16">
<Col span="11"> <Col span="11">
...@@ -55,39 +55,19 @@ ...@@ -55,39 +55,19 @@
<inputFile ref="refqcFile" v-model="imgName" :parms="qcfileparms" files /> <inputFile ref="refqcFile" v-model="imgName" :parms="qcfileparms" files />
</FormItem> </FormItem>
</Col> </Col>
<Col span="11" offset="1"> <Col :span="12">
<FormItem label="是否关重" prop="isimportant"> <FormItem label="属性">
<Select v-model="isimportant"> <Checkbox v-model="property">排产资源</Checkbox>
<Option :value="1"></Option>
<Option :value="2"></Option>
</Select>
</FormItem> </FormItem>
</Col> </Col>
</Row> </Row>
<Row :gutter="16"> <Row :gutter="16">
<Col span="11"> <Col span="12">
<FormItem label="能力系数">
<InputNumber
:min="0"
v-model="formItem.capability_value"
size="large"
style="width:240px"
></InputNumber>
</FormItem>
</Col>
<Col span="11" offset="1">
<FormItem label="位置" prop="location"> <FormItem label="位置" prop="location">
<Input v-model="formItem.location" placeholder="请输入位置"></Input> <Input v-model="formItem.location" placeholder="请输入位置"></Input>
</FormItem> </FormItem>
</Col> </Col>
</Row> </Row>
<Row :gutter="16">
<Col :span="12">
<FormItem label="属性">
<Checkbox v-model="property">排产资源</Checkbox>
</FormItem>
</Col>
</Row>
</Form> </Form>
<div slot="footer"> <div slot="footer">
<!-- class="footers" --> <!-- class="footers" -->
...@@ -132,12 +112,12 @@ export default { ...@@ -132,12 +112,12 @@ export default {
equip_ip: "", equip_ip: "",
shop_id: "", shop_id: "",
shop_name: "", shop_name: "",
isimportant: 2, // isimportant: 2,
location: "", location: ""
capability_value: 1 // capability_value: 1
}, },
property: true, property: true,
isimportant: 2, // isimportant: 2,
ruleValidate: { ruleValidate: {
equip_id: [ equip_id: [
{ {
...@@ -234,9 +214,9 @@ export default { ...@@ -234,9 +214,9 @@ export default {
equip_ip: this.formItem.equip_ip, equip_ip: this.formItem.equip_ip,
shop_id: this.formItem.shop_id, shop_id: this.formItem.shop_id,
eqstyle: str, eqstyle: str,
isimportant: this.isimportant, // isimportant: this.isimportant,
location: this.formItem.location, location: this.formItem.location,
capability_value: this.formItem.capability_value, // capability_value: this.formItem.capability_value,
property: this.property, property: this.property,
shop_name: this.formItem.shop_name shop_name: this.formItem.shop_name
}; };
...@@ -277,9 +257,9 @@ export default { ...@@ -277,9 +257,9 @@ export default {
equip_ip: this.formItem.equip_ip, equip_ip: this.formItem.equip_ip,
shop_id: this.formItem.shop_id, shop_id: this.formItem.shop_id,
eqstyle: str, eqstyle: str,
isimportant: this.isimportant, // isimportant: this.isimportant,
location: this.formItem.location, location: this.formItem.location,
capability_value: this.formItem.capability_value, // capability_value: this.formItem.capability_value,
property: this.property, property: this.property,
shop_name: this.formItem.shop_name shop_name: this.formItem.shop_name
}; };
......
...@@ -5,10 +5,12 @@ ...@@ -5,10 +5,12 @@
<h3 class="zh-title">组织架构</h3> <h3 class="zh-title">组织架构</h3>
<div class="zh-box"> <div class="zh-box">
<Input search placeholder="请输入查询条件" clearable v-model="treeInputSearch" /> <Input search placeholder="请输入查询条件" clearable v-model="treeInputSearch" />
<Tree :data="searchList" <Tree
:style="{height:(treeHeight-115)+'px'}" :data="searchList"
style="overflow-y:auto;overflow-x:hiden;width:215px;" :style="{height:(treeHeight-115)+'px'}"
@on-select-change="selectTreeNode"></Tree> style="overflow-y:auto;overflow-x:hiden;width:215px;"
@on-select-change="selectTreeNode"
></Tree>
</div> </div>
</div> </div>
<!-- 右侧内容 --> <!-- 右侧内容 -->
...@@ -535,23 +537,23 @@ export default { ...@@ -535,23 +537,23 @@ export default {
title: "所属部门", title: "所属部门",
key: "shop_name" key: "shop_name"
}, },
{ // {
title: "是否关重", // title: "是否关重",
key: "isimportant", // key: "isimportant",
render: (h, params) => { // render: (h, params) => {
let statuse = params.row.isimportant; // let statuse = params.row.isimportant;
let text = statuse == 1 ? "是" : statuse == 2 ? "否" : ""; // let text = statuse == 1 ? "是" : statuse == 2 ? "否" : "";
return h("span", {}, text); // return h("span", {}, text);
} // }
}, // },
{ {
title: "位置", title: "位置",
key: "location" key: "location"
}, },
{ // {
title: "能力系数", // title: "能力系数",
key: "capability_value" // key: "capability_value"
}, // },
{ {
title: "操作", title: "操作",
key: "action", key: "action",
...@@ -577,7 +579,7 @@ export default { ...@@ -577,7 +579,7 @@ export default {
attrs: { attrs: {
oprate: "edit", oprate: "edit",
// class: "edit", // class: "edit",
title: "编辑" title: "编辑"
}, },
on: { on: {
click: () => { click: () => {
...@@ -591,7 +593,8 @@ export default { ...@@ -591,7 +593,8 @@ export default {
"op", "op",
{ {
attrs: { attrs: {
oprate: "delete",title: "删除" oprate: "delete",
title: "删除"
}, },
style: { style: {
color: "red" color: "red"
...@@ -608,7 +611,8 @@ export default { ...@@ -608,7 +611,8 @@ export default {
"op", "op",
{ {
attrs: { attrs: {
oprate: "detail",title: "保养" oprate: "detail",
title: "保养"
}, },
on: { on: {
click: () => { click: () => {
...@@ -622,7 +626,8 @@ export default { ...@@ -622,7 +626,8 @@ export default {
"op", "op",
{ {
attrs: { attrs: {
oprate: "detail",title: "维修" oprate: "detail",
title: "维修"
}, },
on: { on: {
click: () => { click: () => {
......
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
<Col span="8"> <Col span="8">
<FormItem :label="l('isimportant')" prop="isimportant"> <FormItem :label="l('isimportant')" prop="isimportant">
<RadioGroup v-model="entity.isimportant"> <RadioGroup v-model="entity.isimportant">
<Radio label="0"></Radio> <Radio label="1"></Radio>
<Radio label="1"></Radio> <Radio label="2"></Radio>
</RadioGroup> </RadioGroup>
</FormItem> </FormItem>
</Col> </Col>
...@@ -132,6 +132,23 @@ export default { ...@@ -132,6 +132,23 @@ export default {
easy: true, easy: true,
high: true high: true
}, },
{
key: "isimportant",
title: this.l("isimportant"),
align: "left",
render: (h, params) => {
let statuse = params.row.isimportant;
let text = statuse == 1 ? "是" : statuse == 2 ? "否" : "";
return h("span", {}, text);
}
},
{
key: "capabilityValue",
title: this.l("capabilityValue"),
align: "left",
easy: true,
high: true
},
{ {
key: "calId", key: "calId",
title: this.l("calId"), title: this.l("calId"),
...@@ -173,12 +190,12 @@ export default { ...@@ -173,12 +190,12 @@ export default {
attrs: { oprate: "edit" }, attrs: { oprate: "edit" },
on: { click: () => this.edit(params.row.id) } on: { click: () => this.edit(params.row.id) }
}, },
"设置日历" "设置"
), ),
h( h(
"op", "op",
{ {
attrs: { oprate: "remove",title: "删除" }, attrs: { oprate: "remove", title: "删除" },
on: { click: () => this.remove(params.row.id) } on: { click: () => this.remove(params.row.id) }
}, },
"删除" "删除"
...@@ -257,6 +274,8 @@ export default { ...@@ -257,6 +274,8 @@ export default {
this.disabled = false; this.disabled = false;
if (r.success) { if (r.success) {
this.$Message.success("保存成功"); this.$Message.success("保存成功");
this.$refs.grid.load();
this.$refs.grid.footerToolbar = false;
} else { } else {
this.$Message.error("保存失败"); this.$Message.error("保存失败");
} }
......
<template> <template>
<Form ref="form" :model="entity" :rules="rules" :label-width="90"> <Form ref="form" :model="formItem" :rules="rules" :label-width="90">
<Row> <Row>
<Col span="12"> <Col span="12">
<FormItem label="资源名称" prop="equip_name"> <FormItem label="资源名称" prop="equip_name">
...@@ -29,6 +29,19 @@ ...@@ -29,6 +29,19 @@
</Select> </Select>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12">
<FormItem label="是否关重" prop="isimportant">
<RadioGroup v-model="formItem.isimportant">
<Radio label="1"></Radio>
<Radio label="2"></Radio>
</RadioGroup>
</FormItem>
</Col>
<Col :span="12">
<FormItem label="能力值" prop="capabilityValue">
<Input v-model="formItem.capabilityValue" placeholder="请输入能力值"></Input>
</FormItem>
</Col>
</Row> </Row>
<FormItem> <FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button> <Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
...@@ -47,7 +60,9 @@ export default { ...@@ -47,7 +60,9 @@ export default {
overtimeList: [], overtimeList: [],
formItem: { formItem: {
equip_name: "", equip_name: "",
equip_id: "" equip_id: "",
isimportant: "",
capabilityValue: ""
}, },
formItem1: { formItem1: {
id: 0, id: 0,
...@@ -97,6 +112,8 @@ export default { ...@@ -97,6 +112,8 @@ export default {
Api.get({ id: v }).then(r => { Api.get({ id: v }).then(r => {
this.formItem.equip_name = r.result.title; this.formItem.equip_name = r.result.title;
this.formItem.equip_id = r.result.code; this.formItem.equip_id = r.result.code;
this.formItem.capabilityValue = r.result.capabilityValue;
this.formItem.isimportant = r.result.isimportant + "";
this.formItem1.calendarwork_pk = r.result.calKey; this.formItem1.calendarwork_pk = r.result.calKey;
this.formItem2.calendarovertime_pk = r.result.holidayKey; this.formItem2.calendarovertime_pk = r.result.holidayKey;
this.formItem1.equip_pk = r.result.id; this.formItem1.equip_pk = r.result.id;
...@@ -109,7 +126,9 @@ export default { ...@@ -109,7 +126,9 @@ export default {
this.disabled = true; this.disabled = true;
Api.update({ Api.update({
equipCalendarWork: this.formItem1, equipCalendarWork: this.formItem1,
equipCalendarOverTime: this.formItem2 equipCalendarOverTime: this.formItem2,
isimportant: this.formItem.isimportant,
capabilityValue: this.formItem.capabilityValue
}) })
.then(r => { .then(r => {
this.disabled = false; this.disabled = false;
......
...@@ -17,8 +17,11 @@ ...@@ -17,8 +17,11 @@
</FormItem> </FormItem>
</Col> </Col>
<Col :span="8"> <Col :span="8">
<FormItem :label="l('code')" prop="code"> <!-- <FormItem v-if="title=='新增'" :label="l('code')" prop="code">
<Input v-model="entity.code"></Input> <Input v-model="entity.code"></Input>
</FormItem> v-else-if="title=='克隆'"-->
<FormItem :label="l('code')" prop="code">
<Input disabled v-model="entity.code"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="8"> <Col :span="8">
...@@ -129,7 +132,7 @@ ...@@ -129,7 +132,7 @@
<Col :span="24"> <Col :span="24">
<FormItem label="多媒体附件" prop="files"> <FormItem label="多媒体附件" prop="files">
<files ref="refFile" :parms="parms" files /> <files ref="refFile" :parms="parms" fileFormat/>
</FormItem> </FormItem>
</Col> </Col>
</Row> </Row>
...@@ -175,7 +178,8 @@ export default { ...@@ -175,7 +178,8 @@ export default {
versionnotes: "", versionnotes: "",
phase: null, phase: null,
versionid: null, versionid: null,
isSendPpm: 1 isSendPpm: 1,
fileId: ""
}, },
rules: { rules: {
name: [{ required: true, message: "必填", trigger: "blur" }], name: [{ required: true, message: "必填", trigger: "blur" }],
...@@ -191,32 +195,33 @@ export default { ...@@ -191,32 +195,33 @@ export default {
}, },
props: { props: {
v: Object, v: Object,
eid: Number eid: Number,
title: String
}, },
mounted() { mounted() {
this.parms.eid = this.$u.guid(); this.parms.eid = this.$u.guid();
this.$refs.refFile.intFiles(); this.$refs.refFile.intFiles();
if (this.eid > 0) {
this.load(this.eid);
}else{
this.getCodNumber();
}
}, },
methods: { methods: {
handleSubmit() { handleSubmit() {
this.$refs.form.validate(v => { this.$refs.form.validate(v => {
if (v) { if (v) {
this.disabled = true; this.disabled = true;
// this.entity.qualityTemplateName = '' if(this.title=='克隆'){
// this.entity.qualityTemplate='' this.$Message.success("克隆");
// if (this.$refs.refFile.nameList.length > 0) { this.getcloneData()
// let nameList=this.$refs.refFile.nameList }else{
// let names=[] if (this.$refs.refFile.nameList.length > 0) {
// let url=[] this.entity.fileId = this.parms.eid;
// nameList.forEach(e => { } else {
// names.push(e.fileName) this.entity.fileId = "";
// url.push(e.filePath) }
// }); Api.create(this.entity).then(r => {
// this.entity.qualityTemplateName = JSON.stringify(names).replace('[','').replace(']','').replace(/\"/g,'')//附件本地库暂存文件名称
// this.entity.qualityTemplate=JSON.stringify(url).replace('[','').replace(']','').replace(/\"/g,'')
// }
Api.create(this.entity)
.then(r => {
this.disabled = false; this.disabled = false;
if (r.success) { if (r.success) {
this.$Message.success("保存成功"); this.$Message.success("保存成功");
...@@ -230,9 +235,31 @@ export default { ...@@ -230,9 +235,31 @@ export default {
this.$Message.error("保存失败"); this.$Message.error("保存失败");
console.warn(err); console.warn(err);
}); });
}
} }
}); });
}, },
// 克隆工艺
getcloneData(){
let parmese = {
headerId: this.eid,
code: this.entity.code
};
Api.getCloneHeader(parmese).then(r => {
this.disabled = false;
if (r.success) {
this.$Message.success("克隆成功");
this.$emit("on-ok");
} else {
this.$Message.error("克隆失败");
}
})
.catch(err => {
this.disabled = false;
this.$Message.error("克隆失败");
console.warn(err);
});
},
handleClose() { handleClose() {
this.$emit("on-close"); this.$emit("on-close");
}, },
...@@ -260,8 +287,19 @@ export default { ...@@ -260,8 +287,19 @@ export default {
load(v) { load(v) {
Api.get({ id: v }).then(r => { Api.get({ id: v }).then(r => {
this.entity = r.result; this.entity = r.result;
this.entity.isEffect = parseInt(r.result.isEffect);
this.entity.id = 0; this.entity.id = 0;
}); });
this.getCodNumber();
},
getCodNumber(){
Api.getCodeNumber({code:'GY',count:'1'}).then( r => {
if(r.success){
this.entity.code = r.result[0]
}else{
this.$Message.error("生成编号失败");
}
})
}, },
l(key) { l(key) {
key = "routingHeader" + "." + key; key = "routingHeader" + "." + key;
...@@ -273,10 +311,11 @@ export default { ...@@ -273,10 +311,11 @@ export default {
this.entity = this.$u.clone(this.v); this.entity = this.$u.clone(this.v);
}, },
eid(v) { eid(v) {
if (v > 0) { // console.log("id:",v)
if (v != 0) {
this.load(v); this.load(v);
} }
} },
} }
}; };
</script> </script>
\ No newline at end of file
...@@ -13,6 +13,13 @@ export default { ...@@ -13,6 +13,13 @@ export default {
update(params) { update(params) {
return Api.put(`${technologyUrl}routingheader/update`, params); return Api.put(`${technologyUrl}routingheader/update`, params);
}, },
getCloneHeader(params){
return Api.post(`${technologyUrl}routingheader/cloneheader`,params);
},
getCodeNumber(params){
return Api.post(`${systemUrl}/cache/generate_serialcode`,params);
},
delete(id) { delete(id) {
return Api.delete(`${technologyUrl}routingheader/delete`, { return Api.delete(`${technologyUrl}routingheader/delete`, {
params: { params: {
......
...@@ -154,6 +154,7 @@ ...@@ -154,6 +154,7 @@
v-model="entity.taskContent" v-model="entity.taskContent"
:height="200" :height="200"
v-paste="handleImg" v-paste="handleImg"
border
/> />
</FormItem> </FormItem>
</Col> </Col>
......
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
</Col> </Col>
<Col :span="24"> <Col :span="24">
<FormItem :label="l('taskContent')" prop="taskContent"> <FormItem :label="l('taskContent')" prop="taskContent">
<i-quill v-model="entity.taskContent" :height="200" v-paste="handleImg" /> <i-quill v-model="entity.taskContent" :height="200" border v-paste="handleImg" />
</FormItem> </FormItem>
</Col> </Col>
</Row> </Row>
......
...@@ -37,7 +37,7 @@ export default { ...@@ -37,7 +37,7 @@ export default {
action: Api.index, action: Api.index,
easySearch: { easySearch: {
keys: { keys: {
op: "name,description,remark,resourceCode,equipType,note", op: "name",
value: null value: null
}, },
routingHeaderId: { op: "Equal", value: -1 } routingHeaderId: { op: "Equal", value: -1 }
...@@ -70,17 +70,18 @@ export default { ...@@ -70,17 +70,18 @@ export default {
}); });
} }
}, },
{ key: "taskSeq", title: this.l("taskSeq"), align: "left" }, { key: "taskSeq", title: this.l("taskSeq"), align: "left",width:80 },
{ {
key: "name", key: "name",
title: this.l("name"), title: this.l("name"),
align: "left" align: "left",
}, },
{ {
key: "equipType", key: "equipType",
title: this.l("equipType"), title: this.l("equipType"),
align: "left", align: "left",
easy: true easy: true,
hide:true,
}, },
{ {
key: "resourceType", key: "resourceType",
...@@ -117,32 +118,36 @@ export default { ...@@ -117,32 +118,36 @@ export default {
key: "isParticipateIntime", key: "isParticipateIntime",
title: this.l("isParticipateIntime"), title: this.l("isParticipateIntime"),
align: "center", align: "center",
code: "Process.state" code: "Process.state",
hide: true,
}, },
{ {
key: "isImportant", key: "isImportant",
title: this.l("isImportant"), title: this.l("isImportant"),
align: "center", align: "center",
code: "Process.state" code: "Process.state",
width:100,
hide: true,
}, },
{ {
key: "isOutside", key: "isOutside",
title: this.l("isOutside"), title: this.l("isOutside"),
align: "left", align: "center",
hide: true, hide: true,
code: "Process.state" code: "Process.state",
width:100
}, },
{ {
key: "efficiencyValue", key: "efficiencyValue",
title: this.l("efficiencyValue"), title: this.l("efficiencyValue"),
align: "left", align: "right",
hide: true hide: true
}, },
{ {
key: "singleOut", key: "singleOut",
title: this.l("singleOut"), title: this.l("singleOut"),
align: "left", align: "right",
hide: true hide: true
}, },
...@@ -394,53 +399,6 @@ export default { ...@@ -394,53 +399,6 @@ export default {
this.load(); this.load();
}, },
l(key) { l(key) {
/*
routing_detail:{
id:'',
creationTime:'创建时间',
creatorUserId:'创建人',
lastModificationTime:'最近修改时间',
lastModifierUserId:'最近修改人',
isDeleted:'是否删除',
deleterUserId:'删除人',
deletionTime:'删除时间',
classId:'',
routingHeaderId:'工艺规程id',
name:'工序名称',
taskSeq:'工序号',
description:'备注',
taskContent:'工序内容',
resourceId:'资源ID',
resourceType:'资源类型',
runtime:'单件排产工时',
setupTime:'工序准备工时',
transportTime:'转运工时',
checkTime:'检验工时',
checkFlag:'检验标识',
efficiencyValue:'效率系数',
singleOut:'单件产出',
isOutside:'是否外协',
departmentId:'工序的承制车间',
isImportant:'是否关键工序',
milestoneId:'里程碑',
phaseId:'阶段id',
status:'状态',
remark:'备注',
extend:'扩展字段',
outsideTime:'外协工期',
performanceHours:'绩效工时',
resourceCode:'资源编号',
isImportantResources:'关重资源',
schedulingWorkingHours:'排产准结工时',
realWorkingHours:'实作准结工时',
realRuntime:'实作单件工时',
performanceWorkingHours:'绩效准结工时',
isParticipateIntime:'是否参与工时分配',
equipType:'设备类型',
equipTypeId:'设备类型ID',
note:'备注',
}
*/
let vkey = "routing_detail" + "." + key; let vkey = "routing_detail" + "." + key;
return this.$t(vkey) || key; return this.$t(vkey) || key;
} }
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
<i-quill <i-quill
v-model="entity.stepContent" v-model="entity.stepContent"
:height="260" :height="260"
border
v-paste="handleImg" v-paste="handleImg"
/> />
<!-- <Input v-model="entity.stepContent" type="textarea" :rows="5"></Input> --> <!-- <Input v-model="entity.stepContent" type="textarea" :rows="5"></Input> -->
......
<template> <template>
<div> <div>
<DataGrid :columns="columns" ref="grid" :conditions="easySearch" :action="action"> <DataGrid :columns="columns" ref="grid" :conditions="easySearch" :action="action">
<template slot="easySearch"> <template slot="easySearch">
<Form ref="formInline" :model="easySearch" inline> <Form ref="formInline" :model="easySearch" inline>
<FormItem prop="keys"> <FormItem prop="keys">
<Input <Input
placeholder="请输入关键字检测要求/测量单位/模板/备注/生产要求/标准指标/模板名称/抽检批次" placeholder="请输入检测要求/标准指标"
v-model="easySearch.keys.value" v-model="easySearch.keys.value"
/> />
</FormItem> </FormItem>
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
</Form> </Form>
</template> </template>
<template slot="searchForm"> <template slot="searchForm">
<Search :headid="hid"/> <Search :headid="hid" />
</template> </template>
<template slot="buttons"> <template slot="buttons">
<Button type="primary" @click="add">新增</Button> <Button type="primary" @click="add">新增</Button>
...@@ -46,7 +46,7 @@ export default { ...@@ -46,7 +46,7 @@ export default {
easySearch: { easySearch: {
keys: { keys: {
op: op:
"checkParams,measurementUnit,qualityTemplate,remark,productionRequirement,standard,qualityTemplateName,samplingBatch", "checkParams,standard",
value: null value: null
}, },
routingHeaderId: { op: "Equal", value: -1 } routingHeaderId: { op: "Equal", value: -1 }
...@@ -55,42 +55,34 @@ export default { ...@@ -55,42 +55,34 @@ export default {
title: "新增", title: "新增",
detail: null, detail: null,
curId: 0, curId: 0,
hid:0, hid: 0,
columns: [ columns: [
{ key: "id", title: this.l("id"), hide: true, align: "left" }, { key: "id", title: this.l("id"), hide: true, align: "left" },
{ {
key: "creationTime", key: "routingHeaderId",
title: this.l("creationTime"), title: this.l("routingHeaderId"),
align: "left",
high: true
},
{
key: "creatorUserId",
title: this.l("creatorUserId"),
align: "left",
high: true
},
{
key: "lastModificationTime",
title: this.l("lastModificationTime"),
align: "left", align: "left",
high: true high: true,
hide: true
}, },
{ {
key: "lastModifierUserId", key: "routingDetailId",
title: this.l("lastModifierUserId"), title: this.l("routingDetailId"),
align: "left", align: "left",
high: true high: true,
hide: true
}, },
{ {
key: "routingHeaderId", key: "routingDetailNo",
title: this.l("routingHeaderId"), title: this.l("routingDetailNo"),
align: "left", align: "left",
high: true high: true,
width: 80
}, },
{ {
key: "routingDetailId", key: "routingDetailName",
title: this.l("routingDetailId"), title: this.l("routingDetailName"),
align: "left", align: "left",
high: true high: true
}, },
...@@ -98,14 +90,16 @@ export default { ...@@ -98,14 +90,16 @@ export default {
key: "routingStepId", key: "routingStepId",
title: this.l("routingStepId"), title: this.l("routingStepId"),
align: "left", align: "left",
high: true high: true,
hide: true
}, },
{ {
key: "checkType", key: "checkType",
title: this.l("checkType"), title: this.l("checkType"),
align: "left", align: "left",
high: true, high: true,
code: "QC.checktype" code: "QC.checktype",
width:100,
}, },
{ {
key: "checkParams", key: "checkParams",
...@@ -119,48 +113,54 @@ export default { ...@@ -119,48 +113,54 @@ export default {
title: this.l("measurementUnit"), title: this.l("measurementUnit"),
align: "left", align: "left",
easy: true, easy: true,
high: true high: true,
hide:true,
}, },
{ {
key: "fillintype", key: "fillintype",
title: this.l("fillintype"), title: this.l("fillintype"),
align: "left", align: "center",
high: true, high: true,
code: "QC.fillintype" code: "QC.fillintype",
width:140,
}, },
{ {
key: "isphotograph", key: "isphotograph",
title: this.l("isphotograph"), title: this.l("isphotograph"),
align: "left", align: "center",
high: true, high: true,
code: "Process.state" code: "Process.state",
width:100,
}, },
{ {
key: "status", key: "status",
title: this.l("status"), title: this.l("status"),
align: "left", align: "center",
high: true, high: true,
code: "Process.Status" code: "Process.Status",
width:80,
}, },
{ {
key: "productionRequirement", key: "productionRequirement",
title: this.l("productionRequirement"), title: this.l("productionRequirement"),
align: "left", align: "left",
easy: true, easy: true,
high: true high: true,
hide: true
}, },
{ {
key: "standard", key: "standard",
title: this.l("standard"), title: this.l("standard"),
align: "left", align: "left",
easy: true, easy: true,
high: true high: true,
}, },
{ {
key: "qualityTemplateName", key: "qualityTemplateName",
title: this.l("qualityTemplateName"), title: this.l("qualityTemplateName"),
align: "left", align: "left",
easy: true, easy: true,
hide: true,
high: true, high: true,
render: (h, params) => { render: (h, params) => {
return h("div", { class: "action" }, [ return h("div", { class: "action" }, [
...@@ -178,43 +178,77 @@ export default { ...@@ -178,43 +178,77 @@ export default {
{ {
key: "isImportant", key: "isImportant",
title: this.l("isImportant"), title: this.l("isImportant"),
align: "left", align: "center",
high: true, high: true,
code: "Process.state" code: "Process.state",
width:100,
}, },
{ {
key: "firstCheck", key: "firstCheck",
title: this.l("firstCheck"), title: this.l("firstCheck"),
align: "left", align: "center",
high: true, high: true,
code: "Process.state" code: "Process.state",
width:100,
}, },
{ {
key: "inspection", key: "inspection",
title: this.l("inspection"), title: this.l("inspection"),
align: "left", align: "center",
high: true, high: true,
code: "Process.state" code: "Process.state",
width:80,
}, },
{ {
key: "inspectionTime", key: "inspectionTime",
title: this.l("inspectionTime"), title: this.l("inspectionTime"),
align: "left", align: "left",
high: true high: true,
hide: true
}, },
{ {
key: "sampling", key: "sampling",
title: this.l("sampling"), title: this.l("sampling"),
align: "left", align: "center",
high: true, high: true,
code: "Process.state" code: "Process.state",
width:80,
}, },
{ {
key: "samplingBatch", key: "samplingBatch",
title: this.l("samplingBatch"), title: this.l("samplingBatch"),
align: "left", align: "left",
easy: true, easy: true,
high: true high: true,
hide: true
},
{
key: "creationTime",
title: this.l("creationTime"),
align: "left",
high: true,
hide: true
},
{
key: "creatorUserId",
title: this.l("creatorUserId"),
align: "left",
high: true,
hide: true
},
{
key: "lastModificationTime",
title: this.l("lastModificationTime"),
align: "left",
high: true,
hide: true
},
{
key: "lastModifierUserId",
title: this.l("lastModifierUserId"),
align: "left",
high: true,
hide: true
}, },
{ {
title: "操作", title: "操作",
...@@ -256,17 +290,17 @@ export default { ...@@ -256,17 +290,17 @@ export default {
fileUrlPath: "" fileUrlPath: ""
}; };
}, },
created() { created() {
if(this.headerid!=-1){ if (this.headerid != -1) {
this.easySearch.routingHeaderId.value = this.headerid; this.easySearch.routingHeaderId.value = this.headerid;
}else{ } else {
this.easySearch.routingHeaderId.value=this.$route.query.id; this.easySearch.routingHeaderId.value = this.$route.query.id;
} }
this.hid=Number(this.easySearch.routingHeaderId.value) this.hid = Number(this.easySearch.routingHeaderId.value);
}, },
mounted() { mounted() {
console.log(this); console.log(this);
this.search() this.search();
}, },
async fetch({ store, params }) { async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典 await store.dispatch("loadDictionary"); // 加载数据字典
...@@ -318,7 +352,7 @@ export default { ...@@ -318,7 +352,7 @@ export default {
}, },
openTemplate(url) { openTemplate(url) {
this.fileUrlPath = this.downUrl + path; this.fileUrlPath = this.downUrl + path;
alert(this.fileUrlPath) alert(this.fileUrlPath);
}, },
l(key) { l(key) {
let vkey = "routing_qc_card" + "." + key; let vkey = "routing_qc_card" + "." + key;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<Form ref="formInline" :model="easySearch" inline> <Form ref="formInline" :model="easySearch" inline>
<FormItem prop="keys"> <FormItem prop="keys">
<Input <Input
placeholder="请输入关键字物料类型/物料编号/物料名称/牌号/规格/型号规格/材质/采购标准/质量等级/备注/产品图号" placeholder="请输入关键字物料名称"
v-model="easySearch.keys.value" v-model="easySearch.keys.value"
/> />
</FormItem> </FormItem>
...@@ -46,7 +46,7 @@ export default { ...@@ -46,7 +46,7 @@ export default {
easySearch: { easySearch: {
keys: { keys: {
op: op:
"materialType,materialNumber,nameMaterial,brand,specifications,xhgg,texture,procurementStandards,qualityGrade,remark,drawNum", "nameMaterial",
value: null value: null
}, },
routingHeaderId: { op: "Equal", value: -1 } routingHeaderId: { op: "Equal", value: -1 }
...@@ -58,85 +58,63 @@ export default { ...@@ -58,85 +58,63 @@ export default {
hid: 0, hid: 0,
columns: [ columns: [
{ key: "id", title: this.l("id"), hide: true, align: "left" }, { key: "id", title: this.l("id"), hide: true, align: "left" },
{
key: "creationTime",
title: this.l("creationTime"),
hide: true,
align: "left"
},
{
key: "creatorUserId",
title: this.l("creatorUserId"),
hide: true,
align: "left"
},
{
key: "lastModificationTime",
title: this.l("lastModificationTime"),
hide: true,
align: "left"
},
{
key: "lastModifierUserId",
title: this.l("lastModifierUserId"),
hide: true,
align: "left"
},
{
key: "isDeleted",
title: this.l("isDeleted"),
hide: true,
align: "left"
},
{
key: "deletionTime",
title: this.l("deletionTime"),
hide: true,
align: "left"
},
{
key: "deleterUserId",
title: this.l("deleterUserId"),
hide: true,
align: "left"
},
{ {
key: "routingHeaderId", key: "routingHeaderId",
title: this.l("routingHeaderId"), title: this.l("routingHeaderId"),
align: "left", align: "left",
high: true high: true,
hide:true,
}, },
{ {
key: "routingDetailId", key: "routingDetailId",
title: this.l("routingDetailId"), title: this.l("routingDetailId"),
align: "left", align: "left",
high: true,
hide:true,
},
{
key: "routingDetailNo",
title: this.l("routingDetailNo"),
align: "left",
high: true,
width: 80
},
{
key: "routingDetailName",
title: this.l("routingDetailName"),
align: "left",
high: true high: true
}, },
{ {
key: "routingStepId", key: "routingStepId",
title: this.l("routingStepId"), title: this.l("routingStepId"),
align: "left", align: "left",
high: true high: true,
hide:true,
}, },
{ {
key: "quantity", key: "quantity",
title: this.l("quantity"), title: this.l("quantity"),
align: "left", align: "right",
high: true high: true,
width:80,
}, },
{ {
key: "materialId", key: "materialId",
title: this.l("materialId"), title: this.l("materialId"),
align: "left", align: "left",
high: true high: true,
hide:true,
}, },
{ {
key: "materialType", key: "materialType",
title: this.l("materialType"), title: this.l("materialType"),
align: "left", align: "center",
easy: true, easy: true,
high: true, high: true,
code: "mes_xingchi_resource.material.materialReType" code: "mes_xingchi_resource.material.materialReType",
width:100,
}, },
{ {
key: "materialNumber", key: "materialNumber",
...@@ -150,7 +128,7 @@ export default { ...@@ -150,7 +128,7 @@ export default {
title: this.l("nameMaterial"), title: this.l("nameMaterial"),
align: "left", align: "left",
easy: true, easy: true,
high: true high: true,
}, },
{ {
key: "brand", key: "brand",
...@@ -171,7 +149,8 @@ export default { ...@@ -171,7 +149,8 @@ export default {
title: this.l("xhgg"), title: this.l("xhgg"),
align: "left", align: "left",
easy: true, easy: true,
high: true high: true,
hide:true,
}, },
{ {
key: "texture", key: "texture",
...@@ -197,23 +176,66 @@ export default { ...@@ -197,23 +176,66 @@ export default {
{ {
key: "state", key: "state",
title: this.l("state"), title: this.l("state"),
align: "left", align: "center",
high: true, high: true,
code: "Process.Status" code: "Process.Status",
width:80,
}, },
{ {
key: "remark", key: "drawNum",
title: this.l("remark"), title: this.l("drawNum"),
align: "left", align: "left",
easy: true, easy: true,
high: true high: true
},
{
key: "creationTime",
title: this.l("creationTime"),
hide: true,
align: "left",
hide:true,
}, },
{ {
key: "drawNum", key: "creatorUserId",
title: this.l("drawNum"), title: this.l("creatorUserId"),
hide: true,
align: "left", align: "left",
easy: true, hide:true,
high: true },
{
key: "lastModificationTime",
title: this.l("lastModificationTime"),
hide: true,
align: "left",
hide:true,
},
{
key: "lastModifierUserId",
title: this.l("lastModifierUserId"),
hide: true,
align: "left",
hide:true,
},
{
key: "isDeleted",
title: this.l("isDeleted"),
hide: true,
align: "left",
hide:true,
},
{
key: "deletionTime",
title: this.l("deletionTime"),
hide: true,
align: "left",
hide:true,
},
{
key: "deleterUserId",
title: this.l("deleterUserId"),
hide: true,
align: "left",
hide:true,
}, },
{ {
title: "操作", title: "操作",
......
...@@ -129,7 +129,7 @@ ...@@ -129,7 +129,7 @@
<Col :span="24"> <Col :span="24">
<FormItem label="多媒体附件" prop="files"> <FormItem label="多媒体附件" prop="files">
<files /> <files ref="refFile" :parms="parms" fileFormat/>
</FormItem> </FormItem>
</Col> </Col>
</Row> </Row>
...@@ -154,11 +154,18 @@ export default { ...@@ -154,11 +154,18 @@ export default {
entity: {}, entity: {},
rules: { rules: {
name: [{ required: true, message: "必填", trigger: "blur" }] name: [{ required: true, message: "必填", trigger: "blur" }]
},
parms: {
app: "technology",
eid: this.uid,
name: "",
field: ""
} }
}; };
}, },
props: { props: {
eid: Number eid: Number,
uid: String,
}, },
mounted() { mounted() {
if (this.eid > 0) { if (this.eid > 0) {
...@@ -168,6 +175,8 @@ export default { ...@@ -168,6 +175,8 @@ export default {
methods: { methods: {
load(v) { load(v) {
Api.get({ id: v }).then(r => { Api.get({ id: v }).then(r => {
this.$refs.refFile.intFilesClone();
this.parms.eid = this.uid;
this.entity = r.result; this.entity = r.result;
}); });
}, },
...@@ -175,6 +184,7 @@ export default { ...@@ -175,6 +184,7 @@ export default {
this.$refs.form.validate(v => { this.$refs.form.validate(v => {
if (v) { if (v) {
this.disabled = true; this.disabled = true;
this.entity.fileId = this.uid;
Api.update(this.entity) Api.update(this.entity)
.then(r => { .then(r => {
this.disabled = false; this.disabled = false;
...@@ -227,6 +237,8 @@ export default { ...@@ -227,6 +237,8 @@ export default {
if (v != 0) { if (v != 0) {
this.load(v); this.load(v);
} }
},
uid(v) {
} }
} }
}; };
......
<style lang="less"> <style lang="less">
@import "./technolog.less"; @import "./technolog.less";
.lay100 {
height: calc(100vh - 105px);
background-color: #f5f6fa;
.con {
padding: 5px 5px 0px 10px;
}
.con_bord{
// margin: 15px 32px;
box-shadow: #c7c7c7 1px 2px 7px 3px;
}
background: rgba(245,246,250,1);
}
.fullWindow { .fullWindow {
position: fixed; position: fixed;
width: 100%; width: 100%;
...@@ -20,7 +9,7 @@ ...@@ -20,7 +9,7 @@
bottom: 0; bottom: 0;
right: 0; right: 0;
// bottom:100%; // bottom:100%;
// right: 100%; // right: 100%;
z-index: 898; z-index: 898;
background-color: white; background-color: white;
// background: red; // background: red;
...@@ -42,31 +31,38 @@ ...@@ -42,31 +31,38 @@
</a> </a>
</div> </div>
<Content class="con" :class="!showMenu?'con_bord':''"> <Content class="con" :class="!showMenu?'con_bord':''">
<DataGrid :columns="columns" ref="grid" :action="action" class="card_box"> <DataGrid :columns="columns" ref="grid" :action="action" class="card_box">
<template slot="easySearch"> <template slot="easySearch">
<Form ref="formInline" :model="easySearch" inline> <Form ref="formInline" :model="easySearch" inline>
<FormItem prop="keys"> <FormItem prop="keys">
<Input <Input
placeholder="请输入工艺名称/工艺编号" placeholder="请输入工艺名称/工艺编号"
v-width="200" v-width="200"
v-model="easySearch.keys.value" v-model="easySearch.keys.value"
clearable clearable
/> />
</FormItem> </FormItem>
<FormItem> <FormItem>
<Button type="primary" @click="search">查询</Button> <Button type="primary" @click="search">查询</Button>
</FormItem> </FormItem>
</Form> </Form>
</template> </template>
<template slot="searchForm"> <template slot="searchForm">
<Search /> <Search />
</template> </template>
<template slot="buttons"> <template slot="buttons">
<Button type="primary" @click="add">新增</Button> <Button type="primary" @click="add">新增</Button>
</template> </template>
</DataGrid> </DataGrid>
<Modal v-model="modal" :title="title" width="1200" footer-hide> <Modal v-model="modal" :title="title" width="1120" footer-hide>
<component :is="detail" :eid="curId" @on-close="cancel" @on-ok="ok" /> <component
:is="detail"
:eid="curId"
:uid="uId"
:title="title"
@on-close="cancel"
@on-ok="ok"
/>
</Modal> </Modal>
<div class="fullWindow flex fd" v-if="viewModal"> <div class="fullWindow flex fd" v-if="viewModal">
<div class="top flex"> <div class="top flex">
...@@ -76,7 +72,7 @@ ...@@ -76,7 +72,7 @@
</a> </a>
</div> </div>
<div class="fg tc f14 fwBold blueTitle"> <div class="fg tc f14 fwBold blueTitle">
{{l('code')}}: {{l('code')}}:
<span class="grayTitle mr10">{{titleObj.code}}</span> <span class="grayTitle mr10">{{titleObj.code}}</span>
{{l('name')}}: {{l('name')}}:
<span class="grayTitle mr10">{{titleObj.name}}</span> <span class="grayTitle mr10">{{titleObj.name}}</span>
...@@ -85,7 +81,7 @@ ...@@ -85,7 +81,7 @@
{{l('version')}}: {{l('version')}}:
<span class="grayTitle">{{titleObj.version}}</span> <span class="grayTitle">{{titleObj.version}}</span>
<!-- {{l('departmentId')}}: <!-- {{l('departmentId')}}:
<span class="grayTitle">{{titleObj.departmentId}}</span> --> <span class="grayTitle">{{titleObj.departmentId}}</span>-->
</div> </div>
</div> </div>
<div class="fg"> <div class="fg">
...@@ -122,6 +118,7 @@ export default { ...@@ -122,6 +118,7 @@ export default {
src: null, src: null,
detail: null, detail: null,
curId: 0, curId: 0,
uId: "",
columns: [ columns: [
{ key: "id", title: this.$t("id"), hide: true, align: "left" }, { key: "id", title: this.$t("id"), hide: true, align: "left" },
{ {
...@@ -190,7 +187,7 @@ export default { ...@@ -190,7 +187,7 @@ export default {
{ {
key: "isMain", key: "isMain",
title: this.l("isMain"), title: this.l("isMain"),
align: "left", align: "center",
width: 80, width: 80,
high: true, high: true,
code: "Process.state" code: "Process.state"
...@@ -214,7 +211,8 @@ export default { ...@@ -214,7 +211,8 @@ export default {
{ {
key: "isEffect", key: "isEffect",
title: this.l("isEffect"), title: this.l("isEffect"),
align: "left", align: "center",
width: 80,
high: true, high: true,
code: "Process.Status" code: "Process.Status"
}, },
...@@ -222,7 +220,8 @@ export default { ...@@ -222,7 +220,8 @@ export default {
key: "versionnotes", key: "versionnotes",
title: this.l("versionnotes"), title: this.l("versionnotes"),
align: "left", align: "left",
high: true high: true,
hide: true
}, },
{ {
key: "phase", key: "phase",
...@@ -241,18 +240,26 @@ export default { ...@@ -241,18 +240,26 @@ export default {
{ {
key: "isSendPpm", key: "isSendPpm",
title: this.l("isSendPpm"), title: this.l("isSendPpm"),
align: "left", align: "center",
width: 180, width: 140,
high: true, high: true,
code: "Process.Status" code: "Process.Status"
}, },
{ {
title: "操作", title: "操作",
key: "action", key: "action",
width: 140, width: 180,
align: "center", align: "center",
render: (h, params) => { render: (h, params) => {
return h("div", { class: "action" }, [ return h("div", { class: "action" }, [
h(
"op",
{
attrs: { oprate: "detail" },
on: { click: () => this.viewprocess(params.row) }
},
"预览"
),
h( h(
"op", "op",
{ {
...@@ -261,12 +268,19 @@ export default { ...@@ -261,12 +268,19 @@ export default {
}, },
"查看" "查看"
), ),
//h('op', { attrs: { oprate: 'copy' }, on: { click: () => this.copy(params.row.id) } }, '克隆'), h(
"op",
{
attrs: { oprate: "copy" },
on: { click: () => this.copy(params.row.id) }
},
"克隆"
),
h( h(
"op", "op",
{ {
attrs: { oprate: "edit" }, attrs: { oprate: "edit" },
on: { click: () => this.edit(params.row.id) } on: { click: () => this.edit(params.row) }
}, },
"编辑" "编辑"
), ),
...@@ -288,7 +302,8 @@ export default { ...@@ -288,7 +302,8 @@ export default {
routingType: 0, //工艺类型 routingType: 0, //工艺类型
version: "", //工艺版本 version: "", //工艺版本
departmentId: null //车间 departmentId: null //车间
} },
processviewModal: false
}; };
}, },
created() { created() {
...@@ -364,8 +379,25 @@ export default { ...@@ -364,8 +379,25 @@ export default {
// this.detail = () => import("./detail"); // this.detail = () => import("./detail");
// this.modal = true; // this.modal = true;
// }, // },
edit(id) { viewprocess(row) {
this.curId = id; this.curId = row.id;
if (row.fileId) {
this.uId = row.fileId;
} else {
this.uId = this.$u.guid(); //未上传过文件
}
this.title = "预览";
this.detail = () => import("./processview");
this.modal = true;
},
edit(row) {
this.curId = row.id;
if (row.fileId) {
this.uId = row.fileId;
} else {
this.uId = this.$u.guid(); //未上传过文件
}
this.title = "编辑"; this.title = "编辑";
this.detail = () => import("./edit"); this.detail = () => import("./edit");
this.modal = true; this.modal = true;
...@@ -389,3 +421,24 @@ export default { ...@@ -389,3 +421,24 @@ export default {
} }
}; };
</script> </script>
<style lang="less" scoped>
.order-quotation {
height: 100vh !important;
}
.table {
margin-top: 15px;
}
.topTitle {
height: 30px;
.table_title {
float: left;
width: 340px;
}
.title_btn {
margin-top: 1px;
}
}
.single-page-con {
overflow-y: hidden !important;
}
</style>
.iview_cont{
border-right: 1px solid #000;
width: 100%;
// height: 60px;
// line-height: 60px;
}
.iview_cont6{
height: 60px;
line-height: 60px;
}
.title_cont{
margin: 10px auto;
width: auto;
display: inline-block;
}
.iview_cont01{
display: inline-block;
margin: 5px 6px;
font-weight: bold;
span{
display: inline;
}
.min120{
min-width: 120px;
}
}
.box{
width: 100%;
height: 40px;
border-bottom: 1px solid #fff;
}
.h1{
font-size: 36px;
display:inline-block;
width: auto;
padding: 0 8px;
height: 46px;
border-bottom: 1px solid #000;
margin: 40px auto;
}
.table_row02{
border-top: 1px solid #000;
border-bottom: 1px solid #000;
height:62px;
line-height: 60px;
text-align: center;
margin-top: 10px;
}
.row03{
.tex_in10{
text-indent: 12px;
text-align: inherit!important;
}
}
.auto_row {
min-height: 60px!important;
height: auto!important;
padding: 5px;
}
.outP table thead tr th,.outP table tbody tr td{
padding: 2px 0;
// height: 30px;
line-height: 28px;
}
.outP table tbody tr td{
padding: 0 5px;
}
.tit01{ min-width: 70px; }
.tit02{ min-width: 100px; }
.tit03{ min-width: 300px; }
.tit04{ min-width: 100px; }
.tit05{ min-width: 100px; }
.title01{ min-width: 110px; }
.title02{ min-width: 300px; }
.title03{ min-width: 100px; }
.title04{ min-width: 100px; }
.title05{ min-width: 100px; }
.title06{ min-width: 100px; }
.outPdf table, .outPdf table tr th, .outPdf table tr td {
border-color: #000;
}
// 工艺文件
.outP {
.iviewimg {
width: 100%;
height: 70px;
text-align: center;
margin: 0 0 60px;
}
}
.table_box {
border: 1px solid #000;
.row_title {
height: 40px;
}
.table_row {
line-height: 40px;
border-bottom: 1px solid #000;
div {
text-align: center;
}
.box {
width: 100%;
height: 40px;
border-bottom: 1px solid #fff;
}
}
.row_label {
border-right: 1px solid #000;
}
.iview_cont {
border-right: 1px solid #000;
width: 100%;
height: 40px;
}
.table_row02 {
border-top: 1px solid #000;
border-bottom: 1px solid #000;
height: 42px;
line-height: 40px;
text-align: center;
margin-top: 10px;
}
}
.center {
text-align: center;
}
.title_cont {
margin: 10px auto;
width: auto;
display: inline-block;
}
.iview_cont01 {
display: inline-block;
margin: 0 6px;
font-weight: bold;
}
.f16 {
font-size: 16px;
}
.h1 {
font-size: 36px;
display: inline-block;
width: auto;
padding: 0 8px;
height: 46px;
border-bottom: 1px solid #000;
margin: 40px auto;
}
.outP table thead tr th,
.outP table tbody tr td {
padding: 2px 0;
// height : 30px;
line-height: 28px;
}
.outP table tbody tr td {
padding: 0 5px;
}
.tit01 {
min-width: 70px;
}
.tit02 {
min-width: 100px;
}
.tit03 {
min-width: 300px;
}
.tit04 {
min-width: 100px;
}
.tit05 {
min-width: 100px;
}
.title01 {
min-width: 110px;
}
.title02 {
min-width: 300px;
}
.title03 {
min-width: 100px;
}
.title04 {
min-width: 100px;
}
.title05 {
min-width: 100px;
}
.title06 {
min-width: 100px;
}
.outPdf table,
.outPdf table tr th,
.outPdf table tr td {
border-color: #000;
}
\ No newline at end of file
<style lang="less">
@import "./menu.less";
</style>
<template>
<div>
<Row v-show="circleModal" style="height:300px">
<Col class="demo-spin-col" span="24">
<Spin fix style="margin-top:80px">
<Icon type="ios-loading" size="36" class="demo-spin-icon-load"></Icon>
<div>数据加载中......</div>
</Spin>
</Col>
</Row>
<Row v-show="!circleModal&&!dataSatus">
<Col span="24">
<div class="out">
<Row class="table_row" style="width:100%">
<Button
class="fr"
v-if="isoutpdf"
type="primary"
@click="$u.outPdf('.outP','工艺规程')"
>导出pdf</Button>
</Row>
</div>
<div class="outP">
<div class="table_box part01" style="min-height:400px">
<Row class="table_row" style="width:100%">
<Col span="3">
<div class="row_label">工艺文件编号</div>
</Col>
<Col span="9">
<div class="iview_cont">
&nbsp;
<label v-text="formValidate.code"></label>
</div>
</Col>
<Col span="3">
<div class="row_label">任务类型</div>
</Col>
<Col span="9">
<div class="iview_cont border_none">
&nbsp;
<label v-text="formValidate.task_type_str"></label>
</div>
</Col>
</Row>
<Row class="table_row">
<Col span="3">
<div class="row_label">工艺文件版本</div>
</Col>
<Col span="9">
<div class="iview_cont">
&nbsp;
<label v-text="formValidate.versiondesc"></label>
</div>
</Col>
<Col span="3">
<div class="row_label">研制方式</div>
</Col>
<Col span="9">
<div class="iview_cont border_none">
&nbsp;
<label v-text="formValidate.development_mode_str"></label>
</div>
</Col>
</Row>
<Row class="center">
<div class="h1" v-text="formValidate.name"></div>
</Row>
<Row class="center">
<div class="title_cont f16">
<div class="iview_cont01">
<span>产品名称:</span>
<label class="table_row" v-text="formValidate.productName"></label>
</div>
<div class="iview_cont01">
<span>产品代号:</span>
<label class="table_row" v-text="formValidate.productCode"></label>
</div>
</div>
</Row>
<Row class="center f16">
<div class="iview_cont01">
<span>编 制:</span>
<label class="table_row min120" v-text="formValidate.authorName"></label>
</div>
</Row>
<Row class="center f16">
<div class="iview_cont01">
<span>校 对:</span>
<label class="table_row min120" v-text="formValidate.proofreader"></label>
</div>
</Row>
<Row class="center f16">
<div class="iview_cont01">
<span>批 准:</span>
<label class="table_row min120" v-text="formValidate.approver"></label>
</div>
</Row>
<Row class="table_row02">
<Col span="3">
<div class="iview_cont">更改单编号</div>
</Col>
<Col span="5">
<div class="iview_cont iview_cont6">
<label v-text="formValidate.change_order_code"></label>
</div>
</Col>
<Col span="3">
<div class="iview_cont">更改单日期</div>
</Col>
<Col span="5">
<div class="iview_cont iview_cont6">
<label v-text="formValidate.change_order_date"></label>
</div>
</Col>
<Col span="3">
<div class="iview_cont">更改办法</div>
</Col>
<Col span="5">
<div class="iview_cont iview_cont6 border_none">
<label v-text="formValidate.change_method"></label>
</div>
</Col>
</Row>
</div>
<div class="table_box part01">
<Row class="table_row center row_title">
<h2>工艺内容</h2>
</Row>
<Row class="table_row row03 auto_row">
<div style="min-height:300px" v-html="formValidate.remark" class="tex_in10"></div>
</Row>
<Row class="table_row center row_title">
<h2>工艺附图</h2>
</Row>
<Row class="table_row row03 auto_row">
<div style="min-height:300px" class="tex_in10">
<img
v-for="(item2,index2) in formValidate.files"
:key="index2"
:src=" downUrl +item2.url"
style="max-width:1000px"
/>
</div>
</Row>
</div>
<Row class="center f16">
<h2>工艺过程卡</h2>
</Row>
<div class="body-box part01">
<table>
<thead>
<tr>
<th class="tit01">序号</th>
<th class="tit02">工序</th>
<th class="tit03">工序内容及要求</th>
<th class="tit04">操作者</th>
<th class="tit05">检验者</th>
</tr>
</thead>
<tbody>
<template v-for="(item5,index5) in formValidate.details">
<tr>
<td class="tl">{{item5.taskseq}}</td>
<td class="tl">{{item5.name}}</td>
<td class="tl">
<div v-html="item5.task_content" class="html"></div>
</td>
<td class="tl">{{item5.operator}}</td>
<td class="tl">{{item5.proofreader}}</td>
</tr>
<tr v-for="(item6,index6) in item5.step">
<td class="tl">{{item6.taskseq}}</td>
<td class="tl">{{item6.name}}</td>
<td class="tl">
<div v-html="item6.task_content" class="html"></div>
</td>
<td class="tl">{{item6.operator}}</td>
<td class="tl">{{item6.proofreader}}</td>
</tr>
<tr>
<td class="tl"></td>
<td class="tl"></td>
<td class="tl"></td>
<td class="tl"></td>
<td class="tl"></td>
</tr>
</template>
</tbody>
</table>
</div>
<Row class="center f16">
<h2>检测记录表</h2>
</Row>
<div class="body-box part01">
<table>
<thead>
<tr>
<th class="title01">检测工序号</th>
<th class="title02">检测项目内容</th>
<th class="title03">检测结果</th>
<th class="title04">合格判定</th>
<th class="title05">检验员</th>
<th class="title06">备注</th>
</tr>
</thead>
<tbody>
<template v-for="(item7,index7) in formValidate.qcards">
<tr>
<td class="tl">{{item7.taskseq}}</td>
<td class="tl">{{item7.check_content}}</td>
<td class="tl">{{item7.checkresult}}</td>
<td class="tl">{{item7.result}}</td>
<td class="tl">{{item7.checker}}</td>
<td class="tl">{{item7.remarks}}</td>
</tr>
</template>
</tbody>
</table>
</div>
</div>
</Col>
</Row>
<Row style="height:300px" v-show="!circleModal&&dataSatus">
<Col span="24" class="tc">
<div style="margin-top:80px">数据加载失败!</div>
</Col>
</Row>
</div>
</template>
<script>
import service from "@/plugins/request";
export default {
name: "processview",
data() {
return {
filesurl: "",
downUrl: fileUrlDown,
formValidate: {
files: [],
details: [],
qcards: []
},
circleModal: true,
dataSatus: false,
nameList: [],
parms: {
app: "technology",
eid: this.uid,
name: "",
field: ""
}
};
},
props: {
//设置工艺、创建工艺
isoutpdf: {
type: Boolean,
default: true
},
eid: Number,
uid: String
},
mounted() {
if (this.eid > 0) {
this.load(this.eid);
}
},
methods: {
load(v) {
this.circleModal = true;
this.dataSatus = false;
var url = `${designUrl}/routingheader/getprocessinfo?headerid=` + v;
service
.get(`${url}`)
.then(response => {
this.circleModal = false;
this.formValidate = response.result;
this.loadImg();
if (
this.formValidate.change_order_code == "" ||
typeof this.formValidate.change_order_code == "undefined"
) {
this.formValidate.change_order_date = "";
}
if (typeof this.formValidate.production_batch == "undefined") {
this.formValidate.production_batch = "&nbsp";
}
if (typeof this.formValidate.print_data_name == "undefined") {
this.formValidate.print_data_name = "&nbsp";
}
})
.catch(err => {
this.circleModal = false;
this.dataSatus = true;
});
},
loadImg() {
this.nameList = [];
this.formValidate.files = [];
//查询上传到文件服务器上的文件
this.$http.sysUser.getFile(this.parms).then(res => {
if (res.data != [] && res.data.length > 0) {
res.data.forEach(data => {
let objImag = {};
objImag.fileName = data.fileName;
objImag.url = data.downloadPath;
objImag.id = data.id;
this.nameList.push(objImag);
});
this.formValidate.files = this.nameList;
}
});
}
},
watch: {
eid(v) {
if (v != 0) {
this.load(v);
}
}
}
};
</script>
<style type="less" scoped>
.demo-spin-icon-load {
animation: ani-demo-spin 1s linear infinite;
}
@keyframes ani-demo-spin {
from {
transform: rotate(0deg);
}
50% {
transform: rotate(180deg);
}
to {
transform: rotate(360deg);
}
}
.demo-spin-col {
height: 100px;
position: relative;
border: 0px solid #eee;
}
</style>
<style lang="less"> <style lang="less">
.test_layout { .test_layout {
height: 50%; height: 100%;
.bg1{ .bg1{
background:#fefefe ; background:#fefefe ;
} }
.fg { // &.fg {
background-color: rgba(234,45,198, 1); // // overflow: auto;
overflow: auto; // }
}
} }
.layout-copy { .layout-copy {
text-align: center; text-align: center;
...@@ -20,20 +19,15 @@ ...@@ -20,20 +19,15 @@
<div> <div>
<Menu mode="horizontal" active-name="1"> <Menu mode="horizontal" active-name="1">
<div class="layout-assistant"> <div class="layout-assistant">
<MenuItem name="1">Option 1</MenuItem> <MenuItem name="1" to="/test/user">人员选择</MenuItem>
<MenuItem name="2">Option 2</MenuItem> <MenuItem name="2">Option 2</MenuItem>
<MenuItem name="3">Option 3</MenuItem> <MenuItem name="3">Option 3</MenuItem>
</div> </div>
</Menu> </Menu>
</div> </div>
<div class="fg"> <div class="fg">
<h4 v-for="i in 200"> <nuxt-child></nuxt-child>
{{i}}内容部分 </div>
</h4>
</div>
<div>
这是一个问题
</div>
</div> </div>
</template> </template>
<script> <script>
......
<template> <template>
<div> <div style="padding:50px;">
<UserSelect v-model="user" :multiple="true" :type="1"/> <UserSelect v-model="user" :multiple="true" theme="list"/>
<DepartmentSelect v-model="dep" /> <!-- <DepartmentSelect v-model="dep" />
<Button @click="setUser">Set</Button>{{dep}} -->
{{user}} {{user}}
<Button @click="setUser">Set</Button>{{dep}}
</div> </div>
</template> </template>
<script> <script>
......
.iview_cont {
border-right: 1px solid #000;
width: 100%;
}
.iview_cont6 {
height: 60px;
line-height: 60px;
}
.title_cont {
margin: 10px auto;
width: auto;
display: inline-block;
}
.iview_cont01 {
display: inline-block;
margin: 5px 6px;
font-weight: bold;
}
.iview_cont01 span {
display: inline;
}
.iview_cont01 .min120 {
min-width: 120px;
}
.box {
width: 100%;
height: 40px;
border-bottom: 1px solid #fff;
}
.h1 {
font-size: 36px;
display: inline-block;
width: auto;
padding: 0 8px;
height: 46px;
border-bottom: 1px solid #000;
margin: 40px auto;
}
.table_row02 {
border-top: 1px solid #000;
border-bottom: 1px solid #000;
height: 62px;
line-height: 60px;
text-align: center;
margin-top: 10px;
}
.row03 .tex_in10 {
text-indent: 12px;
text-align: inherit!important;
}
.auto_row {
min-height: 60px!important;
height: auto!important;
padding: 5px;
}
.outP table thead tr th,
.outP table tbody tr td {
padding: 2px 0;
line-height: 28px;
}
.outP table tbody tr td {
padding: 0 5px;
}
.tit01 {
min-width: 70px;
}
.tit02 {
min-width: 100px;
}
.tit03 {
min-width: 300px;
}
.tit04 {
min-width: 100px;
}
.tit05 {
min-width: 100px;
}
.title01 {
min-width: 110px;
}
.title02 {
min-width: 300px;
}
.title03 {
min-width: 100px;
}
.title04 {
min-width: 100px;
}
.title05 {
min-width: 100px;
}
.title06 {
min-width: 100px;
}
.outPdf table,
.outPdf table tr th,
.outPdf table tr td {
border-color: #000;
}
.outP .iviewimg {
width: 100%;
height: 70px;
text-align: center;
margin: 0 0 60px;
}
.table_box {
border: 1px solid #000;
}
.table_box .row_title {
height: 40px;
}
.table_box .table_row {
line-height: 40px;
border-bottom: 1px solid #000;
}
.table_box .table_row div {
text-align: center;
}
.table_box .table_row .box {
width: 100%;
height: 40px;
border-bottom: 1px solid #fff;
}
.table_box .row_label {
border-right: 1px solid #000;
}
.table_box .iview_cont {
border-right: 1px solid #000;
width: 100%;
height: 40px;
}
.table_box .table_row02 {
border-top: 1px solid #000;
border-bottom: 1px solid #000;
height: 42px;
line-height: 40px;
text-align: center;
margin-top: 10px;
}
.center {
text-align: center;
}
.title_cont {
margin: 10px auto;
width: auto;
display: inline-block;
}
.iview_cont01 {
display: inline-block;
margin: 0 6px;
font-weight: bold;
}
.f16 {
font-size: 16px;
}
.h1 {
font-size: 36px;
display: inline-block;
width: auto;
padding: 0 8px;
height: 46px;
border-bottom: 1px solid #000;
margin: 40px auto;
}
.outP table thead tr th,
.outP table tbody tr td {
padding: 2px 0;
line-height: 28px;
}
.outP table tbody tr td {
padding: 0 5px;
}
.tit01 {
min-width: 70px;
}
.tit02 {
min-width: 100px;
}
.tit03 {
min-width: 300px;
}
.tit04 {
min-width: 100px;
}
.tit05 {
min-width: 100px;
}
.title01 {
min-width: 110px;
}
.title02 {
min-width: 300px;
}
.title03 {
min-width: 100px;
}
.title04 {
min-width: 100px;
}
.title05 {
min-width: 100px;
}
.title06 {
min-width: 100px;
}
.outPdf table,
.outPdf table tr th,
.outPdf table tr td {
border-color: #000;
}
.transmit_box {
height: 100%;
}
.transmit_title {
padding-top: 10px;
}
.border_bottom {
border-bottom: 1px solid #e4e6ed;
}
.transmit_content {
padding: 20px 0 0 0;
height: calc(100% - 108px);
}
.select {
color: #a7b8cc;
font-size: 22px;
}
.wuliao_left {
float: left;
width: 310px;
margin-right: 15px;
height: 500px;
border: 1px solid #e4e6ed;
overflow-y: auto;
overflow-x: hidden;
}
.wuliao_right {
width: calc(100% - 325px);
height: calc(100% - 16px);
border: 1px solid #e4e6ed;
overflow-y: auto;
overflow-x: hidden;
}
.card_title {
background: #f8f8f9;
padding: 8px 15px;
border-bottom: 1px solid #e4e6ed;
position: relative;
height: 46px;
}
.state {
float: right;
color: #515a6e;
padding: 5px 5px;
}
.transmit_cont {
position: absolute;
top: 28px;
right: 0px;
border-radius: 4px;
width: 105px;
height: 155px;
background: #fff;
box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2);
}
.state_body {
padding: 10px 0px;
text-align: center;
line-height: 24px;
}
.state_footer {
border-top: 1px solid #e4e6ed;
padding: 3px;
}
.title_btn02 {
padding: 0px 9px;
border: none;
}
.color02 {
color: #249e91;
}
.card_box {
cursor: pointer;
width: 270px;
height: 116px;
border: 1px solid #e4e6ed;
margin: 20px auto;
}
.hover {
cursor: pointer;
width: 270px;
height: 116px;
border: 1px solid #e4e6ed;
margin: 20px auto;
background: #f5f7fd;
}
.card_body {
width: 230px;
float: left;
padding: 10px 0 0 10px;
}
.card_right {
cursor: pointer;
background: #e4e6ed;
height: 114px;
text-align: center;
float: left;
width: 38px;
}
.yellow {
background: #ffc000;
}
.pink {
background: #ff7a8b;
}
.green {
background: #27c149;
}
.card_right > img {
margin-top: 48px;
}
.list_item {
height: 24px;
line-height: 24px;
}
.list_item img {
width: 16px;
height: 16px;
}
.table01 {
padding: 0 10px;
}
.new_box .photo {
float: left;
margin: 0 20px 0 0;
width: calc(40% - 20px);
border-right: solid 1px #bebcbc;
text-align: center;
}
.new_box .photo img {
width: 350px !important;
height: 300px !important;
}
.new_box .table {
float: left;
width: calc(60% - 20px);
}
.fixed_box {
overflow-y: auto;
overflow-x: hidden;
padding: 0 10px;
}
.outP .iviewimg {
width: 100%;
height: 70px;
text-align: center;
margin: 0 0 60px;
}
.table_box {
border: 1px solid #000;
}
.table_box .row_title {
height: 40px;
}
.table_box .table_row {
line-height: 40px;
border-bottom: 1px solid #000;
}
.table_box .table_row div {
text-align: center;
}
.table_box .table_row .box {
width: 100%;
height: 40px;
border-bottom: 1px solid #fff;
}
.table_box .row_label {
border-right: 1px solid #000;
}
.table_box .iview_cont {
border-right: 1px solid #000;
width: 100%;
height: 40px;
}
.table_box .table_row02 {
border-top: 1px solid #000;
border-bottom: 1px solid #000;
height: 42px;
line-height: 40px;
text-align: center;
margin-top: 10px;
}
.center {
text-align: center;
}
.title_cont {
margin: 10px auto;
width: auto;
display: inline-block;
}
.iview_cont01 {
display: inline-block;
margin: 0 6px;
font-weight: bold;
}
.f16 {
font-size: 16px;
}
.h1 {
font-size: 36px;
display: inline-block;
width: auto;
padding: 0 8px;
height: 46px;
border-bottom: 1px solid #000;
margin: 40px auto;
}
.outP table thead tr th,
.outP table tbody tr td {
padding: 2px 0;
line-height: 28px;
}
.outP table tbody tr td {
padding: 0 5px;
}
.tit01 {
min-width: 70px;
}
.tit02 {
min-width: 100px;
}
.tit03 {
min-width: 300px;
}
.tit04 {
min-width: 100px;
}
.tit05 {
min-width: 100px;
}
.title01 {
min-width: 110px;
}
.title02 {
min-width: 300px;
}
.title03 {
min-width: 100px;
}
.title04 {
min-width: 100px;
}
.title05 {
min-width: 100px;
}
.title06 {
min-width: 100px;
}
.outPdf table,
.outPdf table tr th,
.outPdf table tr td {
border-color: #000;
}
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