Commit 2532dae0 authored by 康振飞's avatar 康振飞

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

parents e8b6bf31 9342746e
<!--一次只能上传一个文件 --> <!--一次只能上传一个文件 -->
<template> <template>
<div> <div>
<Input v-model="newName" style="height:30px;width:240px;float:left" placeholder="请选择上传文件" disabled /> <div>
<Upload <Input
v-model="name" v-model="newName"
:action="postUrl" style="height:30px;width:240px;float:left;"
:on-success="uploadSuccess" placeholder="请选择上传文件"
:on-error="uploadError" disabled
:on-remove="removeFile" />
:format="formatList" <Upload
:max-size="maxSize" v-model="name"
:on-exceeded-size="onExceededSize" :action="postUrl"
:on-format-error="onFormatError" :on-success="uploadSuccess"
:show-upload-list="false" :on-error="uploadError"
:files="files" :on-remove="removeFile"
:on-progress="onProgress" :format="formatList"
> :max-size="maxSize"
<Button icon="ios-cloud-upload-outline">上传文件</Button> :on-exceeded-size="onExceededSize"
</Upload> :on-format-error="onFormatError"
<Progress :percent="per" :stroke-width="5" v-show="vshowPro"/> :show-upload-list="false"
:files="files"
:on-progress="onProgress"
style="width:120px;float:left"
>
<Button icon="ios-cloud-upload-outline">上传文件</Button>
</Upload>
<a v-show="newName.length>2&&showButton" :href="fileUrlPath" @click="downFile(newPath)" target="_blank" style="float:left">查看</a>
</div>
<Progress :percent="per" :stroke-width="5" v-show="vshowPro" />
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'inputFile', name: "inputFile",
model: { model: {
prop: 'value', prop: "value",
event: 'on-change' event: "on-change"
}, },
data() { data() {
return { return {
file: null, file: null,
name: this.value, name: this.value,
downUrl: fileUrlDown, downUrl: fileUrlDown,
fileUrlPath: '', fileUrlPath: "",
nameList: [], nameList: [],
postUrl: postUrl:
fileUrl + fileUrl +
'/upload/?token=Bearer ' + "/upload/?token=Bearer " +
window.sessionStorage.getItem('token') + window.sessionStorage.getItem("token") +
'&' + "&" +
this.parms, this.parms,
formatList: ['png', 'jpg', 'gif'], formatList: ["png", "jpg", "gif"],
newName: '', newName: "",
newPath:'',
per: 0, per: 0,
vshowPro: false vshowPro: false
} };
}, },
created() {}, created() {},
props: { props: {
...@@ -60,55 +70,60 @@ export default { ...@@ -60,55 +70,60 @@ export default {
}, },
parms: { parms: {
type: String, type: String,
default: '' default: ""
},
showButton:{
type:Boolean,
default:true,
} }
}, },
methods: { methods: {
onProgress(event, file, fileList) { onProgress(event, file, fileList) {
this.per = 0 this.per = 0;
this.vshowPro = true this.vshowPro = true;
}, },
// change(event) { // change(event) {
// this.$emit('on-change', event.target.value) // this.$emit('on-change', event.target.value)
// }, // },
//上传成功文件 //上传成功文件
uploadSuccess(response, file, fileList) { uploadSuccess(response, file, fileList) {
this.per = 60 this.per = 60;
this.vshowPro = true this.vshowPro = true;
const hbaseFileList = [] const hbaseFileList = [];
const filesList = [] const filesList = [];
if (file.response.status == 0) { if (file.response.status == 0) {
let objImag = {} let objImag = {};
objImag.fileName = file.response.data.fileName objImag.fileName = file.response.data.fileName;
objImag.filePath = file.response.data.downloadPath objImag.filePath = file.response.data.downloadPath;
filesList.push(objImag) filesList.push(objImag);
this.newName = file.response.data.fileName this.newName = file.response.data.fileName;
this.$emit('on-change', JSON.stringify(filesList)) this.newPath=file.response.data.downloadPath
this.per = 100 this.$emit("on-change", JSON.stringify(filesList));
this.per = 100;
setTimeout(() => { setTimeout(() => {
this.per = 0 this.per = 0;
this.vshowPro = false this.vshowPro = false;
}, 2000) }, 2000);
} else { } else {
this.$Message.error('上传失败,请重新上传!') this.$Message.error("上传失败,请重新上传!");
} }
}, },
//上传文件失败 //上传文件失败
uploadError(response, file, fileList) { uploadError(response, file, fileList) {
this.$Message.error('上传失败,请重新上传!') this.$Message.error("上传失败,请重新上传!");
}, },
//文件大小验证返回 //文件大小验证返回
onExceededSize(file, fileList) { onExceededSize(file, fileList) {
if (Object.keys(file).length == 0) { if (Object.keys(file).length == 0) {
this.$Message.error( this.$Message.error(
'上传文件不能大于' + this.maxSize + 'k,请重新上传!' "上传文件不能大于" + this.maxSize + "k,请重新上传!"
) );
} }
}, },
//文件格式验证 //文件格式验证
onFormatError(file, fileList) { onFormatError(file, fileList) {
if (Object.keys(file).length == 0) { if (Object.keys(file).length == 0) {
this.$Message.error('上传文件格式不正确,请重新上传!') this.$Message.error("上传文件格式不正确,请重新上传!");
} }
}, },
//删除上传 //删除上传
...@@ -116,36 +131,40 @@ export default { ...@@ -116,36 +131,40 @@ export default {
formatL() { formatL() {
if (this.files) { if (this.files) {
this.formatList = [ this.formatList = [
'pdf', "pdf",
'docx', "docx",
'doc', "doc",
'xls', "xls",
'xlsx', "xlsx",
'txt', "txt",
'png', "png",
'jpg', "jpg",
'gif', "gif",
'zip', "zip",
'rar' "rar"
] ];
} }
return this.formatList return this.formatList;
} },
downFile(path) {
this.fileUrlPath = this.downUrl + path;
},
}, },
mounted() { mounted() {
this.formatL() this.formatL();
}, },
computed: { computed: {
nativeInputValue() { nativeInputValue() {
return this.value === null || this.value === undefined ? '' : this.value return this.value === null || this.value === undefined ? "" : this.value;
} }
}, },
watch: { watch: {
value(v) { value(v) {
this.name = v this.name = v;
} }
} }
} };
</script> </script>
<style lang="less"> <style lang="less">
</style> </style>
\ No newline at end of file
...@@ -9558,7 +9558,8 @@ ...@@ -9558,7 +9558,8 @@
"dependencies": { "dependencies": {
"deepmerge": { "deepmerge": {
"version": "2.2.1", "version": "2.2.1",
"resolved": false "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz",
"integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA=="
} }
} }
}, },
......
...@@ -4,8 +4,13 @@ ...@@ -4,8 +4,13 @@
<p slot="title">个人头像</p> <p slot="title">个人头像</p>
<div style="height:415px;"> <div style="height:415px;">
<p style="text-align:center;padding-top:100px;"> <p style="text-align:center;padding-top:100px;">
<Avatar :src="avatorPath" size="150" v-if="avatorPath" /> <Avatar :src="avatorPath" size="150" v-if="avatorPath" />
<Avatar size="150" style="background-color: #87d068" v-else-if="!avatorPath" icon="ios-person" /> <Avatar
size="150"
style="background-color: #87d068"
v-else-if="!avatorPath"
icon="ios-person"
/>
</p> </p>
<p style="text-align:center;padding:10px;"> <p style="text-align:center;padding:10px;">
<Button @click="openModalAvatar">修改头像</Button> <Button @click="openModalAvatar">修改头像</Button>
...@@ -80,15 +85,19 @@ ...@@ -80,15 +85,19 @@
</Card> </Card>
<Modal v-model="modalAvatar" title="修改头像" :width="460"> <Modal v-model="modalAvatar" title="修改头像" :width="460">
<Form :model="imageModel"> <Form :model="imageModel">
<div class="imgBg"> <Row>
<img :src="avatorPath" /> <div class="imgBg">
</div> <img :src="avatorPath" />
<inputFiles v-model="imgName" :parms="parms" /> </div>
<inputFiles v-model="imgName" :parms="parms" :showButton="false" />
</Row>
</Form> </Form>
<div slot="footer"> <Row>
<Button @click="cancelAvatar">取消</Button> <div slot="footer" style="clear:both">
<Button type="primary" @click="upAvatar">确定</Button> <Button @click="cancelAvatar">取消</Button>
</div> <Button type="primary" @click="upAvatar">确定</Button>
</div>
</Row>
</Modal> </Modal>
</div> </div>
</template> </template>
...@@ -132,7 +141,7 @@ export default { ...@@ -132,7 +141,7 @@ export default {
remark: "", remark: "",
avatarUrl: "" avatarUrl: ""
}, },
userInfos:{}, userInfos: {},
imageModel: { imageModel: {
id: null, id: null,
avatar_Url: "", avatar_Url: "",
...@@ -208,7 +217,7 @@ export default { ...@@ -208,7 +217,7 @@ export default {
this.$http.sysUser.getuserinfo(parma).then(res => { this.$http.sysUser.getuserinfo(parma).then(res => {
if (res.result) { if (res.result) {
this.userInfo = res.result; this.userInfo = res.result;
this.userInfos=res.result; this.userInfos = res.result;
this.imageModel.id = this.userInfo.id; this.imageModel.id = this.userInfo.id;
if ( if (
res.result.avatarUrl && res.result.avatarUrl &&
...@@ -268,9 +277,9 @@ export default { ...@@ -268,9 +277,9 @@ export default {
}; };
</script> </script>
<style lang="less" > <style lang="less" >
.img_top01{ .img_top01 {
width:350px; width: 350px;
float:left; float: left;
.ivu-card-body { .ivu-card-body {
padding: 0px; padding: 0px;
} }
......
...@@ -20,6 +20,22 @@ export default { ...@@ -20,6 +20,22 @@ export default {
info(params) {//工单信息 info(params) {//工单信息
return Api.post(`${PlanUrl}/dispatch/orderdispatchsummary`, params); return Api.post(`${PlanUrl}/dispatch/orderdispatchsummary`, params);
}, },
mesordersplitcard(params) {//分卡操作
return Api.post(`${PlanUrl}/mesorders/mesordersplitcard`, params);
},
createorupdate(params) {//暂停工单
return Api.post(`${PlanUrl}/orderexecutepausecause/createorupdate`, params);
},
entrycontinue(params) {//继续开始工单
return Api.post(`${PlanUrl}/orderexecute/entrycontinue`, params);
},
getentryproductcode(params){//更加工单id获取产品号
return Api.get(`${PlanUrl}/orderexecutequalityrecord/getentryproductcode`, params);
},
pauseCauseGetpaged(params){//获取工单暂停记录
return Api.get(`${PlanUrl}/orderexecutepausecause/getpaged`, params);
},
// getplantdepartments(params) {// 组织为”车间“的部门 // getplantdepartments(params) {// 组织为”车间“的部门
// return Api.get(`${systemUrl}/department/getplantdepartments`, params); // return Api.get(`${systemUrl}/department/getplantdepartments`, params);
// }, // },
......
<template>
<div class="new_box">
<Form ref="cardModeldata" :model="cardModeldata" :rules="ruleValidate" :label-width="120">
<Row>
<Col span="22">
<FormItem label="暂停原因">
<Dictionary
code="plan.dispatch.pauseCause"
v-model="cardModeldata.pausecause_id"
type="select"
style="width:100%"
></Dictionary>
</FormItem>
</Col>
</Row>
<Row>
<Col span="22">
<FormItem label="详细描述" prop="desc">
<Input
type="textarea"
:rows="6"
style="width:100%;"
size="large"
v-model="cardModeldata.desc"
placeholder="请输入..."
/>
</FormItem>
</Col>
</Row>
<Row>
<Col span="24">
<FormItem>
<Button type="primary" @click="handleSubmit">保存</Button>
</FormItem>
</Col>
</Row>
</Form>
</div>
</template>
<script>
import Api from "./api";
export default {
name: "entryPause",
props: {
info: Object
},
data() {
return {
newModel: false,
cardModeldata: {
id: 0,
dispatch_id: 0,
execute_id: 0,
order_id: "",
pausecause_type: 1,
pausecause_id: 0,
title: "",
desc: "",
userids: "",
status: 0,
layersnum: 0,
height: 0
},
ruleValidate: {
// pausecause_id: [{ required: true, message: '原因不能为空', trigger: 'blur' }],
desc: [{ required: true, message: "详细描述不能为空", trigger: "blur" }]
}
};
},
created() {},
methods: {
handleSubmit() {
this.$refs["cardModeldata"].validate(valid => {
if (valid) {
var url = `${PlanUrl}/orderexecutepausecause/createorupdate`;
let parms = {
orderExecutePausecause: {
dispatch_id: this.info.dispatch_id,
execute_id: this.info.execute_id,
order_id: this.info.order_id,
pausecause_type: 1,
pausecause_id: this.cardModeldata.pausecause_id,
desc: this.cardModeldata.desc,
title: "",
userids: "",
status: 0,
layersnum: 0,
height: 0
}
};
Api.createorupdate(parms)
.then(response => {
if (response.success) {
this.$Message.success("保存成功");
this.cleardata();
this.$emit("on-ok")
}
})
.catch(error => {
console.log(error);
this.$Message.error("保存失败");
});
}
});
},
cancel() {
this.cleardata();
},
cleardata() {
this.cardModeldata.title = "";
this.cardModeldata.desc = "";
this.cardModeldata.userids = "";
this.cardModeldata.layersnum = 0;
this.cardModeldata.height = 0;
}
},
watch: {
info(v) {
if (v && JSON.stringify(v) != "{}") {
}
}
}
};
</script>
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<Record :eid="recordId" /> <Record :eid="recordId" />
</Modal> </Modal>
<Modal v-model="SpeedModal" title="工单信息" fullscreen footer-hide class="recordM"> <Modal v-model="SpeedModal" title="工单信息" fullscreen footer-hide class="recordM">
<Speed :result="result" :load="loading" /> <Speed :result="result" :load="loading" :executeId="dispatchExecuteId" :orderId="orderId" />
</Modal> </Modal>
</div> </div>
</template> </template>
...@@ -50,6 +50,8 @@ export default { ...@@ -50,6 +50,8 @@ export default {
data() { data() {
return { return {
result: [], result: [],
dispatchExecuteId:null,//任务id
orderId:null,//订单id
SpeedModal: false, SpeedModal: false,
rowSuspend: {}, rowSuspend: {},
recordId: 0, recordId: 0,
...@@ -360,7 +362,7 @@ export default { ...@@ -360,7 +362,7 @@ export default {
render: (h, params) => { render: (h, params) => {
return h("div", { class: "action" }, [ return h("div", { class: "action" }, [
h( h(
params.row.status == 5 ? "Button" : "", //订单状态暂停,启动 params.row.status == 5&&params.row.upSplitId==0 ? "Button" : "", //订单状态暂停,启动
{ {
props: { props: {
type: "error", type: "error",
...@@ -383,7 +385,7 @@ export default { ...@@ -383,7 +385,7 @@ export default {
"" ""
), ),
h( h(
params.row.status == 6 ? "Button" : "", //订单状态执行中,暂停 params.row.status == 6&&params.row.upSplitId==0 ? "Button" : "", //订单状态执行中,暂停
{ {
props: { props: {
type: "success", type: "success",
...@@ -436,6 +438,8 @@ export default { ...@@ -436,6 +438,8 @@ export default {
this.result = []; this.result = [];
this.loading = true; this.loading = true;
this.SpeedModal = true; this.SpeedModal = true;
this.dispatchExecuteId=row.dispatchExecuteId
this.orderId=row.id
Api.info({ Api.info({
routingHeaderId: row.routingHeaderId, routingHeaderId: row.routingHeaderId,
dispatchExecuteId: row.dispatchExecuteId dispatchExecuteId: row.dispatchExecuteId
......
...@@ -5,7 +5,13 @@ ...@@ -5,7 +5,13 @@
<DataGrid :columns="columns" ref="grid" :action="action" :tool="false" :height="tdHeight"></DataGrid> <DataGrid :columns="columns" ref="grid" :action="action" :tool="false" :height="tdHeight"></DataGrid>
</TabPane> </TabPane>
<TabPane label="工单暂停记录" name="name2"> <TabPane label="工单暂停记录" name="name2">
<DataGrid :columns="columnsProcess" ref="gridProcess" :tool="false" :height="tdHeight"></DataGrid> <DataGrid
:columns="columnsProcess"
ref="gridProcess"
:data="list"
:tool="false"
:height="tdHeight"
></DataGrid>
</TabPane> </TabPane>
</Tabs> </Tabs>
<Modal v-model="detailModal" title="详情" width="800"> <Modal v-model="detailModal" title="详情" width="800">
...@@ -122,67 +128,53 @@ export default { ...@@ -122,67 +128,53 @@ export default {
], ],
columnsProcess: [ columnsProcess: [
{ {
key: "productName", key: "dispatch_id",
title: "工序Id", title: "工序Id",
align: "left", align: "left",
width: 90 width: 90
}, },
{ {
key: "productName", key: "dispatch_id",
title: "工序号", title: "工序号",
align: "left", align: "left",
width: 90 width: 90
}, },
{ {
key: "productName", key: "dispatch_id",
title: "工序名称", title: "工序名称",
align: "left", align: "left",
width: 350, width: 350
}, },
{ {
key: "remark", key: "desc",
title: "暂停原因", title: "暂停原因",
align: "left" align: "left"
}, },
{ {
key: "productName", key: "creatorUserId",
title: "暂停人", title: "暂停人",
align: "left", align: "left",
high: true, high: true,
width: 180 width: 180,
type: "user"
}, },
{ {
key: "productName", key: "creationTime",
title: "暂停时间", title: "暂停时间",
align: "left", align: "left",
width: 180 width: 180
},
{
key: "productName",
title: "恢复人",
align: "left",
width: 180
},
{
key: "productName",
title: "恢复时间",
align: "left",
width: 180
},
{
key: "productName",
title: "相关人",
align: "left",
width: "180"
} }
] ],
list: []
}; };
}, },
props: { props: {
eid: Number eid: Number
}, },
mounted() { mounted() {
this.$refs.grid.reload(this.easySearch);
this.loadList()
window.onresize = () => { window.onresize = () => {
///浏览器窗口大小变化 ///浏览器窗口大小变化
return (() => { return (() => {
...@@ -198,6 +190,29 @@ export default { ...@@ -198,6 +190,29 @@ export default {
await store.dispatch("loadDictionary"); // 加载数据字典 await store.dispatch("loadDictionary"); // 加载数据字典
}, },
methods: { methods: {
// tabClick(tabIndex) {
// if (tabIndex == 2) {
// this.loadList();
// } else {
// this.$refs.grid.reload(this.easySearch);
// }
// },
loadList() {
let params = {
FilterText: "dispatch_id=104"
};
Api.pauseCauseGetpaged(params)
.then(res => {
if (res.success) {
this.list = res.result.items;
} else {
this.$Message.error("获取数据失败");
}
})
.catch(err => {
this.$Message.error("连接失败");
});
},
search() { search() {
this.$refs.grid.reload(this.easySearch); this.$refs.grid.reload(this.easySearch);
}, },
......
...@@ -6,6 +6,9 @@ ...@@ -6,6 +6,9 @@
<div v-show="!load"> <div v-show="!load">
<DataGrid :columns="columns" :data="result" border :tool="false" :height="820" :page="false"></DataGrid> <DataGrid :columns="columns" :data="result" border :tool="false" :height="820" :page="false"></DataGrid>
</div> </div>
<Modal v-model="workOrderPauseModal" title="工单暂停原因" width="800" footer-hide class="suspend">
<EntryPause @on-ok="pauseOk" ref="addBug" :info="info" />
</Modal>
<Modal v-model="modalSplit" title="订单分卡" width="650" footer-hide> <Modal v-model="modalSplit" title="订单分卡" width="650" footer-hide>
<div slot="close"> <div slot="close">
<Icon type="ios-close" size="31" color="gray" @click="handleClose" /> <Icon type="ios-close" size="31" color="gray" @click="handleClose" />
...@@ -17,9 +20,9 @@ ...@@ -17,9 +20,9 @@
<Select v-model="entity.num" multiple> <Select v-model="entity.num" multiple>
<Option <Option
v-for="(item,index) in numList" v-for="(item,index) in numList"
:value="item.value" :value="item.productcodes"
:key="index" :key="index"
>{{ item.label }}</Option> >{{ item.productcodes}}</Option>
</Select> </Select>
</FormItem> </FormItem>
</Col> </Col>
...@@ -72,19 +75,28 @@ ...@@ -72,19 +75,28 @@
</template> </template>
<script> <script>
import Api from "./api"; import Api from "./api";
import EntryPause from "./entryPause";
export default { export default {
name: "", name: "",
components: {
EntryPause
},
data() { data() {
return { return {
modalSplit: false, modalSplit: false,
workOrderPauseModal: false,
index: null,
entity: { entity: {
num: [], //序列号组合 count: 0,
reason: null, //分卡原因 code: "",
remark: "", //备注信息 routingDetailId: 0,
action: null, //操作 orderId: 0,
scheduleType: null //排产类型 dispatchId: 0
},
info: {},
initeId: {
routingDetailId: null,
dispatchId: null
}, },
columns: [ columns: [
{ {
...@@ -197,12 +209,12 @@ export default { ...@@ -197,12 +209,12 @@ export default {
"op", "op",
{ {
props: { props: {
oprate: "delete", oprate: "edit",
title: "暂停", title: "暂停"
msg: "确定暂停工序:" + params.row.detailName + "?" //msg: "确定暂停工序:" + params.row.detailName + "?"
}, },
style: params.row.status == 14 ? "" : "display:none", style: params.row.status == 14 ? "" : "display:none",
on: { click: () => this.pause(params.row) } on: { click: () => this.pause(params.row, params.index) }
}, },
"暂停" "暂停"
), ),
...@@ -211,7 +223,7 @@ export default { ...@@ -211,7 +223,7 @@ export default {
{ {
props: { oprate: "edit", title: "分卡" }, props: { oprate: "edit", title: "分卡" },
style: params.row.status == 5 ? "" : "display:none", style: params.row.status == 5 ? "" : "display:none",
on: { click: () => this.split(params.row) } on: { click: () => this.split(params.row, params.index) }
}, },
"分卡" "分卡"
), ),
...@@ -223,8 +235,8 @@ export default { ...@@ -223,8 +235,8 @@ export default {
title: "继续", title: "继续",
msg: "确定继续执行工序:" + params.row.detailName + "?" msg: "确定继续执行工序:" + params.row.detailName + "?"
}, },
style: params.row.status == 5? "" : "display:none", style: params.row.status == 5 ? "" : "display:none",
on: { click: () => this.continue(params.row) } on: { click: () => this.continue(params.row, params.index) }
}, },
"继续" "继续"
) )
...@@ -233,40 +245,7 @@ export default { ...@@ -233,40 +245,7 @@ export default {
} }
], ],
listTask: [], listTask: [],
numList: [ numList: [],
{
value: 1,
label: "SKJC-001"
},
{
value: 2,
label: "SKJC-002"
},
{
value: 3,
label: "SKJC-003"
},
{
value: 4,
label: "SKJC-004"
},
{
value: 5,
label: "SKJC-005"
},
{
value: 6,
label: "SKJC-006"
},
{
value: 7,
label: "SKJC-007"
},
{
value: 8,
label: "SKJC-008"
}
],
reasonList: [ reasonList: [
{ {
value: 1, value: 1,
...@@ -319,16 +298,23 @@ export default { ...@@ -319,16 +298,23 @@ export default {
}, },
props: { props: {
result: Array, result: Array,
load: Boolean load: Boolean,
executeId: Number,
orderId: Number
}, },
async fetch({ store, params }) { async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典 await store.dispatch("loadDictionary"); // 加载数据字典
}, },
created() {}, created() {},
methods: { methods: {
split(row) { split(row, index) {
//工单分卡 //工单分卡
this.modalSplit = true; this.getProduct(row.id);
(this.initeId = {
routingDetailId: row.detailId,
dispatchId: row.id
}),
(this.modalSplit = true);
}, },
onchangeAction(val) { onchangeAction(val) {
//选择移入排产时显示排产模型下拉框 //选择移入排产时显示排产模型下拉框
...@@ -336,18 +322,44 @@ export default { ...@@ -336,18 +322,44 @@ export default {
this.entity.scheduleType = null; this.entity.scheduleType = null;
} }
}, },
getProduct(id) {
let params = {
entryID: id
};
Api.getentryproductcode(params).then(res => {
if (res.success) {
this.numList = [];
this.numList = res.result;
}
});
},
splitOk() { splitOk() {
//确定分卡 //确定分卡
this.$refs.form.validate(valid => { this.$refs.form.validate(valid => {
if (valid) { if (valid) {
let params = { let params = {
num: this.entity.num, count: this.entity.num.length,
reason: this.entity.reason, code: JSON.stringify(this.entity.num)
remark: this.entity.remark, .replace("[", "")
action: this.entity.action, .replace("]", "")
scheduleType: this.entity.scheduleType .replace(/\"/g, ""),
routingDetailId: this.initeId.routingDetailId,
orderId: this.orderId,
dispatchId: this.initeId.dispatchId
//reason: this.entity.reason,
//remark: this.entity.remark
}; };
alert(JSON.stringify(params)); Api.mesordersplitcard(params)
.then(res => {
if (res.success) {
this.$Message.success("分卡成功");
} else {
this.$Message.error("分卡失败");
}
})
.catch(err => {
this.$Message.error("连接失败");
});
this.handleClose(); this.handleClose();
} else { } else {
this.modalSplit = true; this.modalSplit = true;
...@@ -369,13 +381,40 @@ export default { ...@@ -369,13 +381,40 @@ export default {
scheduleType: null scheduleType: null
}; };
}, },
pause(row) { pause(row, index) {
this.index = index;
//暂停工单 //暂停工单
alert(JSON.stringify(row)); this.info = {
dispatch_id: row.id,
execute_id: this.executeId,
order_id: this.orderId
};
this.workOrderPauseModal = true;
},
pauseOk() {
this.workOrderPauseModal = false;
this.result[this.index].status = 5;
}, },
continue(row) { continue(row, index) {
this.index = index;
//继续工单 //继续工单
alert(JSON.stringify(row)); let params = {
id: row.id,
orderid: this.orderId,
time: null
};
Api.entrycontinue(params)
.then(response => {
if (response.success) {
this.$Message.success("操作成功");
this.result[this.index].status = 14;
} else {
this.$Message.error("操作失败");
}
})
.catch(error => {
this.$Message.error("连接失败");
});
}, },
//截取字符串 //截取字符串
sliceStr(str, lenS, lenE) { sliceStr(str, lenS, lenE) {
......
...@@ -112,10 +112,11 @@ ...@@ -112,10 +112,11 @@
</Col> </Col>
<Col :span="24"> <Col :span="24">
<FormItem :label="l('qualityTemplateName')" prop="qualityTemplateName"> <FormItem :label="l('qualityTemplateName')" prop="qualityTemplateName">
<files ref="refFile" :parms="parms" files singleFile /> <inputFile v-model="tempFile" :parms="parms" />
</FormItem> </FormItem>
</Col> </Col>
<!-- <!--
<files ref="refFile" :parms="parms" files singleFile />
<Col :span="12"> <Col :span="12">
<FormItem :label="l('isImportant')" prop="isImportant"> <FormItem :label="l('isImportant')" prop="isImportant">
<Dictionary code="Process.state" v-model="entity.isImportant" type="radio"></Dictionary> <Dictionary code="Process.state" v-model="entity.isImportant" type="radio"></Dictionary>
...@@ -206,6 +207,7 @@ export default { ...@@ -206,6 +207,7 @@ export default {
sampling: null, sampling: null,
samplingBatch: "" samplingBatch: ""
}, },
tempFile: "",
rules: { rules: {
routingDetailId: [ routingDetailId: [
{ required: true, message: "请选择工序名称", type: "number" } { required: true, message: "请选择工序名称", type: "number" }
...@@ -213,12 +215,13 @@ export default { ...@@ -213,12 +215,13 @@ export default {
checkContent: [{ required: true, message: "必填", trigger: "blur" }] checkContent: [{ required: true, message: "必填", trigger: "blur" }]
}, },
routingDetailList: [], routingDetailList: [],
parms: { parms: "app=qccard&eid=" + this.$u.guid() + "&name=''"
app: "qccard", // parms: {
eid: null, // app: "qccard",
name: "", // eid: null,
field: "" // name: "",
} // field: ""
// }
}; };
}, },
props: { props: {
...@@ -236,26 +239,31 @@ export default { ...@@ -236,26 +239,31 @@ export default {
this.$refs.form.validate(v => { this.$refs.form.validate(v => {
if (v) { if (v) {
this.disabled = true; this.disabled = true;
if (this.tempFile != "") {
this.entity.qualityTemplateName = ""; let tempName = JSON.parse(this.$u.clone(this.tempFile));
this.entity.qualityTemplate = ""; this.entity.qualityTemplateName = tempName[0].fileName;
if (this.$refs.refFile.nameList.length > 0) { this.entity.qualityTemplate = tempName[0].filePath;
let nameList = this.$refs.refFile.nameList; } else {
let names = []; this.entity.qualityTemplateName = "";
let url = []; this.entity.qualityTemplate = "";
nameList.forEach(e => {
names.push(e.fileName);
url.push(e.filePath);
});
this.entity.qualityTemplateName = JSON.stringify(names)
.replace("[", "")
.replace("]", "")
.replace(/\"/g, ""); //附件本地库暂存文件名称
this.entity.qualityTemplate = JSON.stringify(url)
.replace("[", "")
.replace("]", "")
.replace(/\"/g, "");
} }
// if (this.$refs.refFile.nameList.length > 0) {
// let nameList = this.$refs.refFile.nameList;
// let names = [];
// let url = [];
// nameList.forEach(e => {
// names.push(e.fileName);
// url.push(e.filePath);
// });
// this.entity.qualityTemplateName = JSON.stringify(names)
// .replace("[", "")
// .replace("]", "")
// .replace(/\"/g, ""); //附件本地库暂存文件名称
// this.entity.qualityTemplate = JSON.stringify(url)
// .replace("[", "")
// .replace("]", "")
// .replace(/\"/g, "");
// }
this.entity.routingHeaderId = this.headid; this.entity.routingHeaderId = this.headid;
Api.create(this.entity) Api.create(this.entity)
......
...@@ -54,8 +54,9 @@ ...@@ -54,8 +54,9 @@
</Col> </Col>
<Col :span="24"> <Col :span="24">
<FormItem :label="l('qualityTemplateName')" prop="qualityTemplateName"> <FormItem :label="l('qualityTemplateName')" prop="qualityTemplateName">
<files ref="refFile" :parms="parms" files singleFile /> <inputFile ref="inputfile" v-model="tempFile" :parms="parms" />
<!-- <!--
<files ref="refFile" :parms="parms" files singleFile />
<a <a
:href="fileUrlPath" :href="fileUrlPath"
@click="downFile(entity.qualityTemplate)" @click="downFile(entity.qualityTemplate)"
...@@ -82,10 +83,14 @@ export default { ...@@ -82,10 +83,14 @@ export default {
raidoDis: false, raidoDis: false,
downUrl: fileUrlDown, downUrl: fileUrlDown,
fileUrlPath: "", fileUrlPath: "",
tempFile: "",
tempFileName: "",
tempFilePath: "",
entity: { entity: {
qualityTemplateName: "", qualityTemplateName: "",
qualityTemplate: "" qualityTemplate: ""
}, },
rules: { rules: {
routingDetailId: [ routingDetailId: [
{ required: true, message: "请选择工序名称", type: "number" } { required: true, message: "请选择工序名称", type: "number" }
...@@ -93,12 +98,13 @@ export default { ...@@ -93,12 +98,13 @@ export default {
checkContent: [{ required: true, message: "必填", trigger: "blur" }] checkContent: [{ required: true, message: "必填", trigger: "blur" }]
}, },
routingDetailList: [], routingDetailList: [],
parms: { parms: "app=qccard&eid=" + this.$u.guid() + "&name=''"
app: "qccard", // parms: {
eid: this.eid, // app: "qccard",
name: "", // eid: this.eid,
field: "" // name: "",
} // field: ""
// }
}; };
}, },
props: { props: {
...@@ -115,10 +121,11 @@ export default { ...@@ -115,10 +121,11 @@ 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.$refs.refFile.intFilesClone();
this.parms.eid = v; //this.parms.eid = v;
this.entity = r.result; this.entity = r.result;
this.$refs.inputfile.newName = this.entity.qualityTemplateName;
this.$refs.inputfile.newPath = this.entity.qualityTemplate;
if (r.result.checkType == 1 || r.result.checkType == 2) { if (r.result.checkType == 1 || r.result.checkType == 2) {
this.raidoDis = false; this.raidoDis = false;
this.entity.isphotograph = null; this.entity.isphotograph = null;
...@@ -134,26 +141,30 @@ export default { ...@@ -134,26 +141,30 @@ export default {
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.tempFile != "") {
this.entity.qualityTemplate = ""; let tempName = JSON.parse(this.$u.clone(this.tempFile));
if (this.$refs.refFile.nameList.length > 0) { this.entity.qualityTemplateName = tempName[0].fileName;
let nameList = this.$refs.refFile.nameList; this.entity.qualityTemplate = tempName[0].filePath;
let names = [];
let url = [];
nameList.forEach(e => {
names.push(e.fileName);
url.push(e.filePath);
});
this.entity.qualityTemplateName = JSON.stringify(names)
.replace("[", "")
.replace("]", "")
.replace(/\"/g, ""); //附件本地库暂存文件名称
this.entity.qualityTemplate = JSON.stringify(url)
.replace("[", "")
.replace("]", "")
.replace(/\"/g, "");
} }
// if (this.$refs.refFile.nameList.length > 0) {
// let nameList = this.$refs.refFile.nameList;
// let names = [];
// let url = [];
// nameList.forEach(e => {
// names.push(e.fileName);
// url.push(e.filePath);
// });
// this.entity.qualityTemplateName = JSON.stringify(names)
// .replace("[", "")
// .replace("]", "")
// .replace(/\"/g, ""); //附件本地库暂存文件名称
// this.entity.qualityTemplate = JSON.stringify(url)
// .replace("[", "")
// .replace("]", "")
// .replace(/\"/g, "");
// }
Api.update(this.entity) Api.update(this.entity)
.then(r => { .then(r => {
this.disabled = false; this.disabled = false;
...@@ -213,7 +224,7 @@ export default { ...@@ -213,7 +224,7 @@ export default {
if (v != 0) { if (v != 0) {
this.load(v); this.load(v);
} }
} },
} }
}; };
</script> </script>
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<Input v-model="entity.unicode"></Input> <Input v-model="entity.unicode"></Input>
</FormItem> </FormItem>
</Col>--> </Col>-->
<Col :span="8"> <Col :span="8">
<FormItem :label="l('code')" prop="code"> <FormItem :label="l('code')" prop="code">
<Input v-model="entity.code" disabled></Input> <Input v-model="entity.code" disabled></Input>
</FormItem> </FormItem>
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<Input v-model="entity.name"></Input> <Input v-model="entity.name"></Input>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="8"> <Col :span="8">
<FormItem :label="l('routingType')" prop="routingType"> <FormItem :label="l('routingType')" prop="routingType">
<Dictionary code="Process.Routing.routingType" v-model="entity.routingType"></Dictionary> <Dictionary code="Process.Routing.routingType" v-model="entity.routingType"></Dictionary>
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
<departmentSelect v-model="entity.departmentId" @on-change="departChange"></departmentSelect> <departmentSelect v-model="entity.departmentId" @on-change="departChange"></departmentSelect>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="8"> <Col :span="8">
<FormItem :label="l('isEffect')" prop="isEffect"> <FormItem :label="l('isEffect')" prop="isEffect">
<Dictionary code="Process.Status" v-model="entity.isEffect" type="radio"></Dictionary> <Dictionary code="Process.Status" v-model="entity.isEffect" type="radio"></Dictionary>
...@@ -184,6 +184,9 @@ export default { ...@@ -184,6 +184,9 @@ export default {
this.$refs.refFile.intFilesClone(); this.$refs.refFile.intFilesClone();
this.parms.eid = this.uid; this.parms.eid = this.uid;
this.entity = r.result; this.entity = r.result;
if (this.entity.isEffect && this.entity.isEffect != "") {
this.entity.isEffect = Number(this.entity.isEffect);
}
}); });
}, },
handleSubmit() { handleSubmit() {
......
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