Commit 39caf2e1 authored by 仇晓婷's avatar 仇晓婷

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

parents efb1b8f4 e7fcedd3
......@@ -52,7 +52,7 @@ export default {
}
},
getCodes(e) {
let url = `${routeUrl}/orderproductcode/getbyorderid`
let url = `${PlanUrl}/orderproductcode/getbyorderid`
if (this.eid) {
this.$api.get(url, { id: this.eid }).then((r) => {
if (r.success) {
......
......@@ -2,7 +2,7 @@
<Poptip placement="bottom-start" trigger="hover" width="240" transfer>
<label :class="css">{{ user.name }}</label>
<div slot="content">
<Avatar v-if="user.face" size="large" :src="user.face"></Avatar>
<Avatar v-if="user.face" size="large" :src="img"></Avatar>
<Avatar
v-else
size="large"
......@@ -44,7 +44,8 @@ export default {
loginName: "",
id: 0
},
css: "s0"
css: "s0",
img:'',
};
},
......@@ -63,8 +64,8 @@ export default {
} else if (this.user.status == 1) {
this.css = "s1";
}
if (this.user.face) {
this.user.face = fileUrlDown + this.user.face;
if(user.face){
this.img=fileUrlDown+user.face;
}
}
}
......
......@@ -1397,7 +1397,7 @@ export default {
printData: '发行日期',
executiveBranch: '执行部门',
executiveBranchId: '执行部门Id',
handlingOpinionsId: '',
handlingOpinionsId: '在制品处理意见Id',
handlingOpinions: '在制品处理意见',
beforeChangeContent: '变更前内容描述(附图)',
afterChangeContent: '变更后内容描述(附图)',
......
......@@ -10,14 +10,14 @@
export default {
props: ['error'],
// layout: 'blog' // you can set a custom layout for the error page
// watch:{
// error(v){
// debugger;
// if(v.statusCode==404){
// this.$router.push("/error/404");
// }
// }
watch:{
error(v){
debugger;
if(v.statusCode==404){
this.$router.push("/error/404");
}
}
// }
}
}
</script>
\ No newline at end of file
import Api from '@/plugins/request'
export default {
index: `${routeUrl}/orderaudit/pagedmonitormesorders`,
record: `${routeUrl}/orderpause/paged`,
index: `${PlanUrl}/orderaudit/pagedmonitormesorders`,
record: `${PlanUrl}/orderpause/paged`,
paged(params) {
return Api.post(`${routeUrl}/orderaudit/pagedmonitormesorders`, params);
return Api.post(`${PlanUrl}/orderaudit/pagedmonitormesorders`, params);
},
pagedRecord(params) {
return Api.post(`${routeUrl}/orderpause/paged`, params);
return Api.post(`${PlanUrl}/orderpause/paged`, params);
},
start(params) {
return Api.post(`${routeUrl}/orderpause/start`, params);
return Api.post(`${PlanUrl}/orderpause/start`, params);
},
create(params) {
return Api.post(`${routeUrl}/orderpause/create`, params);
return Api.post(`${PlanUrl}/orderpause/create`, params);
},
get(params) {
return Api.get(`${routeUrl}/orderpause/get`, params);
return Api.get(`${PlanUrl}/orderpause/get`, params);
},
info(params) {//工单信息
return Api.post(`${routeUrl}/dispatch/orderdispatchsummary`, params);
return Api.post(`${PlanUrl}/dispatch/orderdispatchsummary`, params);
},
// getplantdepartments(params) {// 组织为”车间“的部门
// return Api.get(`${systemUrl}/department/getplantdepartments`, params);
......
......@@ -210,7 +210,7 @@ export default {
"op",
{
props: { oprate: "edit", title: "分卡" },
style: params.row.status == 5 ? "" : "display:none",
// style: params.row.status == 5 ? "" : "display:none",
on: { click: () => this.split(params.row) }
},
"分卡"
......
<style lang="less">
@import './menu.less';
@import "./menu.less";
</style>
<template>
<Modal v-model="modelChange" title="工艺更改单" :mask-closable="false" width="1020px">
<div class="quotation-box">
<div class="top_part">
<div style="padding-left:20px;padding-right:20px;font-size:14px;">
<Form
ref="formValidate"
:model="formValidate"
:rules="ruleValidate"
:label-width="160"
inline
>
<Modal v-model="modelChange" title="工艺更改单" :mask-closable="false" width="1020px">
<div class="quotation-box">
<div class="top_part">
<div style="padding-left:20px;padding-right:20px;font-size:14px;">
<Form
ref="formValidate"
:model="formValidate"
:rules="ruleValidate"
:label-width="160"
inline
>
<Row>
<FormItem label="更改单编号" style="width:400px">
<Input
size="large"
v-model.trim="this.changeorder_code"
style="width:240px"
readonly
/>
</FormItem>
<FormItem label="发行日期">
<!-- <DatePicker
<FormItem label="更改单编号" style="width:400px">
<Input
size="large"
v-model.trim="this.changeorder_code"
style="width:240px"
readonly
/>
</FormItem>
<FormItem label="发行日期">
<!-- <DatePicker
:value='formValidate.print_data'
type="date"
style="width:240px;"
placeholder="请选择"
format="yyyy/MM/dd"
></DatePicker> -->
<DatePicker :value="formValidate.print_data" @on-change="handleChange" format="yyyy/MM/dd" type="date" placeholder="请选择" style="width: 240px"></DatePicker>
</FormItem>
</Row>
<Row>
<FormItem label="申请部门">
<Input
size="large"
v-model.trim="formValidate.department_name"
placeholder="请输入..."
style="width:240px"
readonly
/>
</FormItem>
<FormItem label="提出人">
<Input
size="large"
v-model.trim="formValidate.propose_user_name"
placeholder="请输入..."
style="width:240px"
readonly
/>
</FormItem>
</Row>
<Row>
<FormItem label="技术文件名称">
<Input
size="large"
v-model.trim="formValidate.technical_name"
placeholder="请输入..."
style="width:240px"
readonly
/>
</FormItem>
<FormItem label="技术文件编号">
<Input
v-model.trim="formValidate.technical_code"
size="large"
placeholder="请输入..."
style="width:240px"
readonly
/>
</FormItem>
</Row>
<Row>
<FormItem label="更改后的版本号" style="width:400px">
<dictionary
code="Process.Routing.version"
v-model="formValidate.changed_version"
style="width:240px"
></dictionary>
</FormItem>
<FormItem label="数量">
<InputNumber :min="0" v-model="formValidate.quantity" style="width:240px" ></InputNumber>
</FormItem>
</Row>
<Row>
<FormItem label="执行部门">
<Input
v-model="formValidate.executive_branch"
readonly
placeholder="请选择..."
style="width:240px" >
<Button slot="append" @click="selectDepart">选择</Button>
</Input>
</FormItem>
<FormItem label="在制品处理意见">
<dictionary
code="Process.Routing.opinion"
v-model="formValidate.handling_opinions"
style="width:240px"
></dictionary>
</FormItem>
</Row>
<Row>
<FormItem label="更改原因">
<Input
size="large"
v-model.trim="formValidate.change_reason"
placeholder="请输入..."
style="width:240px"
/>
</FormItem>
<FormItem label="有效日期">
<DatePicker :value="formValidate.effective_date" @on-change="handleChange1" format="yyyy/MM/dd" type="date" placeholder="请选择" style="width: 240px"></DatePicker>
</FormItem>
</Row>
<!-- <Row> -->
></DatePicker>-->
<DatePicker
:value="formValidate.print_data"
@on-change="handleChange"
format="yyyy/MM/dd"
type="date"
placeholder="请选择"
style="width: 240px"
></DatePicker>
</FormItem>
</Row>
<Row>
<FormItem label="申请部门">
<Input
size="large"
v-model.trim="formValidate.department_name"
placeholder="请输入..."
style="width:240px"
readonly
/>
</FormItem>
<FormItem label="提出人">
<Input
size="large"
v-model.trim="formValidate.propose_user_name"
placeholder="请输入..."
style="width:240px"
readonly
/>
</FormItem>
</Row>
<Row>
<FormItem label="技术文件名称">
<Input
size="large"
v-model.trim="formValidate.technical_name"
placeholder="请输入..."
style="width:240px"
readonly
/>
</FormItem>
<FormItem label="技术文件编号">
<Input
v-model.trim="formValidate.technical_code"
size="large"
placeholder="请输入..."
style="width:240px"
readonly
/>
</FormItem>
</Row>
<Row>
<FormItem label="更改后的版本号" style="width:400px">
<dictionary
code="Process.Routing.version"
v-model="formValidate.changed_version"
style="width:240px"
></dictionary>
</FormItem>
<FormItem label="数量">
<InputNumber :min="0" v-model="formValidate.quantity" style="width:240px"></InputNumber>
</FormItem>
</Row>
<Row>
<FormItem label="执行部门">
<Input
v-model="formValidate.executive_branch"
readonly
placeholder="请选择..."
style="width:240px"
>
<Button slot="append" @click="selectDepart">选择</Button>
</Input>
</FormItem>
<FormItem label="在制品处理意见">
<dictionary
code="Process.Routing.opinion"
v-model="formValidate.handling_opinions"
style="width:240px"
></dictionary>
</FormItem>
</Row>
<Row>
<FormItem label="更改原因">
<Input
size="large"
v-model.trim="formValidate.change_reason"
placeholder="请输入..."
style="width:240px"
/>
</FormItem>
<FormItem label="有效日期">
<DatePicker
:value="formValidate.effective_date"
@on-change="handleChange1"
format="yyyy/MM/dd"
type="date"
placeholder="请选择"
style="width: 240px"
></DatePicker>
</FormItem>
</Row>
<!-- <Row> -->
<!-- <FormItem label="校对人">
<Input
size="large"
......@@ -126,7 +139,7 @@
placeholder="请输入..."
style="width:240px"
/>
</FormItem> -->
</FormItem>-->
<!-- <FormItem label="批准人">
<Input
size="large"
......@@ -134,78 +147,91 @@
placeholder="请输入..."
style="width:240px"
/>
</FormItem> -->
<!-- </Row> -->
<Row>
<FormItem label="变更前内容描述(附图):">
<!-- <VueUeditorWrap :config="editorConfig" v-model.trim="formValidate.before_change_content" /> -->
<Card :bordered="false" dis-hover class="ivu-mt">
<i-quill v-model="formValidate.before_change_content" :height="400" style="width:700px" v-paste="handleImg" />
<Divider />
<!-- <Button @click="handleAddText">增加文本</Button>
<Button @click="handleAddImg" class="ivu-ml">增加图片</Button> -->
<!-- <textarea id="abc" cols="30" rows="10" v-paste="handleImg"></textarea> -->
</Card>
</FormItem>
<FormItem label="变更后内容描述(附图):">
<!-- <VueUeditorWrap :config="editorConfig" v-model.trim="formValidate.after_change_content" /> -->
<Card :bordered="false" dis-hover class="ivu-mt">
<i-quill v-model="formValidate.after_change_content" :height="400" style="width:700px" v-paste="handleImg" />
<Divider />
<!-- <Button @click="handleAddText">增加文本</Button>
<Button @click="handleAddImg" class="ivu-ml">增加图片</Button> -->
<!-- <textarea id="abc" cols="30" rows="10" v-paste="handleImg"></textarea> -->
</Card>
</FormItem>
</Row>
<Process ref="userProcess" schemaIdVal="d0cdafe3-2341-4499-a4f5-278ef0f30740" />
</Form>
</FormItem>-->
<!-- </Row> -->
<Row>
<FormItem label="变更前内容描述(附图):">
<!-- <VueUeditorWrap :config="editorConfig" v-model.trim="formValidate.before_change_content" /> -->
<Card :bordered="false" dis-hover class="ivu-mt">
<i-quill
v-model="formValidate.before_change_content"
:height="400"
style="width:700px"
v-paste="handleImg"
/>
<Divider />
<!-- <Button @click="handleAddText">增加文本</Button>
<Button @click="handleAddImg" class="ivu-ml">增加图片</Button>-->
<!-- <textarea id="abc" cols="30" rows="10" v-paste="handleImg"></textarea> -->
</Card>
</FormItem>
<FormItem label="变更后内容描述(附图):">
<!-- <VueUeditorWrap :config="editorConfig" v-model.trim="formValidate.after_change_content" /> -->
<Card :bordered="false" dis-hover class="ivu-mt">
<i-quill
v-model="formValidate.after_change_content"
:height="400"
style="width:700px"
v-paste="handleImg"
/>
<Divider />
<!-- <Button @click="handleAddText">增加文本</Button>
<Button @click="handleAddImg" class="ivu-ml">增加图片</Button>-->
<!-- <textarea id="abc" cols="30" rows="10" v-paste="handleImg"></textarea> -->
</Card>
</FormItem>
</Row>
<Process ref="userProcess" schemaIdVal="d0cdafe3-2341-4499-a4f5-278ef0f30740" />
</Form>
</div>
</div>
<Department
:show.sync="showDeptTree"
:value.sync="formValidate.executive_branch_id"
:text.sync="formValidate.executive_branch"
:isAdd="false"
/>
</div>
<Department
:show.sync="showDeptTree"
:value.sync="formValidate.executive_branch_id"
:text.sync="formValidate.executive_branch"
:isAdd="false"
/>
</div>
<div slot="footer">
<Button type="text" size="large" @click="saveCancelModel">取消</Button>
<Button type="primary" size="large" @click="modalOk">保存</Button>
<Checkbox v-show="submitShow" v-model="checked" class="ml10" label="送审">送审</Checkbox>
</div>
<changeSendReview ref="changeSendReview"></changeSendReview>
</Modal>
<div slot="footer">
<Button type="text" size="large" @click="saveCancelModel">取消</Button>
<Button type="primary" size="large" @click="modalOk">保存</Button>
<Checkbox v-show="submitShow" v-model="checked" class="ml10" label="送审">送审</Checkbox>
</div>
<changeSendReview ref="changeSendReview"></changeSendReview>
</Modal>
</template>
<script>
import Department from '@/components/modalTree/department.vue'
import service from '@/plugins/request'
import VueUeditorWrap from 'vue-ueditor-wrap'
import Department from "@/components/modalTree/department.vue";
import service from "@/plugins/request";
import VueUeditorWrap from "vue-ueditor-wrap";
import iQuill from "@/components/quill";
import Process from '@/components/orderOperator/process'
import changeSendReview from './changeSendReview.vue'
import Process from "@/components/orderOperator/process";
import changeSendReview from "./changeSendReview.vue";
export default {
components: {
Department,VueUeditorWrap,iQuill,Process,changeSendReview
},
name: 'routingchangeorder',
Department,
VueUeditorWrap,
iQuill,
Process,
changeSendReview
},
name: "routingchangeorder",
data() {
return {
submitShow: true,//送审按钮显隐
submitShow: true, //送审按钮显隐
checked: true, //送审选择框
formExamine: {},
rules: {
approveUser: [{ required: true, message: '必填', trigger: 'blur' }]
approveUser: [{ required: true, message: "必填", trigger: "blur" }]
},
data3:[],
userlist:[],
data3: [],
userlist: [],
value: `<h1>iView Admin Pro</h1>`,
showDeptTree: false,
modelChange:false,
flag:0,
routing_header_Id:'',
changeorder_code:'',
modelChange: false,
flag: 0,
routing_header_Id: "",
changeorder_code: "",
degreeList: {},
components: {},
ruleValidate: {
......@@ -213,7 +239,7 @@ export default {
// number:[{required: true,type:'number'}],
//name:[{required: true}]
},
phone: 'apple',
phone: "apple",
taskTypeList: [], //任务类型
handlingopinionList: [], //研制方式
versionList: [], //版本
......@@ -223,60 +249,61 @@ export default {
// 初始容器高度
initialFrameHeight: 480,
// 初始容器宽度
initialFrameWidth: '100%',
initialFrameWidth: "100%",
// 上传文件接口, 报错属于正常,若需要验证可使用(也是盗大神的)http://35.201.165.105:8000/controller.php
// 调试完毕打包上线则切换回/static/UEditor/php/controller.php即可,不用做其他处理
// serverUrl:fileUrl+'/upload_ueditor/?token=Bearer ' + window.sessionStorage.getItem('token'),
serverUrl:"http://39.100.148.168:10080/config?token=Bearer "+window.sessionStorage.getItem('token'),
//serverUrl:"http://192.168.0.101:10080/config?token=Bearer "+window.sessionStorage.getItem('token'),
// serverUrl:fileUrl+'/upload_ueditor/?token=Bearer ' + window.sessionStorage.getItem('token'),
serverUrl:
"http://39.100.148.168:10080/config?token=Bearer " +
window.sessionStorage.getItem("token")
//serverUrl:"http://192.168.0.101:10080/config?token=Bearer "+window.sessionStorage.getItem('token'),
},
formValidate: {
id: 0,
changeorder_code:'',
changeorder_code: "",
routing_header_Id: 0,
propose_user_id: 0,
propose_user_name: '',
propose_user_name: "",
department_id: 0,
department_name: '',
technical_name: '',
technical_code: '',
changed_version: '',
department_name: "",
technical_name: "",
technical_code: "",
changed_version: "",
quantity: 0,
print_data: '',
executive_branch: '',
print_data: "",
executive_branch: "",
executive_branch_id: 0,
handling_opinions_id: 0,
handling_opinions: '',
before_change_content:'',
after_change_content: '',
change_reason:'',
effective_date:'',
check_person:'',
approval_person:'',
status:0,
note:'',
},
}
handling_opinions: "",
before_change_content: "",
after_change_content: "",
change_reason: "",
effective_date: "",
check_person: "",
approval_person: "",
status: 0,
note: ""
}
};
},
mounted() {
this.taskTypeList = [
{ name: '五二九纵', value: 1 },
{ name: '五二九横', value: 2 },
{ name: '五二九预', value: 3 }
]
;(this.handlingopinionList = [
{ name: '例外', value: 1 },
{ name: '报废', value: 2 }
{ name: "五二九纵", value: 1 },
{ name: "五二九横", value: 2 },
{ name: "五二九预", value: 3 }
];
(this.handlingopinionList = [
{ name: "例外", value: 1 },
{ name: "报废", value: 2 }
]),
(this.versionList = [
{ name: 'A', value: 1 },
{ name: 'B', value: 2 },
{ name: 'C', value: 2 }
])
{ name: "A", value: 1 },
{ name: "B", value: 2 },
{ name: "C", value: 2 }
]);
},
created() {
// var url = `${workflowUrl}/schema/intend?schemaId=d0cdafe3-2341-4499-a4f5-278ef0f30740`
// service
// .get(
// `${url}`
......@@ -288,7 +315,7 @@ export default {
// })
},
methods: {
handleAddText() {
handleAddText() {
this.value +=
'<p><span style="color: #19be6b;">新增加的内容。</span></p>';
},
......@@ -297,7 +324,6 @@ export default {
'<p><img src="https://file.iviewui.com/dist/2ecd3b0452aa197097d5131afacab7b8.png"></p>';
},
handleImg(e) {
let file = null;
if (
e.clipboardData &&
......@@ -308,194 +334,205 @@ export default {
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file = e.clipboardData.items[0].getAsFile();
let reader = new FileReader();
reader.readAsDataURL(file)
reader.readAsDataURL(file);
setTimeout(() => {
var img = '<img src="' + reader.result + '" alt=""/>';
this.value += img;
console.log("value", this.value);
}, 1000);
new R
new R();
}
},
handleChange (date) {
console.log(date);
this.formValidate.print_data=date;
},
handleChange1 (date) {
console.log(date);
this.formValidate.effective_date=date;
},
handleChange(date) {
console.log(date);
this.formValidate.print_data = date;
},
handleChange1(date) {
console.log(date);
this.formValidate.effective_date = date;
},
selectDepart() {
this.showDeptTree = true
},
this.showDeptTree = true;
},
quotationBox() {
this.$refs.generateQuotation.modalShow = true
this.$refs.generateQuotation.modalShow = true;
},
previousStep() {
this.modalShow = false
this.modalShow = false;
},
modalOk() {
// let url = `${designUrl}/routingheaderchangeorder/getpaged1`
// service
// .get(`${url}`, {changeorder_code: "JSWJGGD_20200219_15", pageindex:1,pageSize:10 })
// .then((res) => {
// console.log(res)
// this.$refs.changeSendReview.info.changeInfo = res.result.items[0];
// this.$refs.changeSendReview.changeorder_code = "JSWJGGD_20200219_15";
// })
// this.$refs.changeSendReview.modalInfo = true;
var url = `${designUrl}/routingheaderchangeorder/createorupdate`;
if(this.flag==0)
{
let paramsdata = {
"id": "",
"changeorder_code": this.changeorder_code,
"routing_header_Id":this.routing_header_Id,
"propose_user_name": this.formValidate.propose_user_name,
"department_name":this.formValidate.department_name,
"technical_name":this.formValidate.technical_name,
"technical_code":this.formValidate.technical_code,
"changed_version":this.formValidate.changed_version,
"quantity":this.formValidate.quantity,
"print_data":this.formValidate.print_data,
"executive_branch":this.formValidate.executive_branch,
"handling_opinions":this.formValidate.handling_opinions,
"before_change_content":this.formValidate.before_change_content,
"after_change_content":this.formValidate.after_change_content,
"change_reason":this.formValidate.change_reason,
"effective_date":this.formValidate.effective_date,
// "class_id": 0,
// "propose_user_id": 0,
// "department_id": 0,
// "executive_branch_id": 0,
// "handling_opinions_id": 0,
};
console.log(paramsdata);
service.post(`${url}`, {routingHeaderChangeorder: paramsdata}).then(res=>{
if(res.success) {
this.$Message.success('新增成功')
this.modelChange = false;
if(this.checked == true){
let url = `${designUrl}/routingheaderchangeorder/getpaged1`
service
.get(`${url}`, {changeorder_code: this.changeorder_code, pageindex:1,pageSize:10 })
.then((res) => {
console.log(res)
this.$refs.changeSendReview.info.changeInfo = res.result.items[0];
this.$refs.changeSendReview.changeorder_code = this.changeorder_code;
})
this.$refs.changeSendReview.modalInfo = true;
}
}
});
}
else{
let paramsdata = {
"id": this.formValidate.id,
"changeorder_code": this.changeorder_code,
"routing_header_Id":this.routing_header_Id,
"propose_user_name": this.formValidate.propose_user_name,
"department_name":this.formValidate.department_name,
"technical_name":this.formValidate.technical_name,
"technical_code":this.formValidate.technical_code,
"changed_version":this.formValidate.changed_version,
"quantity":this.formValidate.quantity,
"print_data":this.formValidate.print_data,
"executive_branch":this.formValidate.executive_branch,
"handling_opinions":this.formValidate.handling_opinions,
"before_change_content":this.formValidate.before_change_content,
"after_change_content":this.formValidate.after_change_content,
"change_reason":this.formValidate.change_reason,
"effective_date":this.formValidate.effective_date,
"status":this.formValidate.status,
"note":this.formValidate.note,
// "class_id": 0,
// "propose_user_id": 0,
// "department_id": 0,
// "executive_branch_id": 0,
// "handling_opinions_id": 0,
};
console.log(paramsdata);
service.post(`${url}`, {routingHeaderChangeorder: paramsdata}).then(res=>{
if(res.success) {
this.$Message.success('编辑成功')
this.modelChange = false;
this.$emit('getMessage');
if(this.checked == true){
let url = `${designUrl}/routingheaderchangeorder/getpaged1`
service
.get(`${url}`, {changeorder_code: this.changeorder_code, pageindex:1,pageSize:10 })
.then((res) => {
console.log(res)
this.$refs.changeSendReview.info.changeInfo = res.result.items[0];
this.$refs.changeSendReview.changeorder_code = this.changeorder_code;
})
this.$refs.changeSendReview.modalInfo = true;
}
// let url = `${designUrl}/routingheaderchangeorder/getpaged1`
// service
// .get(`${url}`, {changeorder_code: this.changeorder_code, pageindex:1,pageSize:10 })
// .then((res) => {
// console.log(res)
// this.data3 = res.result.items
// console.log(this.data3[0].id)
// let url = `${workflowUrl}/instance/start`
// service
// .post(
// `${url}`,
// {
// idList: [this.data3[0].id],
// schemaId: 'd0cdafe3-2341-4499-a4f5-278ef0f30740',
// operatorIdList: this.userlist,
// data: {},
// userId: 0
// }
// )
// .then((response) => {
// if (response.success) {
// console.log(response)
// }
// })
// })
}
});
modalOk() {
// let url = `${designUrl}/routingheaderchangeorder/getpaged1`
// service
// .get(`${url}`, {changeorder_code: "JSWJGGD_20200219_15", pageindex:1,pageSize:10 })
// .then((res) => {
// console.log(res)
// this.$refs.changeSendReview.info.changeInfo = res.result.items[0];
// this.$refs.changeSendReview.changeorder_code = "JSWJGGD_20200219_15";
// })
// this.$refs.changeSendReview.modalInfo = true;
var url = `${designUrl}/routingheaderchangeorder/createorupdate`;
if (this.flag == 0) {
let paramsdata = {
id: "",
changeorder_code: this.changeorder_code,
routing_header_Id: this.routing_header_Id,
propose_user_name: this.formValidate.propose_user_name,
department_name: this.formValidate.department_name,
technical_name: this.formValidate.technical_name,
technical_code: this.formValidate.technical_code,
changed_version: this.formValidate.changed_version,
quantity: this.formValidate.quantity,
print_data: this.formValidate.print_data,
executive_branch: this.formValidate.executive_branch,
handling_opinions: this.formValidate.handling_opinions,
before_change_content: this.formValidate.before_change_content,
after_change_content: this.formValidate.after_change_content,
change_reason: this.formValidate.change_reason,
effective_date: this.formValidate.effective_date
// "class_id": 0,
// "propose_user_id": 0,
// "department_id": 0,
// "executive_branch_id": 0,
// "handling_opinions_id": 0,
};
console.log(paramsdata);
service
.post(`${url}`, { routingHeaderChangeorder: paramsdata })
.then(res => {
if (res.success) {
this.$Message.success("新增成功");
this.modelChange = false;
if (this.checked == true) {
let url = `${designUrl}/routingheaderchangeorder/getpaged1`;
service
.get(`${url}`, {
changeorder_code: this.changeorder_code,
pageindex: 1,
pageSize: 10
})
.then(res => {
console.log(res);
this.$refs.changeSendReview.info.changeInfo =
res.result.items[0];
this.$refs.changeSendReview.changeorder_code = this.changeorder_code;
});
this.$refs.changeSendReview.modalInfo = true;
}
}
});
} else {
let paramsdata = {
id: this.formValidate.id,
changeorder_code: this.changeorder_code,
routing_header_Id: this.routing_header_Id,
propose_user_name: this.formValidate.propose_user_name,
department_name: this.formValidate.department_name,
technical_name: this.formValidate.technical_name,
technical_code: this.formValidate.technical_code,
changed_version: this.formValidate.changed_version,
quantity: this.formValidate.quantity,
print_data: this.formValidate.print_data,
executive_branch: this.formValidate.executive_branch,
handling_opinions: this.formValidate.handling_opinions,
before_change_content: this.formValidate.before_change_content,
after_change_content: this.formValidate.after_change_content,
change_reason: this.formValidate.change_reason,
effective_date: this.formValidate.effective_date,
status: this.formValidate.status,
note: this.formValidate.note
// "class_id": 0,
// "propose_user_id": 0,
// "department_id": 0,
// "executive_branch_id": 0,
// "handling_opinions_id": 0,
};
console.log(paramsdata);
service
.post(`${url}`, { routingHeaderChangeorder: paramsdata })
.then(res => {
if (res.success) {
this.$Message.success("编辑成功");
this.modelChange = false;
this.$emit("getMessage");
if (this.checked == true) {
let url = `${designUrl}/routingheaderchangeorder/getpaged1`;
service
.get(`${url}`, {
changeorder_code: this.changeorder_code,
pageindex: 1,
pageSize: 10
})
.then(res => {
console.log(res);
this.$refs.changeSendReview.info.changeInfo =
res.result.items[0];
this.$refs.changeSendReview.changeorder_code = this.changeorder_code;
});
this.$refs.changeSendReview.modalInfo = true;
}
// let url = `${designUrl}/routingheaderchangeorder/getpaged1`
// service
// .get(`${url}`, {changeorder_code: this.changeorder_code, pageindex:1,pageSize:10 })
// .then((res) => {
// console.log(res)
// this.data3 = res.result.items
// console.log(this.data3[0].id)
// let url = `${workflowUrl}/instance/start`
// service
// .post(
// `${url}`,
// {
// idList: [this.data3[0].id],
// schemaId: 'd0cdafe3-2341-4499-a4f5-278ef0f30740',
// operatorIdList: this.userlist,
// data: {},
// userId: 0
// }
// )
// .then((response) => {
// if (response.success) {
// console.log(response)
// }
// })
// })
}
});
}
},
upSave() {
// Api.start(this.formExamine.approveUser).then((r) => {
// // this.results = r.result
// })
// let url = `${designUrl}/routingheaderchangeorder/getpaged1`
// service
// .get(`${url}`, {changeorder_code: this.changeorder_code, pageindex:1,pageSize:10 })
// .then((res) => {
// console.log(res)
// this.data3 = res.result.items
// console.log(this.data3[0].id)
// let url = `${workflowUrl}/instance/start`
// service
// .post(
// `${url}`,
// {
// idList: [this.data3[0].id],
// schemaId: 'd0cdafe3-2341-4499-a4f5-278ef0f30740',
// operatorIdList: this.userlist,
// data: {},
// userId: 0
// }
// )
// .then((response) => {
// if (response.success) {
// console.log(response)
// }
// })
// })
upSave() {
// Api.start(this.formExamine.approveUser).then((r) => {
// // this.results = r.result
// })
// let url = `${designUrl}/routingheaderchangeorder/getpaged1`
// service
// .get(`${url}`, {changeorder_code: this.changeorder_code, pageindex:1,pageSize:10 })
// .then((res) => {
// console.log(res)
// this.data3 = res.result.items
// console.log(this.data3[0].id)
// let url = `${workflowUrl}/instance/start`
// service
// .post(
// `${url}`,
// {
// idList: [this.data3[0].id],
// schemaId: 'd0cdafe3-2341-4499-a4f5-278ef0f30740',
// operatorIdList: this.userlist,
// data: {},
// userId: 0
// }
// )
// .then((response) => {
// if (response.success) {
// console.log(response)
// }
// })
// })
},
saveCancelModel() {
this.modelChange = false
},
this.modelChange = false;
}
}
}
};
</script>
.execute_box{
position: relative;
.top_title{
height: 50px;
line-height: 49px;
......@@ -29,7 +31,7 @@
}
.gd_list{
position: absolute;
top: 45%;
top: 40%;
left: 0px;
background: #2680EB;
color: #fff;
......@@ -40,7 +42,7 @@
}
.gn_area{
position: absolute;
top: 45%;
top: 40%;
right: 0px;
background: #515A6E;
color: #fff;
......@@ -79,6 +81,7 @@
.ivu-drawer-left{
width: 370px!important;
.ivu-drawer-content{
height: 100vh;
.ivu-drawer-header{
border: none;
.header {
......@@ -96,6 +99,7 @@
}
.ivu-drawer-body {
padding: 0;
height: calc(100% - 210px);
// .order_title {
// border-bottom: 1px solid #ccc;
// height: 50px;
......@@ -110,7 +114,7 @@
padding: 15px 20px;
}
.card_box{
padding: 0 15px 60px;
padding: 0 15px;
.card_order{
margin: 15px 0;
border-left: 4px solid #ccc;
......@@ -147,8 +151,9 @@
width: 180px!important;
.ivu-drawer-content{
background: #515A6E;
height: 100vh;
.ivu-drawer-body {
padding: 13vh 0;
padding: 9vh 0;
}
li{
line-height: 66px;
......
......@@ -53,14 +53,14 @@
<a class="gd_list" @click="orderlistMode = true">工单列表</a>
<a class="gn_area" @click="functionalMode = true">功能区</a>
<!-- 工单列表 -->
<Drawer placement="left" class="gd_box" :closable="false" v-model="orderlistMode">
<Drawer placement="left" class="gd_box" :closable="false"
:inner="true" :transfer="false" v-model="orderlistMode">
<div slot="header">
<div class="header">
<span class="gd_tt">工单列表</span>
<a class="openAll"><Icon type="ios-list" size="18" /> 展开全部列表</a>
</div>
<div class="select_t">
<!-- <Icon type="md-arrow-dropright" /> -->
<Select v-model="odermodel" style="width:100px" @on-change="searchOrder">
<Option v-for="item in oderList" :value="item.value" :key="item.index">{{ item.label }}</Option>
</Select>
......@@ -69,8 +69,8 @@
</div>
<orderlist ref="orderlist"/>
</Drawer>
<!-- title="功能区" -->
<Drawer class="gn_box" :closable="false" v-model="functionalMode">
<!-- title="功能区" -->
<Drawer class="gn_box" :closable="false" :inner="true" :transfer="false" v-model="functionalMode">
<functional ref="functional" />
</Drawer>
</div>
......@@ -85,6 +85,7 @@ export default {
starmodal: true,
orderlistMode:false,
functionalMode:false,
odermodel:'全部',
oderList:[
{
value: '全部',
......
import Api from '@/plugins/request'
export default {
index: `${routeUrl}/mesorder/pagedcompletedorders1`,
index: `${PlanUrl}/mesorder/pagedcompletedorders1`,
paged(params) {
return Api.post(`${routeUrl}/mesorder/pagedcompletedorders1`, params); //已开具和未开具列表
return Api.post(`${PlanUrl}/mesorder/pagedcompletedorders1`, params); //已开具和未开具列表
},
ordercertificate(params) {
return Api.post(`${certificateUrl}/productcertificate/ordercertificatesummary`, params); //查看所有合格证列表
......@@ -11,7 +11,7 @@ export default {
return Api.post(`${certificateUrl}/productcertificate/createcertianditems`, params); //产品合格证保存
},
get(params) {
return Api.get(`${routeUrl}/orderproductcode/getbyorderid`, params); //根据订单id返回产品编号
return Api.get(`${PlanUrl}/orderproductcode/getbyorderid`, params); //根据订单id返回产品编号
},
getCertificate(params) {
return Api.get(`${certificateUrl}/productcertificate/certificate`, params); //单个合格证详情
......
......@@ -249,25 +249,24 @@ export default {
});
},
handleImg(e) {
console.warn(e);
// let file = null
// if (
// e.clipboardData &&
// e.clipboardData.items[0] &&
// e.clipboardData.items[0].type &&
// e.clipboardData.items[0].type.indexOf('image') > -1
// ) {
// //这里就是判断是否有粘贴进来的文件且文件为图片格式
// file = e.clipboardData.items[0].getAsFile()
// let reader = new FileReader()
// reader.readAsDataURL(file)
// setTimeout(() => {
// var img = '<img src="' + reader.result + '" alt=""/>'
// this.bugForm.content += img
// }, 1000)
let file = null
if (
e.clipboardData &&
e.clipboardData.items[0] &&
e.clipboardData.items[0].type &&
e.clipboardData.items[0].type.indexOf('image') > -1
) {
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file = e.clipboardData.items[0].getAsFile()
let reader = new FileReader()
reader.readAsDataURL(file)
setTimeout(() => {
var img = '<img src="' + reader.result + '" alt=""/>'
this.entity.taskContent += img
}, 1000)
// // new R
// }
// new R
}
},
l(key) {
key = "routing_detail" + "." + key;
......
......@@ -157,6 +157,26 @@ export default {
handleClose() {
this.$emit("on-close");
},
handleImg(e) {
let file = null
if (
e.clipboardData &&
e.clipboardData.items[0] &&
e.clipboardData.items[0].type &&
e.clipboardData.items[0].type.indexOf('image') > -1
) {
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file = e.clipboardData.items[0].getAsFile()
let reader = new FileReader()
reader.readAsDataURL(file)
setTimeout(() => {
var img = '<img src="' + reader.result + '" alt=""/>'
this.entity.taskContent += img
}, 1000)
// new R
}
},
l(key) {
key = "routing_detail" + "." + key;
return this.$t(key);
......
......@@ -165,26 +165,25 @@ export default {
}
});
},
handleImg(e) {
console.warn(e)
// let file = null
// if (
// e.clipboardData &&
// e.clipboardData.items[0] &&
// e.clipboardData.items[0].type &&
// e.clipboardData.items[0].type.indexOf('image') > -1
// ) {
// //这里就是判断是否有粘贴进来的文件且文件为图片格式
// file = e.clipboardData.items[0].getAsFile()
// let reader = new FileReader()
// reader.readAsDataURL(file)
// setTimeout(() => {
// var img = '<img src="' + reader.result + '" alt=""/>'
// this.bugForm.content += img
// }, 1000)
handleImg(e) {
let file = null
if (
e.clipboardData &&
e.clipboardData.items[0] &&
e.clipboardData.items[0].type &&
e.clipboardData.items[0].type.indexOf('image') > -1
) {
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file = e.clipboardData.items[0].getAsFile()
let reader = new FileReader()
reader.readAsDataURL(file)
setTimeout(() => {
var img = '<img src="' + reader.result + '" alt=""/>'
this.entity.stepContent += img
}, 1000)
// // new R
// }
// new R
}
},
handleClose() {
this.$emit("on-close");
......
......@@ -161,26 +161,25 @@ export default {
}
});
},
handleImg(e) {
console.warn(e)
// let file = null
// if (
// e.clipboardData &&
// e.clipboardData.items[0] &&
// e.clipboardData.items[0].type &&
// e.clipboardData.items[0].type.indexOf('image') > -1
// ) {
// //这里就是判断是否有粘贴进来的文件且文件为图片格式
// file = e.clipboardData.items[0].getAsFile()
// let reader = new FileReader()
// reader.readAsDataURL(file)
// setTimeout(() => {
// var img = '<img src="' + reader.result + '" alt=""/>'
// this.bugForm.content += img
// }, 1000)
handleImg(e) {
let file = null
if (
e.clipboardData &&
e.clipboardData.items[0] &&
e.clipboardData.items[0].type &&
e.clipboardData.items[0].type.indexOf('image') > -1
) {
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file = e.clipboardData.items[0].getAsFile()
let reader = new FileReader()
reader.readAsDataURL(file)
setTimeout(() => {
var img = '<img src="' + reader.result + '" alt=""/>'
this.entity.stepContent += img
}, 1000)
// // new R
// }
// new R
}
},
handleClose() {
this.$emit("on-close");
......
<template>
<Form ref="form" :model="entity" :rules="rules" :label-width="90">
<Row>
<Col :span="12">
<FormItem :label="l('routingHeaderId')" prop="routingHeaderId">
<InputNumber v-model="entity.routingHeaderId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('classId')" prop="classId">
<InputNumber v-model="entity.classId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('proposeUserId')" prop="proposeUserId">
<InputNumber v-model="entity.proposeUserId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('proposeUserName')" prop="proposeUserName">
<Input v-model="entity.proposeUserName"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('departmentId')" prop="departmentId">
<InputNumber v-model="entity.departmentId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('departmentName')" prop="departmentName">
<Input v-model="entity.departmentName"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('technicalName')" prop="technicalName">
<Input v-model="entity.technicalName"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('technicalCode')" prop="technicalCode">
<Input v-model="entity.technicalCode"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('changedVersion')" prop="changedVersion">
<Input v-model="entity.changedVersion"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('quantity')" prop="quantity">
<InputNumber v-model="entity.quantity"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('printData')" prop="printData">
<Input v-model="entity.printData"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('executiveBranch')" prop="executiveBranch">
<Input v-model="entity.executiveBranch"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('executiveBranchId')" prop="executiveBranchId">
<InputNumber v-model="entity.executiveBranchId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('handlingOpinionsId')" prop="handlingOpinionsId">
<InputNumber v-model="entity.handlingOpinionsId"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('handlingOpinions')" prop="handlingOpinions">
<Input v-model="entity.handlingOpinions"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('beforeChangeContent')" prop="beforeChangeContent">
<Input v-model="entity.beforeChangeContent"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('afterChangeContent')" prop="afterChangeContent">
<Input v-model="entity.afterChangeContent"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('changeorderCode')" prop="changeorderCode">
<Input v-model="entity.changeorderCode"></Input>
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('changeReason')" prop="changeReason">
<Input v-model="entity.changeReason" type="textarea" :rows="5"></Input>
</FormItem>
</Col>
<Col :span="12">
<FormItem :label="l('effectiveDate')" prop="effectiveDate">
<Input v-model="entity.effectiveDate"></Input>
</FormItem>
</Col>
<Col :span="12">
<div>
<Form ref="form" :model="entity" :rules="rules" :label-width="110">
<Row>
<Col span="8">
<FormItem :label="l('changeorderCode')" prop="changeorderCode">
<Input v-model="entity.changeorderCode" readonly></Input>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('printData')" prop="printData">
<DatePicker type="date" v-model="entity.printData" style="width:100%" format="yyyy/MM/dd"></DatePicker>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('departmentName')" prop="departmentId">
<departmentSelect v-model="entity.departmentId" @on-change="departChange"></departmentSelect>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('proposeUserName')" prop="proposeUserId">
<UserSelect v-model="entity.proposeUserId"></UserSelect>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('technicalName')" prop="technicalName">
<Input v-model="entity.technicalName"></Input>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('technicalCode')" prop="technicalCode">
<Input v-model="entity.technicalCode"></Input>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('changedVersion')" prop="changedVersion">
<dictionary
code="Process.Routing.version"
v-model="entity.changedVersion"
style="width:100%"
></dictionary>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('quantity')" prop="quantity">
<InputNumber v-model="entity.quantity" style="width:100%"></InputNumber>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('executiveBranch')" prop="executiveBranchId">
<departmentSelect v-model="entity.executiveBranchId"></departmentSelect>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('handlingOpinions')" prop="handlingOpinionsId">
<Dictionary
code="Process.Routing.opinion"
v-model="entity.handlingOpinionsId"
type="radio"
></Dictionary>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('changeReason')" prop="changeReason">
<Input v-model="entity.changeReason"></Input>
</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('effectiveDate')" prop="effectiveDate">
<DatePicker type="date" v-model="entity.effectiveDate" style="width:100%" format="yyyy/MM/dd"></DatePicker>
</FormItem>
</Col>
<Col span="24">
<FormItem :label="l('beforeChangeContent')" prop="beforeChangeContent">
<i-quill v-model="entity.beforeChangeContent" :height="200" border v-paste="handleImg" />
</FormItem>
</Col>
<Col span="24">
<FormItem :label="l('afterChangeContent')" prop="afterChangeContent">
<i-quill v-model="entity.afterChangeContent" :height="200" border v-paste="handleImg" />
</FormItem>
</Col>
<!--
<Col span="12">
<FormItem :label="l('checkPerson')" prop="checkPerson">
<InputNumber v-model="entity.checkPerson"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<Col span="12">
<FormItem :label="l('approvalPerson')" prop="approvalPerson">
<InputNumber v-model="entity.approvalPerson"></InputNumber>
</FormItem>
</Col>
<Col :span="12">
<Col span="12">
<FormItem :label="l('status')" prop="status">
<InputNumber v-model="entity.status"></InputNumber>
</FormItem>
</Col>
<Col :span="24">
<FormItem :label="l('note')" prop="note">
<Input v-model="entity.note" type="textarea" :rows="5"></Input>
<Col span="24">
<FormItem label>
<Process ref="userProcess" schemaIdVal="d0cdafe3-2341-4499-a4f5-278ef0f30740" />
</FormItem>
</Col>
</Row>
<FormItem>
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>
<Button @click="handleClose" class="ml20">取消</Button>
</FormItem>
</Form>
-->
</Row>
<Row>
<Col span="24" style="text-align:right">
<FormItem label>
<Button @click="handleClose" class="ml20">取消</Button>&nbsp;&nbsp;
<Button type="primary" @click="handleSubmit" :disabled="disabled">保存</Button>&nbsp;&nbsp;
<Checkbox v-show="submitShow" v-model="checked" class="ml10" label="送审">送审</Checkbox>
</FormItem>
</Col>
</Row>
</Form>
<changeSendReview ref="changeSendReview"></changeSendReview>
</div>
</template>
<script>
import Api from "./api";
import iQuill from "@/components/quill";
import changeSendReview from "./changeSendReview.vue";
export default {
name: "Add",
components: { iQuill, changeSendReview },
data() {
return {
disabled: false,
submitShow: true, //送审按钮显隐
checked: true, //送审选择框
entity: {
routingHeaderId: null,
classId: null,
......@@ -144,7 +141,7 @@ export default {
departmentName: "",
technicalName: "",
technicalCode: "",
changedVersion: "",
changedVersion: null,
quantity: null,
printData: "",
executiveBranch: "",
......@@ -171,21 +168,50 @@ export default {
eid: Number
},
mounted() {
if (this.eid > 0) {
this.load(this.eid);
}
// if (this.eid > 0) {
// this.load(this.eid);
// }
this.loadCode();
},
methods: {
loadCode() {//生成更改单编号
let parma = {
code: "JSWJGGD"
};
Api.GetCodeByType(parma)
.then(res => {
this.entity.changeorderCode = res.result;
})
.cathc(err => {
this.$Message.error("数据连接错误");
});
},
handleSubmit() {
this.$refs.form.validate(v => {
if (v) {
this.disabled = true;
this.entity.handlingOpinions=this.entity.handlingOpinionsId
Api.create(this.entity)
.then(r => {
this.disabled = false;
if (r.success) {
this.$Message.success("保存成功");
this.$emit("on-ok");
if (this.checked) {
let params = {
changeorder_code: this.entity.changeorderCode,
pageindex: 1,
pageSize: 10
};
Api.getpaged1(params).then(res => {
this.$refs.changeSendReview.info.changeInfo =
res.result.items[0];
this.$refs.changeSendReview.changeorder_code = this.entity.changeorderCode;
});
this.$refs.changeSendReview.modalInfo = true;
}
} else {
this.$Message.error("保存失败");
}
......@@ -207,6 +233,32 @@ export default {
this.entity.id = 0;
});
},
handleImg(e) {
console.warn(e);
// let file = null
// if (
// e.clipboardData &&
// e.clipboardData.items[0] &&
// e.clipboardData.items[0].type &&
// e.clipboardData.items[0].type.indexOf('image') > -1
// ) {
// //这里就是判断是否有粘贴进来的文件且文件为图片格式
// file = e.clipboardData.items[0].getAsFile()
// let reader = new FileReader()
// reader.readAsDataURL(file)
// setTimeout(() => {
// var img = '<img src="' + reader.result + '" alt=""/>'
// this.bugForm.content += img
// }, 1000)
// // new R
// }
},
departChange(v,items)
{
this.entity.departmentId=v
this.entity.departmentName=items.name
},
l(key) {
key = "routing_header_changeorder" + "." + key;
return this.$t(key);
......
......@@ -4,6 +4,12 @@ export default {
paged(params) {
return Api.post(`${technologyUrl}routingheaderchangeorder/paged`, params);
},
getpaged1(params) {//获取审批流程
return Api.get(`${designUrl}/routingheaderchangeorder/getpaged1`, params);
},
GetCodeByType(params) {//获取工艺更改单号
return Api.get(`${designUrl}/routingheader/GetCodeByType`, params);
},
get(params) {
return Api.get(`${technologyUrl}routingheaderchangeorder/get`, params);
},
......
<template>
<div class="detail">
<Row>
<Filed span="12" :name="'工艺更改单'">{{info.changeInfo.changeorder_code}}</Filed>
<Filed span="12" :name="'提出人'">{{info.changeInfo.propose_user_name}}</Filed>
<Filed span="12" :name="'申请部门'">{{info.changeInfo.department_name}}</Filed>
<Filed span="12" :name="'技术文件名称'">{{info.changeInfo.technical_name}}</Filed>
<Filed span="12" :name="'技术文件编号'">{{info.changeInfo.technical_code}}</Filed>
<Filed span="12" :name="'执行部门'">{{info.changeInfo.executive_branch}}</Filed>
<Filed span="12" :name="'数量'">{{info.changeInfo.quantity}}</Filed>
<Filed span="12" :name="'发行日期'">{{info.changeInfo.print_data}}</Filed>
<Filed span="12" :name="'更改原因'">{{info.changeInfo.change_reason}}</Filed>
<Filed span="12" :name="'有效日期'">{{info.changeInfo.effective_date}}</Filed>
<Filed span="12" :name="'更改后版本号'">
<state
code="Process.Routing.version"
:value="info.changeInfo.changed_version+''"
type="text"
></state>
</Filed>
<Filed span="12" :name="'在制品意见'">
<state
code="Process.Routing.opinion"
:value="info.changeInfo.handling_opinions+''"
type="text"
></state>
</Filed>
</Row>
</div>
</template>
<script>
export default {
name: "changeInfos",
props: {
info:Object,
default:{},
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
data() {
return {};
},
methods: {
l(key) {
key = "orderInfo" + "." + key;
return this.$t(key);
}
}
};
</script>
<style lang="less">
.detail {
display: table;
border-collapse: collapse;
.ivu-row {
display: table-row;
.filed-col {
display: table-cell;
margin: 0 0 -1px 0;
line-height: 30px;
box-sizing: border-box;
.label {
background: #e8eaf1;
display: inline-block;
width: 120px;
text-align: right;
padding: 0 5px;
}
}
}
}
</style>
\ No newline at end of file
<template>
<Modal
v-model="modalInfo"
title="工艺更改单送审"
width="800"
:mask-closable="false"
:scrollable="true"
fullscreen
>
<div style="width:80%;margin:0 auto">
<changeInfos v-if="info.status" :info="info"></changeInfos>
<Process ref="userProcess" schemaIdVal="d0cdafe3-2341-4499-a4f5-278ef0f30740" />
</div>
<div slot="footer">
<Button @click="modalInfo = false">取消</Button>
<Button type="primary" @click="upSave">确定送审</Button>
</div>
<Modal
v-model="modalchangeInfo"
title="送审提示"
width="800"
:mask-closable="false"
:scrollable="true"
>
<h2 class="center">确定送审该工艺更改单吗?</h2>
<div slot="footer">
<Button @click="modalchangeInfo = false">取消</Button>
<Button type="primary" @click="upSave1">确定</Button>
</div>
</Modal>
</Modal>
</template>
<script>
import changeInfos from "./changeInfos.vue";
import Process from "@/components/orderOperator/process";
import Api from "./api";
export default {
name: "changeSendReview",
components: {
changeInfos,
Process
},
data() {
return {
modalchangeInfo: false,
modalInfo: false,
data3: [],
userlist: [],
changeorder_code: "",
loading: false,
info: {
status: true,
changeInfo: []
},
dataListRetrunNew: {
schemaId: "d0cdafe3-2341-4499-a4f5-278ef0f30740", //schemaId
idList: [], //id List
codeList: [], //编号List
operatorIdList: [] //操作员id
},
operatorIdList: [] //操作员id
};
},
created() {},
mounted() {},
methods: {
upSave() {
this.modalchangeInfo = true;
},
upSave1() {
let parmas = {
changeorder_code: this.changeorder_code,
pageindex: 1,
pageSize: 10
};
Api.getpaged1(parmas).then(res => {
this.data3 = res.result.items;
let operatorIdList = this.returnDataList();
let itemCode = this.changeorder_code;
this.dataListRetrunNew.idList = [];
this.dataListRetrunNew.codeList = [];
this.dataListRetrunNew.idList.push(this.data3[0].id);
this.dataListRetrunNew.codeList.push(itemCode);
this.dataListRetrunNew.operatorIdList = operatorIdList;
this.$http.order.batchstart(this.dataListRetrunNew).then(response => {
if (response.success) {
this.$Message.info("工艺更改单送审成功!");
} else {
this.$Message.error("送审失败!");
}
this.modalInfo = false;
this.modalchangeInfo = false;
});
});
},
returnDataList() {
let ues = this.$refs.userProcess;
this.operatorIdList = ues.immutData;
return this.operatorIdList;
}
}
};
</script>
......@@ -180,6 +180,27 @@ export default {
handleClose() {
this.$emit("on-close");
},
handleImg(e) {
console.warn(e);
// let file = null
// if (
// e.clipboardData &&
// e.clipboardData.items[0] &&
// e.clipboardData.items[0].type &&
// e.clipboardData.items[0].type.indexOf('image') > -1
// ) {
// //这里就是判断是否有粘贴进来的文件且文件为图片格式
// file = e.clipboardData.items[0].getAsFile()
// let reader = new FileReader()
// reader.readAsDataURL(file)
// setTimeout(() => {
// var img = '<img src="' + reader.result + '" alt=""/>'
// this.bugForm.content += img
// }, 1000)
// // new R
// }
},
l(key) {
key = "routing_header_changeorder" + "." + key;
return this.$t(key);
......
......@@ -18,7 +18,7 @@
<Button type="primary" @click="add">新增</Button>
</template>
</DataGrid>
<Modal v-model="modal" :title="title" width="1200" footer-hide>
<Modal v-model="modal" :title="title" width="1200" footer-hide scrollable>
<component :is="detail" :eid="curId" @on-close="cancel" @on-ok="ok" />
</Modal>
</div>
......@@ -74,7 +74,8 @@ export default {
title: this.l("proposeUserName"),
align: "left",
high: true,
type: "user"
type: "user",
width: 140,
},
{
key: "technicalName",
......@@ -90,54 +91,63 @@ export default {
easy: true,
high: true
},
{
key: "checkPerson",
title: this.l("checkPerson"),
align: "left",
high: true
},
// {
// key: "checkPerson",
// title: this.l("checkPerson"),
// align: "left",
// high: true,
// type:'user'
// },
{
key: "quantity",
title: this.l("quantity"),
align: "left",
high: true
align: "right",
high: true,
width: 100,
},
{
key: "status",
title: this.l("status"),
align: "center",
high: true,
width: 100,
code: "unProduct.repairstatus"
},
{ key: "status", title: this.l("status"), align: "left", high: true },
{
key: "creationTime",
title: this.l("creationTime"),
hide: true,
align: "left",
hide:true,
hide: true
},
{
key: "creatorUserId",
title: this.l("creatorUserId"),
hide: true,
align: "left",
hide:true,
type:'user',
hide: true,
type: "user"
},
{
key: "lastModificationTime",
title: this.l("lastModificationTime"),
hide: true,
align: "left",
hide:true,
hide: true
},
{
key: "lastModifierUserId",
title: this.l("lastModifierUserId"),
hide: true,
align: "left",
hide:true,
type:'user',
hide: true,
type: "user"
},
{
title: "操作",
key: "action",
width: 140,
align: "center",
width: 120,
align: "left",
render: (h, params) => {
return h("div", { class: "action" }, [
h(
......@@ -155,7 +165,7 @@ export default {
attrs: { oprate: "edit" },
on: { click: () => this.edit(params.row.id) }
},
"编辑"
params.row.status==1?"编辑":''
),
h(
"op",
......@@ -163,7 +173,7 @@ export default {
attrs: { oprate: "delete" },
on: { click: () => this.remove(params.row.id) }
},
"删除"
params.row.status==1?"删除":""
)
]);
}
......
<template>
<Form ref="form" :model="condition" :label-width="110">
<Form ref="form" :model="condition" :label-width="120">
<Row>
<Col :span="12" v-if="condition.id.show">
<FormItem :label="l('id')" prop="id">
......@@ -11,24 +11,26 @@
<Input v-model="condition.routingHeaderId.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.classId.show">
<FormItem :label="l('classId')" prop="classId">
<Input v-model="condition.classId.value"></Input>
<Col :span="12" v-if="condition.changeorderCode.show">
<FormItem :label="l('changeorderCode')" prop="changeorderCode">
<Input v-model="condition.changeorderCode.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.proposeUserId.show">
<FormItem :label="l('proposeUserId')" prop="proposeUserId">
<Input v-model="condition.proposeUserId.value"></Input>
<Col :span="12" v-if="condition.printData.show">
<FormItem :label="l('printData')" prop="printData">
<DatePicker type="daterange" v-model="condition.printData.value" style="width:100%"></DatePicker>
</FormItem>
</Col>
<Col :span="12" v-if="condition.proposeUserName.show">
<FormItem :label="l('proposeUserName')" prop="proposeUserName">
<Input v-model="condition.proposeUserName.value"></Input>
<Col :span="12" v-if="condition.classId.show">
<FormItem :label="l('classId')" prop="classId">
<Input v-model="condition.classId.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.departmentId.show">
<FormItem :label="l('departmentId')" prop="departmentId">
<Input v-model="condition.departmentId.value"></Input>
<FormItem :label="l('departmentName')" prop="departmentId">
<departmentSelect v-model="condition.departmentId.value"></departmentSelect>
</FormItem>
</Col>
<Col :span="12" v-if="condition.departmentName.show">
......@@ -36,6 +38,16 @@
<Input v-model="condition.departmentName.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.proposeUserId.show">
<FormItem :label="l('proposeUserName')" prop="proposeUserId">
<UserSelect v-model="condition.proposeUserId.value"></UserSelect>
</FormItem>
</Col>
<Col :span="12" v-if="condition.proposeUserName.show">
<FormItem :label="l('proposeUserName')" prop="proposeUserName">
<Input v-model="condition.proposeUserName.value"></Input>
</FormItem>
</Col>
<Col :span="12" v-if="condition.technicalName.show">
<FormItem :label="l('technicalName')" prop="technicalName">
<Input v-model="condition.technicalName.value"></Input>
......@@ -48,7 +60,11 @@
</Col>
<Col :span="12" v-if="condition.changedVersion.show">
<FormItem :label="l('changedVersion')" prop="changedVersion">
<Input v-model="condition.changedVersion.value"></Input>
<dictionary
code="Process.Routing.version"
v-model="condition.changedVersion.value"
style="width:100%"
></dictionary>
</FormItem>
</Col>
<Col :span="12" v-if="condition.quantity.show">
......@@ -62,13 +78,13 @@
</FormItem>
</Col>
<Col :span="12" v-if="condition.executiveBranchId.show">
<FormItem :label="l('executiveBranchId')" prop="executiveBranchId">
<Input v-model="condition.executiveBranchId.value"></Input>
<FormItem :label="l('executiveBranch')" prop="executiveBranchId">
<departmentSelect v-model="condition.executiveBranchId.value"></departmentSelect>
</FormItem>
</Col>
<Col :span="12" v-if="condition.handlingOpinionsId.show">
<FormItem :label="l('handlingOpinionsId')" prop="handlingOpinionsId">
<Input v-model="condition.handlingOpinionsId.value"></Input>
<FormItem :label="l('handlingOpinions')" prop="handlingOpinionsId">
<Dictionary code="Process.Routing.opinion" v-model="condition.handlingOpinionsId.value" ></Dictionary>
</FormItem>
</Col>
<Col :span="12" v-if="condition.handlingOpinions.show">
......@@ -83,12 +99,12 @@
</Col>
<Col :span="12" v-if="condition.checkPerson.show">
<FormItem :label="l('checkPerson')" prop="checkPerson">
<Input v-model="condition.checkPerson.value"></Input>
<UserSelect v-model="condition.checkPerson.value"></UserSelect>
</FormItem>
</Col>
<Col :span="12" v-if="condition.approvalPerson.show">
<FormItem :label="l('approvalPerson')" prop="approvalPerson">
<Input v-model="condition.approvalPerson.value"></Input>
<UserSelect v-model="condition.approvalPerson.value"></UserSelect>
</FormItem>
</Col>
<Col :span="12" v-if="condition.status.show">
......@@ -96,29 +112,26 @@
<Input v-model="condition.status.value"></Input>
</FormItem>
</Col>
<Col :span="24" v-if="condition.note.show">
<FormItem :label="l('note')" prop="note">
<Input v-model="condition.note.value"></Input>
</Row>
<Row>
<Col :span="12" v-if="condition.creatorUserId.show">
<FormItem :label="$t('creatorUserId')" prop="creatorUserId">
<UserSelect v-model="condition.creatorUserId.value"></UserSelect>
</FormItem>
</Col>
<Col :span="12" v-if="condition.creationTime.show">
<FormItem :label="$t('creationTime')" prop="creationTime">
<DatePicker type="daterange" v-model="condition.creationTime.value"></DatePicker>
<DatePicker type="daterange" v-model="condition.creationTime.value" style="width:100%"></DatePicker>
</FormItem>
</Col>
<Col :span="12" v-if="condition.creatorUserId.show">
<FormItem :label="$t('creatorUserId')" prop="creatorUserId">
<Input v-model="condition.creatorUserId.value"></Input>
<Col :span="12" v-if="condition.lastModifierUserId.show">
<FormItem :label="$t('lastModifierUserId')" prop="lastModifierUserId">
<UserSelect v-model="condition.lastModifierUserId.value"></UserSelect>
</FormItem>
</Col>
<Col :span="12" v-if="condition.lastModificationTime.show">
<FormItem :label="$t('lastModificationTime')" prop="lastModificationTime">
<DatePicker type="daterange" v-model="condition.lastModificationTime.value"></DatePicker>
</FormItem>
</Col>
<Col :span="12" v-if="condition.lastModifierUserId.show">
<FormItem :label="$t('lastModifierUserId')" prop="lastModifierUserId">
<Input v-model="condition.lastModifierUserId.value"></Input>
<DatePicker type="daterange" v-model="condition.lastModificationTime.value" style="width:100%"></DatePicker>
</FormItem>
</Col>
</Row>
......@@ -134,7 +147,6 @@ export default {
id: { op: "Equal", value: null, show: false },
routingHeaderId: { op: "Equal", value: null, show: false },
classId: { op: "Equal", value: null, show: false },
proposeUserId: { op: "Equal", value: null, show: true },
proposeUserName: { op: "Equal", value: null, show: false },
departmentId: { op: "Equal", value: null, show: true },
......@@ -146,18 +158,19 @@ export default {
executiveBranch: { op: "Equal", value: null, show: false },
executiveBranchId: { op: "Equal", value: null, show: true },
handlingOpinionsId: { op: "Equal", value: null, show: true },
handlingOpinions: { op: "Equal", value: null, show: true },
changeReason: { op: "Equal", value: null, show: true },
handlingOpinions: { op: "Equal", value: null, show: false },
changeReason: { op: "Equal", value: null, show: false },
checkPerson: { op: "Equal", value: null, show: true },
approvalPerson: { op: "Equal", value: null, show: true },
status: { op: "Equal", value: null, show: true },
status: { op: "Equal", value: null, show: false },
note: { op: "Equal", value: null, show: true },
creationTime: { op: "Range", value: null, show: true },
creationTime: { op: "Range", value: null, show: true },
creatorUserId: { op: "Equal", value: null, show: true },
lastModificationTime: { op: "Range", value: null, show: true },
lastModifierUserId: { op: "Equal", value: null, show: true },
changeorderCode: { op: "Equal", value: null, show: true },
printData: { op: "Range", value: null, show: true }
}
};
},
......
......@@ -232,7 +232,8 @@ export default {
key: "creatorUserId",
title: this.$t("creatorUserId"),
align: "left",
hide: true
hide: true,
type:"user"
},
{
key: "lastModificationTime",
......@@ -244,7 +245,8 @@ export default {
key: "lastModifierUserId",
title: this.$t("lastModifierUserId"),
align: "left",
hide: true
hide: true,
type:"user"
},
{
title: "操作",
......
<template>
<div>
<div>
<ResourceSelect v-model="model" @on-change="change"></ResourceSelect>
<p>{{model}}</p>
<p>{{text}}</p>
<Button @click="set">赋值</Button>
<ProductSelect v-model="product" @on-change="pchange"></ProductSelect>
<p>{{product}}</p>
<Button @click="setp">赋值</Button>
</div>
<p>{{product}}</p>
<Button @click="setp">赋值</Button>
<p>
<TreeNode :data="result"></TreeNode>
</p>
<p>
<Tree :data="result"></Tree>
</p>
</div>
</template>
<script>
import ResourceSelect from "@/components/page/resourceSelect"
export default {
components:{ResourceSelect},
name: '',
data() {
return {
model:[],
text:"",
product:"",
import ResourceSelect from "@/components/page/resourceSelect";
import TreeNode from "./treeNode";
export default {
components: { TreeNode },
name: "",
data() {
return {
model: [],
result: [
{
title: "五二九纵",
id: 41,
expand: false,
selected: false,
checked: false,
upId: 0,
rootId: 0,
children: [
{
title: "气源分配器壳体",
id: 82,
expand: false,
selected: false,
checked: false,
upId: 0,
rootId: 0,
children: [
{
title: "truio",
id: 83,
expand: false,
selected: false,
checked: false,
upId: 82,
rootId: 0,
children: [],
isProduct: 1,
productId: 83,
classType: 0,
drawingNo: "34567"
},
{
title: "北京吉普",
id: 84,
expand: false,
selected: false,
checked: false,
upId: 82,
rootId: 0,
children: [],
isProduct: 1,
productId: 84,
classType: 0,
drawingNo: "BJJP-0001"
}
],
isProduct: 1,
productId: 82,
classType: 41,
drawingNo: "TY9-06-0803"
}
],
isProduct: 0,
productId: 0,
classType: 0
},
methods:{
change(v,items){
this.text=items.map(u=>u.label).join('/');
},
set(){
this.model=[ "1", 5 ];
},
pchange(v,item){
// this.text=items.map(u=>u.label).join('/');
if(item.isProduct==0){
this.$Message.error("层级不能选择")
this.product=""
{
title: "北京汽车",
id: 45,
expand: false,
selected: false,
checked: false,
upId: 0,
rootId: 0,
children: [
{
title: "北京吉普",
id: 85,
expand: false,
selected: false,
checked: false,
upId: 0,
rootId: 0,
children: [],
isProduct: 1,
productId: 85,
classType: 45,
drawingNo: "BJJP-0001"
}
},
setp(){
this.prodcut=8;
},
],
isProduct: 0,
productId: 0,
classType: 0
}
],
text: "",
product: ""
};
},
methods: {
change(v, items) {
this.text = items.map(u => u.label).join("/");
},
set() {
this.model = ["1", 5];
},
pchange(v, item) {
// this.text=items.map(u=>u.label).join('/');
if (item.isProduct == 0) {
this.$Message.error("层级不能选择");
this.product = "";
}
},
setp() {
this.prodcut = 8;
}
}
};
</script>
<style lang="less" >
</style>
\ No newline at end of file
<template>
<ul class="treeNode">
<li v-for="(li,i) in list" :key="i">
<span>{{li.title}}</span>
<treeNode v-if="li.children&&li.children.length>0" :data="li.children"></treeNode>
</li>
</ul>
</template>
<script>
export default {
name: "treeNode",
props: {
data: {
type: Array,
default: () => {
return [];
}
}
},
data() {
return {
list: []
};
},
created() {
this.list = this.data;
}
};
</script>
<style lang="less" >
.treeNode {
li {
line-height: 35px;
span:hover {
background-color: royalblue;
}
}
li > ul {
padding-left: 20px;
}
}
</style>
\ No newline at end of file
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