Commit 2066cccd authored by 周远喜's avatar 周远喜

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

parents 3da3304b 29f584a0
...@@ -19,13 +19,19 @@ ...@@ -19,13 +19,19 @@
</div> </div>
<div class="fg"> <div class="fg">
<div class="tree"> <div class="tree">
<Tree :data="data" :render="renderContent" ref="tree" @on-select-change="change"></Tree> <Tree
:data="data"
:render="renderContent"
ref="tree"
@on-select-change="change"
></Tree>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { forEach } from "lodash";
export default { export default {
name: "", name: "",
data() { data() {
...@@ -64,7 +70,24 @@ export default { ...@@ -64,7 +70,24 @@ export default {
}, },
"upId" "upId"
); );
this.list = this.$u.clone(data); let creatorUserId = this.$store.state.userInfo.userId;
console.log(creatorUserId);
let list = this.$u.clone(data);
let newlist = [];
list.filter((e, index) => {
let userIds = [];
let obj = {};
if (e.upId == 0) {
userIds = e.userIds.split(",");
userIds.forEach((v) => {
if (creatorUserId == v) {
newlist.push(e);
}
});
}
});
// console.log(newlist);
this.list = newlist;
}); });
}, },
toggle() { toggle() {
...@@ -124,6 +147,7 @@ export default { ...@@ -124,6 +147,7 @@ export default {
let items = this.$u.clone(this.list); let items = this.$u.clone(this.list);
let expand = this.expand; let expand = this.expand;
let result = []; let result = [];
search(this.keys, items); search(this.keys, items);
function search(keys, data) { function search(keys, data) {
data.map((u) => { data.map((u) => {
......
...@@ -124,7 +124,7 @@ export default { ...@@ -124,7 +124,7 @@ export default {
// pageIndex: 1, // pageIndex: 1,
departmentId: id, departmentId: id,
type: this.type, type: this.type,
roleTitle: this.roleTitle, roleTitle: this.roleTitle, //检验
// pageSize: 0 // pageSize: 0
}; };
if (this.type == 99) { //开发组 if (this.type == 99) { //开发组
......
...@@ -946,6 +946,7 @@ export default { ...@@ -946,6 +946,7 @@ export default {
taskCode: '甲方任务号', taskCode: '甲方任务号',
putintDocmentCode: '甲方投产输入文件(编号)', putintDocmentCode: '甲方投产输入文件(编号)',
technologyDocmentCode: '甲方技术输入文件(编号)', technologyDocmentCode: '甲方技术输入文件(编号)',
productionType:'生产类型'
}, },
mes_part_task_plan_simulate: { mes_part_task_plan_simulate: {
id: '', id: '',
......
<template> <template>
<div style="padding: 0;" class="excute"> <div style="padding: 0;" class="excute">
<DataGrid <DataGrid style="margin-top:2px; margin-bottom: -5px;" :columns="columns" ref="grid" :easy="false" :high="false" :set="false" :border="false" :data="data1" :height="gridHeight" :page="false" :size="size"></DataGrid>
style="margin-top:2px; margin-bottom: -5px;"
:columns="columns"
ref="grid"
:easy="false"
:high="false"
:set="false"
:border="false"
:data="data1"
:height="gridHeight"
:page="false"
:size="size"
></DataGrid>
<Modal v-model="editModal" title="编辑" footer-hide width="800"> <Modal v-model="editModal" title="编辑" footer-hide width="800">
<Edit :row="rowData" @on-close="cancel" @on-option-ok="addOk" /> <Edit :row="rowData" @on-close="cancel" @on-option-ok="addOk" />
</Modal> </Modal>
</div> </div>
</template> </template>
<script> <script>
import Api from "../../aps/api"; import Api from "../../aps/api";
import Edit from "./edit"; import Edit from "./edit";
...@@ -29,7 +18,9 @@ export default { ...@@ -29,7 +18,9 @@ export default {
Add Add
}, },
props: { props: {
rowId: { type: Number } rowId: {
type: Number
}
}, },
data() { data() {
return { return {
...@@ -47,8 +38,10 @@ export default { ...@@ -47,8 +38,10 @@ export default {
curId: 0, curId: 0,
gridHeight: 150, gridHeight: 150,
size: "small", size: "small",
columns: [ columns: [{
{ title: " ", width: 130 }, title: " ",
width: 130
},
{ {
key: "task_seq", key: "task_seq",
title: this.l("task_seq"), title: this.l("task_seq"),
...@@ -109,7 +102,14 @@ export default { ...@@ -109,7 +102,14 @@ export default {
hide: true hide: true
}, },
{ {
key: "first_equip", key: "equip_type",
title: this.l("equip_type"),
align: "left",
easy: true,
high: true
},
{
key: "firsT_EQUIP_CODE",
title: this.l("first_equip"), title: this.l("first_equip"),
align: "left", align: "left",
easy: true, easy: true,
...@@ -282,7 +282,9 @@ export default { ...@@ -282,7 +282,9 @@ export default {
width: 140, width: 140,
align: "center", align: "center",
render: (h, params) => { render: (h, params) => {
return h("div", { class: "action" }, [ return h("div", {
class: "action"
}, [
h("op", { h("op", {
attrs: { attrs: {
icon: "md-create", icon: "md-create",
...@@ -290,7 +292,9 @@ export default { ...@@ -290,7 +292,9 @@ export default {
title: "編輯工序", title: "編輯工序",
oprate: "edit" oprate: "edit"
}, },
on: { click: () => this.edit(params.row) } on: {
click: () => this.edit(params.row)
}
}), }),
h("op", { h("op", {
attrs: { attrs: {
...@@ -300,7 +304,9 @@ export default { ...@@ -300,7 +304,9 @@ export default {
oprate: "delete", oprate: "delete",
msg: "确认要刪除工序吗?" msg: "确认要刪除工序吗?"
}, },
on: { click: () => this.remove(params.row, params.index) } on: {
click: () => this.remove(params.row, params.index)
}
}) })
]); ]);
} }
...@@ -323,7 +329,10 @@ export default { ...@@ -323,7 +329,10 @@ export default {
mounted() { mounted() {
this.loadData(this.rowId); this.loadData(this.rowId);
}, },
async fetch({ store, params }) { async fetch({
store,
params
}) {
await store.dispatch("loadDictionary"); // 加载数据字典 await store.dispatch("loadDictionary"); // 加载数据字典
}, },
methods: { methods: {
...@@ -385,6 +394,7 @@ export default { ...@@ -385,6 +394,7 @@ export default {
} }
}; };
</script> </script>
<style lang="less"> <style lang="less">
.excute table tr th span, .excute table tr th span,
.excute table tr td { .excute table tr td {
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="12">
<FormItem label="首选资源" prop="resourceType"> <FormItem label="首选资源" prop="resource">
<ResourceSelectCode v-model="entity.resource" @on-change="resourceChange"></ResourceSelectCode> <ResourceSelectCode v-model="entity.resource" @on-change="resourceChange"></ResourceSelectCode>
</FormItem> </FormItem>
</Col> </Col>
...@@ -51,10 +51,11 @@ export default { ...@@ -51,10 +51,11 @@ export default {
message: "必填", message: "必填",
trigger: "blur" trigger: "blur"
}], }],
resourceType: [{ resource: [{
required: true, required: true,
message: "请选择首选资源", message: "请选择首选资源",
trigger: "change", trigger: "change",
type: 'array'
}, ], }, ],
}, },
single: false single: false
...@@ -69,10 +70,10 @@ export default { ...@@ -69,10 +70,10 @@ export default {
} }
}, },
methods: { methods: {
load(v) { // load(v) {
this.entity = v; // this.entity = v;
}, // },
handleSubmit() { handleSubmit() {
this.$refs.form.validate(v => { this.$refs.form.validate(v => {
if (v) { if (v) {
...@@ -135,9 +136,9 @@ export default { ...@@ -135,9 +136,9 @@ export default {
this.entity.resourceCode = v[1]; this.entity.resourceCode = v[1];
this.entity.resourceId = items[1].id; this.entity.resourceId = items[1].id;
if (v != null && v.length > 0) { if (v != null && v.length > 0) {
this.rules.resourceType[0].required = false; this.rules.resource[0].required = false;
} else { } else {
this.rules.resourceType[0].required = true; this.rules.resource[0].required = true;
} }
}, },
l(key) { l(key) {
...@@ -160,7 +161,6 @@ export default { ...@@ -160,7 +161,6 @@ export default {
this.entity.resourceCode = v.first_equip; this.entity.resourceCode = v.first_equip;
let code = v.first_equip; let code = v.first_equip;
this.entity.resource = [] this.entity.resource = []
//let code = 'PCZYBZBH_20200804_1'
if (code && code != '') { if (code && code != '') {
this.resources.forEach(e => { this.resources.forEach(e => {
if (e.code == code) { if (e.code == code) {
......
...@@ -211,8 +211,7 @@ export default { ...@@ -211,8 +211,7 @@ export default {
title: this.l("equip_type"), title: this.l("equip_type"),
align: "left", align: "left",
easy: true, easy: true,
high: true, high: true
hide: true
}, },
{ {
key: "first_equip", key: "first_equip",
...@@ -470,8 +469,8 @@ export default { ...@@ -470,8 +469,8 @@ export default {
//编辑工序start---- //编辑工序start----
edit(row) { edit(row) {
this.editModal = true;
this.rowData = row; this.rowData = row;
this.editModal = true;
}, },
//编辑工序end---- //编辑工序end----
......
<template> <template>
<div class="h100 table-content1"> <div class="h100 table-content1">
<p class="mb10"> <p class="mb10">
订单编号:{{mesCodes}} 订单编号:{{ mesCodes }}
<span class="ml20">产品名称:{{productNames}}</span> <span class="ml20">产品名称:{{ productNames }}</span>
<span class="ml20">生产数量:{{counts}}</span> <span class="ml20">生产数量:{{ counts }}</span>
<span class="fr mr20" v-if="false"> <span class="fr mr20" v-if="false">
<a href="javascript:;">出库单</a> <a href="javascript:;">出库单</a>
</span> </span>
...@@ -12,58 +12,120 @@ ...@@ -12,58 +12,120 @@
</span> </span>
</p> </p>
<div class="mb70" v-for="(item,i) in datas" :key="i"> <div class="mb70" v-for="(item, i) in datas" :key="i">
<p class="fwBold">{{item.routingHeader}}------{{item.routingHeaderCode}}</p> <p class="fwBold">
<Table border :columns="cols" :data="item.suport" :ref="'table'+item.routingHeaderId" class="tableCommon" @on-selection-change="selectionChange(i)" @on-select-cancel="selectListCancel" @on-select-all-cancel="selectAllCancel" @on-select="selectList" @on-select-all="selectListAll"> {{ item.routingHeader }}------{{ item.routingHeaderCode }}
</p>
<Table
border
:columns="cols"
:data="item.suport"
:ref="'table' + item.routingHeaderId"
class="tableCommon"
@on-selection-change="selectionChange(i)"
@on-select-cancel="selectListCancel"
@on-select-all-cancel="selectAllCancel"
@on-select="selectList"
@on-select-all="selectListAll"
>
<template slot-scope="{ row, index }" slot="counts"> <template slot-scope="{ row, index }" slot="counts">
<InputNumber :max="row.totalCount-row.applicationNumber" :min="0" v-model="row.count" @on-change="inputChange1(i,row,index)" :disabled="row._disabled" /> <InputNumber
:max="row.totalCount - row.applicationNumber"
:min="0"
v-model="row.count"
@on-change="inputChange1(i, row, index)"
:disabled="row._disabled"
/>
</template> </template>
<template slot-scope="{ row, index }" slot="remarks"> <template slot-scope="{ row, index }" slot="remarks">
<Input type="text" v-model="row.remark" @on-change="inputChange1(i,row,index)" :disabled="row._disabled" /> <Input
type="text"
v-model="row.remark"
@on-change="inputChange1(i, row, index)"
:disabled="row._disabled"
/>
</template> </template>
</Table> </Table>
</div> </div>
<FooterToolbar v-show="footerToolbar" class="ftball pt10"> <FooterToolbar v-show="footerToolbar" class="ftball pt10">
<!--<div class="tip">已选{{selectItems.length}}项</div>--> <!--<div class="tip">已选{{selectItems.length}}项</div>-->
<Form :model="orderForm" :inline="true" :label-width="0" ref="formValidate" :rules="ruleValidate"> <Form
:model="orderForm"
:inline="true"
:label-width="0"
ref="formValidate"
:rules="ruleValidate"
>
<FormItem prop="QuotationFinishDate"> <FormItem prop="QuotationFinishDate">
<DatePicker v-model="orderForm.QuotationFinishDate" type="date" style="color:black" placeholder="请选择齐套日期" @on-change="getTimeQuotationFD"></DatePicker> <DatePicker
v-model="orderForm.QuotationFinishDate"
type="date"
style="color: black"
placeholder="请选择齐套日期"
@on-change="getTimeQuotationFD"
></DatePicker>
</FormItem> </FormItem>
<FormItem l><Button type="primary" class="mr10 ml10" @click="application">申请配套</Button></FormItem> <FormItem l
><Button type="primary" class="mr10 ml10" @click="application"
>申请配套</Button
></FormItem
>
</Form> </Form>
</FooterToolbar> </FooterToolbar>
<Modal v-model="modalAccessoryList" :title="title" fullscreen footer-hide> <Modal v-model="modalAccessoryList" :title="title" fullscreen footer-hide>
<component :is="detailAcc" :eid="orderId" :mesCode="mesCodes" :productName="productNames" :drawnNumber="drawnNumber" :count="counts" @on-close="cancel" @on-ok="onOk" /> <component
:is="detailAcc"
:eid="orderId"
:mesCode="mesCodes"
:productName="productNames"
:drawnNumber="drawnNumber"
:count="counts"
@on-close="cancel"
@on-ok="onOk"
/>
</Modal> </Modal>
<Modal v-model="modalAccSet" title="临时设置" footer-hide width="800"> <Modal v-model="modalAccSet" title="临时设置" footer-hide width="800">
<Form :model="entity" :label-width="110" ref="formValidateSet" :rules="ruleValidate"> <Form
:model="entity"
:label-width="110"
ref="formValidateSet"
:rules="ruleValidate"
>
<Row> <Row>
<Col span="12"> <Col span="12">
<FormItem label="工序">{{entity.routingDetailName}}</FormItem> <FormItem label="工序">{{ entity.routingDetailName }}</FormItem>
</Col> </Col>
<Col span="12"> <Col span="12">
<FormItem label="物料名">{{entity.materialName}}</FormItem> <FormItem label="物料名">{{ entity.materialName }}</FormItem>
</Col> </Col>
<Col span="12"> <Col span="12">
<FormItem label="物料编号">{{entity.materialNumber}}</FormItem> <FormItem label="物料编号">{{ entity.materialNumber }}</FormItem>
</Col> </Col>
<Col span="12"> <Col span="12">
<FormItem label="需求数量">{{entity.needCount}}</FormItem> <FormItem label="需求数量">{{ entity.needCount }}</FormItem>
</Col> </Col>
<Col span="12"> <Col span="12">
<FormItem label="已申请">{{entity.applicationNumber}}</FormItem> <FormItem label="已申请">{{ entity.applicationNumber }}</FormItem>
</Col> </Col>
<Col span="12"> <Col span="12">
<FormItem label="可再申请" prop="count"> <FormItem label="可再申请" prop="count">
<InputNumber :max="entity.needCount-entity.applicationNumber" :min="0" v-model="entity.count" /> <InputNumber
:max="entity.needCount - entity.applicationNumber"
:min="0"
v-model="entity.count"
/>
</FormItem> </FormItem>
</Col> </Col>
<Col span="12"> <Col span="12">
<FormItem label="齐套日期" prop="finishDate"> <FormItem label="齐套日期" prop="finishDate">
<DatePicker v-model="entity.finishDate" type="date" placeholder="请选择齐套日期" @on-change="getTimeFinish"></DatePicker> <DatePicker
v-model="entity.finishDate"
type="date"
placeholder="请选择齐套日期"
@on-change="getTimeFinish"
></DatePicker>
</FormItem> </FormItem>
</Col> </Col>
<Col span="24"> <Col span="24">
...@@ -73,14 +135,16 @@ ...@@ -73,14 +135,16 @@
</Col> </Col>
<Col span="24"> <Col span="24">
<p class="fr"> <p class="fr">
<Button type="primary" class="mr10 ml10" @click="application1">申请配套</Button> <Button type="primary" class="mr10 ml10" @click="application1"
>申请配套</Button
>
<Button @click="canelSet">取消</Button> <Button @click="canelSet">取消</Button>
</p> </p>
</Col> </Col>
</Row> </Row>
</Form> </Form>
</Modal> </Modal>
</div> </div>
</template> </template>
<script> <script>
...@@ -98,7 +162,8 @@ export default { ...@@ -98,7 +162,8 @@ export default {
curId: 0, curId: 0,
editIndex: -1, editIndex: -1,
editNum: "", editNum: "",
cols: [{ cols: [
{
type: "selection", type: "selection",
width: 70, width: 70,
align: "center", align: "center",
...@@ -148,7 +213,8 @@ export default { ...@@ -148,7 +213,8 @@ export default {
width: "120", width: "120",
render: (h, params) => { render: (h, params) => {
return h( return h(
"op", { "op",
{
attrs: { attrs: {
oprate: "detail", oprate: "detail",
}, },
...@@ -157,9 +223,9 @@ export default { ...@@ -157,9 +223,9 @@ export default {
}, },
}, },
params.row._disabled && params.row._disabled &&
params.row.totalCount - params.row.applicationNumber > 0 ? params.row.totalCount - params.row.applicationNumber > 0
"临时申请" : ? "临时申请"
"" : ""
); );
}, },
}, },
...@@ -177,22 +243,28 @@ export default { ...@@ -177,22 +243,28 @@ export default {
counts: this.count, counts: this.count,
curArr: 0, //标记当前操作工艺规程列表是否为空 curArr: 0, //标记当前操作工艺规程列表是否为空
ruleValidate: { ruleValidate: {
QuotationFinishDate: [{ QuotationFinishDate: [
{
required: true, required: true,
message: "_", message: "_",
trigger: "change", trigger: "change",
}, ], },
finishDate: [{ ],
finishDate: [
{
required: true, required: true,
message: "请选择齐套日期", message: "请选择齐套日期",
trigger: "change", trigger: "change",
}, ], },
count: [{ ],
count: [
{
required: true, required: true,
message: "请输入申请数量", message: "请输入申请数量",
type: "number", type: "number",
trigger: "change", trigger: "change",
}, ], },
],
}, },
tempList: [], tempList: [],
cRow: null, cRow: null,
...@@ -219,20 +291,18 @@ export default { ...@@ -219,20 +291,18 @@ export default {
productName: String, productName: String,
drawnNumber: String, drawnNumber: String,
count: Number, count: Number,
productingPreparationPeople: Number,
}, },
mounted() { mounted() {
this.load(this.eid); this.load(this.eid);
}, },
async fetch({ async fetch({ store, params }) {
store,
params
}) {
await store.dispatch("loadDictionary"); // 加载数据字典 await store.dispatch("loadDictionary"); // 加载数据字典
}, },
methods: { methods: {
load(v) { load(v) {
Api.matchdetaillist({ Api.matchdetaillist({
id: v id: v,
}).then((r) => { }).then((r) => {
if (r.success) { if (r.success) {
r.result.forEach((e) => { r.result.forEach((e) => {
...@@ -367,6 +437,7 @@ export default { ...@@ -367,6 +437,7 @@ export default {
creator: this.$store.state.userInfo.userName, creator: this.$store.state.userInfo.userName,
finishDate: this.orderForm.QuotationFinishDate, finishDate: this.orderForm.QuotationFinishDate,
orderCode: this.mesCode, orderCode: this.mesCode,
productingPreparationPeople: this.productingPreparationPeople,
}, },
items: temItems, items: temItems,
}; };
......
This diff is collapsed.
<template> <template>
<div class="result-aps"> <div class="result-aps">
<Row class="expand-row"> <Row class="expand-row">
<Col span="4"> <Col span="4">
<span class="expand-key">工序序号</span> <span class="expand-key">工序序号</span>
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<span class="expand-key">计划结束时间</span> <span class="expand-key">计划结束时间</span>
</Col> </Col>
<Col span="3"> <Col span="3">
<span class="expand-key">设备编号</span> <span class="expand-key">首选资源</span>
</Col> </Col>
</Row> </Row>
<Row v-for="(item,index) in dataList" :key="item.index"> <Row v-for="(item,index) in dataList" :key="item.index">
...@@ -46,8 +46,9 @@ ...@@ -46,8 +46,9 @@
<span>{{ item.equip_id }}</span> <span>{{ item.equip_id }}</span>
</Col> </Col>
</Row> </Row>
</div> </div>
</template> </template>
<script> <script>
import Api from "./api"; import Api from "./api";
export default { export default {
...@@ -76,18 +77,21 @@ export default { ...@@ -76,18 +77,21 @@ export default {
} }
}; };
</script> </script>
<style lang='less'>
<style lang="less">
.result-aps { .result-aps {
.expand-row { .expand-row {
text-align: center; text-align: center;
margin: 5px 0; margin: 5px 0;
font-weight: bold; font-weight: bold;
} }
.expand-value { .expand-value {
text-align: center; text-align: center;
margin: 3px 0; margin: 3px 0;
} }
} }
td.ivu-table-expanded-cell { td.ivu-table-expanded-cell {
padding: 0 !important; padding: 0 !important;
} }
......
<template> <template>
<div class="pdf-detail table-detail"> <div class="pdf-detail table-detail">
<div class="cerioficate-pdf-detail"> <div class="cerioficate-pdf-detail">
<div class="bian-hao">产品合格证编号:{{results.serialNumber}}</div> <div class="bian-hao">产品合格证编号:{{ results.serialNumber }}</div>
<div class="body-d"> <div class="body-d">
<Row class="row-border right-border"> <Row class="row-border right-border">
<Col :span="4" class="col-border">用户单位</Col> <Col :span="4" class="col-border">用户单位</Col>
<Col :span="20" class="col-border">{{results.userUnit}}</Col> <Col :span="20" class="col-border">{{ results.userUnit }}</Col>
</Row> </Row>
<Row class="row-border right-border"> <Row class="row-border right-border">
<Col :span="4" class="col-border">任务依据</Col> <Col :span="4" class="col-border">任务依据</Col>
<Col :span="20" class="col-border">{{results.taskBased}}</Col> <Col :span="20" class="col-border">{{ results.taskBased }}</Col>
</Row> </Row>
<Row class="row-border right-border"> <Row class="row-border right-border">
<Col :span="4" class="col-border">产品名称</Col> <Col :span="4" class="col-border">产品名称</Col>
<Col :span="8" class="col-border">{{results.productName}}</Col> <Col :span="8" class="col-border">{{ results.productName }}</Col>
<Col :span="4" class="col-border">产品状态</Col> <!-- <Col :span="4" class="col-border">产品状态</Col>
<Col :span="8" class="col-border">{{results.productStatus}}</Col> <Col :span="8" class="col-border">{{results.productStatus}}</Col> -->
</Row> </Row>
<Row class="row-border right-border"> <Row class="row-border right-border">
<Col :span="4" class="col-border">产品编号</Col> <Col :span="4" class="col-border">产品编号</Col>
<Col :span="8" class="col-border">{{results.productSerialNumber}}</Col> <Col :span="8" class="col-border">{{
results.productSerialNumber
}}</Col>
<Col :span="4" class="col-border">原材料批号</Col> <Col :span="4" class="col-border">原材料批号</Col>
<Col :span="8" class="col-border">{{results.materialSerialNumber}}</Col> <Col :span="8" class="col-border">{{
results.materialSerialNumber
}}</Col>
</Row> </Row>
<Row class="row-border right-border"> <Row class="row-border right-border">
<Col :span="4" class="col-border">原材料编号</Col> <Col :span="4" class="col-border">原材料编号</Col>
<Col :span="8" class="col-border">{{results.materialCode}}</Col> <Col :span="8" class="col-border">{{ results.materialCode }}</Col>
<Col :span="4" class="col-border">产品代号(图号)</Col> <Col :span="4" class="col-border">产品代号(图号)</Col>
<Col :span="8" class="col-border">{{results.productCode}}</Col> <Col :span="8" class="col-border">{{ results.productCode }}</Col>
</Row> </Row>
<Row class="row-border right-border"> <Row class="row-border right-border">
<Col :span="4" class="col-border">原材料合格证编号</Col> <Col :span="4" class="col-border">原材料合格证编号</Col>
<Col :span="8" class="col-border">{{results.materialCertificationNumber}}</Col> <Col :span="8" class="col-border">{{
results.materialCertificationNumber
}}</Col>
<Col :span="4" class="col-border">数量</Col> <Col :span="4" class="col-border">数量</Col>
<Col :span="8" class="col-border">{{results.productQuantity}}</Col> <Col :span="8" class="col-border">{{ results.productQuantity }}</Col>
</Row> </Row>
<!-- <Row class="row-border right-border"> <!-- <Row class="row-border right-border">
<Col :span="4" class="col-border">增材制造批次号</Col> <Col :span="4" class="col-border">增材制造批次号</Col>
...@@ -50,73 +56,84 @@ ...@@ -50,73 +56,84 @@
<Col :span="5" class="col-border">结论</Col> <Col :span="5" class="col-border">结论</Col>
<Col :span="5" class="col-border">备注</Col> <Col :span="5" class="col-border">备注</Col>
</Row> </Row>
<Row class="row-border right-border" v-for="(item,index) in results.items" :key="index"> <Row
<Col :span="1" class="col-border">{{index+1}}</Col> class="row-border right-border"
<Col :span="5" class="col-border">{{item.name}}</Col> v-for="(item, index) in results.items"
<Col :span="5" class="col-border">{{item.require}}</Col> :key="index"
<Col :span="3" class="col-border">{{item.result}}</Col> >
<Col :span="5" class="col-border">{{item.conclusion}}</Col> <Col :span="1" class="col-border">{{ index + 1 }}</Col>
<Col :span="5" class="col-border">{{item.remark}}</Col> <Col :span="5" class="col-border">{{ item.name }}</Col>
<Col :span="5" class="col-border">{{ item.require }}</Col>
<Col :span="3" class="col-border">{{ item.result }}</Col>
<Col :span="5" class="col-border">{{ item.conclusion }}</Col>
<Col :span="5" class="col-border">{{ item.remark }}</Col>
</Row> </Row>
<Row class="row-border right-border"> <Row class="row-border right-border">
<Col :span="4" class="col-border">结论</Col> <Col :span="4" class="col-border">结论</Col>
<Col :span="20" class="col-border">{{results.conclusion}}</Col> <Col :span="20" class="col-border">{{ results.conclusion }}</Col>
</Row> </Row>
<Row class="row-border right-border bottom-border"> <Row class="row-border right-border bottom-border">
<Col :span="4" class="col-border">检验员 / 时间</Col> <Col :span="4" class="col-border">检验员 / 时间</Col>
<Col :span="8" class="col-border">{{results.examUser}} {{results.examDate}}</Col> <Col :span="8" class="col-border">
<User :value="parseInt(results.examUser)" />&nbsp;{{
results.examDate
}}</Col
>
<Col :span="4" class="col-border">批准人 / 时间</Col> <Col :span="4" class="col-border">批准人 / 时间</Col>
<Col :span="8" class="col-border">{{results.approveUser}} {{results.approveDate}}</Col> <Col :span="8" class="col-border">
<User :value="parseInt(results.approveUser)" />&nbsp;
{{ results.approveDate }}</Col
>
</Row> </Row>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import Api from '../api' import Api from "../api";
export default { export default {
name: 'detail', name: "detail",
components: {}, components: {},
props: { props: {
idVal: { idVal: {
type: String, type: String,
default: '' default: "",
} },
}, },
async fetch({ store, params }) { async fetch({ store, params }) {
await store.dispatch('loadDictionary') // 加载数据字典 await store.dispatch("loadDictionary"); // 加载数据字典
}, },
data() { data() {
return { return {
results: { results: {
state: '' state: "",
} },
} };
}, },
created() { created() {
this.dataImmut = [] this.dataImmut = [];
this.dataMut = [] this.dataMut = [];
Api.get({ Id: this.idVal }).then((r) => { Api.get({ Id: this.idVal }).then((r) => {
if (r.success) { if (r.success) {
this.results = JSON.parse(r.result.formData) this.results = JSON.parse(r.result.formData);
// let formStr = r.result.formData.replace(/\"/g, '"') // let formStr = r.result.formData.replace(/\"/g, '"')
// this.results = JSON.parse(formStr)[0] // this.results = JSON.parse(formStr)[0]
} else { } else {
this.$Message.error('加载失败') this.$Message.error("加载失败");
} }
}) });
}, },
methods: { methods: {
load(v) {}, load(v) {},
l(key) { l(key) {
key = 'waitOpened' + '.' + key key = "waitOpened" + "." + key;
return this.$t(key) return this.$t(key);
}
}, },
watch: {} },
} watch: {},
};
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.pdf-detail { .pdf-detail {
......
...@@ -69,36 +69,36 @@ export default { ...@@ -69,36 +69,36 @@ export default {
{ {
key: "code", key: "code",
title: this.l("code"), title: this.l("code"),
align: "left", align: "center",
easy: true, easy: true,
high: true, high: true,
}, },
{ key: "total", title: this.l("total"), high: true }, { key: "total", title: this.l("total"), high: true, align: "center" },
{ {
key: "nowTotal", key: "nowTotal",
title: this.l("nowTotal"), title: this.l("nowTotal"),
align: "center",
high: true,
},
{ key: "batch", title: this.l("batch"), align: "left", high: true },
{
key: "certificateOfApproval",
title: this.l("certificateOfApproval"),
align: "left",
high: true, high: true,
}, },
{ // { key: "batch", title: this.l("batch"), align: "left", high: true },
key: "unitPrice", // {
title: this.l("unitPrice"), // key: "certificateOfApproval",
// title: this.l("certificateOfApproval"),
// align: "left",
// high: true,
// },
// {
// key: "unitPrice",
// title: this.l("unitPrice"),
high: true, // high: true,
}, // },
{ // {
key: "originalManufacturer", // key: "originalManufacturer",
title: this.l("originalManufacturer"), // title: this.l("originalManufacturer"),
align: "left", // align: "left",
high: true, // high: true,
}, // },
{ {
key: "creationTime", key: "creationTime",
title: this.l("creationTime"), title: this.l("creationTime"),
...@@ -108,7 +108,7 @@ export default { ...@@ -108,7 +108,7 @@ export default {
{ {
key: "creator", key: "creator",
title: this.l("creatorUserId"), title: this.l("creatorUserId"),
align: "left", align: "center",
high: true, high: true,
}, },
{ {
......
<template> <template>
<div> <div>
<Form ref="form" :model="entity" :rules="rules" :label-width="90"> <Form ref="form" :model="entity" :label-width="90">
<Row> <Row>
<Col :span="12"> <Col :span="12">
<FormItem label="名称" prop="name"> <FormItem label="名称" prop="name" :rules="{required: true, message: '必填', trigger: 'blur'}">
<Input v-model="entity.name" placeholder="请输入"></Input> <Input v-model="entity.name" placeholder="请输入"></Input>
</FormItem> </FormItem>
</Col> </Col>
...@@ -37,7 +37,9 @@ ...@@ -37,7 +37,9 @@
</div> </div>
<Row> <Row>
<Col v-for="li in fileds" :key="li.field" :span="li.span"> <Col v-for="li in fileds" :key="li.field" :span="li.span">
<FormItem :label="li.title" :prop="li.name"> <!-- type: li.dataType==1?'number':li.dataType==4?'date':'string' -->
<!-- :rules="li.required?{required: true, message: '必填', trigger: 'blur', }:''" -->
<FormItem :label="li.title" :prop="li.field" >
<Input v-if="li.dataType==0" v-model="entity[li.field]"></Input> <Input v-if="li.dataType==0" v-model="entity[li.field]"></Input>
<InputNumber <InputNumber
v-if="li.dataType==1||li.dataType==2" v-if="li.dataType==1||li.dataType==2"
......
This diff is collapsed.
...@@ -58,7 +58,12 @@ ...@@ -58,7 +58,12 @@
</Col> </Col>
</Row> </Row>
<Row> <Row>
<Col span="24"> <Col span="8">
<FormItem label="生产类型" style="width:100%" prop="productionType">
<dictionary style="width:240px" code="plan.order.productionType" v-model="orderSearchForm.productionType"></dictionary>
</FormItem>
</Col>
<Col span="16">
<FormItem label="任务要求" style="width:100%"> <FormItem label="任务要求" style="width:100%">
<Input v-model="orderSearchForm.taskRequire" placeholder /> <Input v-model="orderSearchForm.taskRequire" placeholder />
</FormItem> </FormItem>
......
...@@ -67,6 +67,12 @@ ...@@ -67,6 +67,12 @@
</Col> </Col>
</Row> </Row>
<Row> <Row>
<Col span="8">
<span class="fwBold">{{l('productionType')}}</span>
<p>
<state code="plan.order.productionType" :value="entity.productionType" type="text"></state>
</p>
</Col>
<Col span="8"> <Col span="8">
<span class="fwBold">{{l('productingPreparationPeople')}}</span> <span class="fwBold">{{l('productingPreparationPeople')}}</span>
<p> <p>
...@@ -79,10 +85,6 @@ ...@@ -79,10 +85,6 @@
<User v-model="entity.quotationPeople" v-if="entity.quotationPeople>0"></User> <User v-model="entity.quotationPeople" v-if="entity.quotationPeople>0"></User>
</p> </p>
</Col> </Col>
<Col span="8">
<span class="fwBold">&nbsp;</span>
<p>&nbsp;</p>
</Col>
</Row> </Row>
<Row class="lastRow"> <Row class="lastRow">
<Col span="24"> <Col span="24">
......
...@@ -61,6 +61,11 @@ ...@@ -61,6 +61,11 @@
<dictionary style="width:240px" code="plan.order.urgencyLevel" v-model="orderSearchForm.urgencyLevel"></dictionary> <dictionary style="width:240px" code="plan.order.urgencyLevel" v-model="orderSearchForm.urgencyLevel"></dictionary>
</FormItem> </FormItem>
</Col> </Col>
<Col span="8">
<FormItem :label="l('productionType')" style="width:100%" prop="productionType">
<dictionary style="width:240px" code="plan.order.productionType" v-model="orderSearchForm.productionType"></dictionary>
</FormItem>
</Col>
<Col span="24"> <Col span="24">
<FormItem :label="l('taskRequire')" style="width:100%"> <FormItem :label="l('taskRequire')" style="width:100%">
<Input v-model="orderSearchForm.taskRequire" placeholder /> <Input v-model="orderSearchForm.taskRequire" placeholder />
......
...@@ -179,6 +179,14 @@ export default { ...@@ -179,6 +179,14 @@ export default {
code: "plan.order.taskType", code: "plan.order.taskType",
width: 100 width: 100
}, },
{
key: "productionType",
title: this.l("productionType"),
align: "center",
high: true,
code: "plan.order.productionType",
width: 100
},
{ {
key: "quantity", key: "quantity",
title: this.l("quantity"), title: this.l("quantity"),
......
This diff is collapsed.
...@@ -105,7 +105,7 @@ export default { ...@@ -105,7 +105,7 @@ export default {
type: "user", type: "user",
}, },
{ {
key: "laster", key: "lastModifierUserId",
title: this.l("laster"), title: this.l("laster"),
easy: true, easy: true,
high: true, high: true,
...@@ -192,10 +192,6 @@ export default { ...@@ -192,10 +192,6 @@ export default {
eid: Number, eid: Number,
}, },
mounted() { mounted() {
// this.$refs.grid.reload(this.easySearch);
// if (this.eid) {
// this.loadList();
// }
window.onresize = () => { window.onresize = () => {
///浏览器窗口大小变化 ///浏览器窗口大小变化
return (() => { return (() => {
...@@ -214,9 +210,8 @@ export default { ...@@ -214,9 +210,8 @@ export default {
//格式化原始数据 //格式化原始数据
formatFun(data) { formatFun(data) {
data.map((e) => { data.map((e) => {
if (e.laster) { if (e.laster || e.creator) {
e.laster = parseInt(e.laster); e.laster = parseInt(e.laster);
} else if (e.creator) {
e.creator = parseInt(e.creator); e.creator = parseInt(e.creator);
} }
}); });
......
import Api from '@/plugins/request' import Api from '@/plugins/request'
export default { export default {
index: `${PlanUrl}/orderexecutenew/paged_img`, index: `${PlanUrl}/orderexecutenew/Paged_Img_RoutingDetail`,
paged(params) { paged(params) {
return Api.post(`${PlanUrl}/orderexecutenew/paged_img`, params); return Api.post(`${PlanUrl}/orderexecutenew/Paged_Img_RoutingDetail`, params);
}, },
getCardList(params) { getCardList(params) {
return Api.post(`${PlanUrl}/orderexecutenew/list`, params); return Api.post(`${PlanUrl}/orderexecutenew/list`, params);
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<Form ref="form" :model="entity" :rules="rules" :label-width="90"> <Form ref="form" :model="entity" :rules="rules" :label-width="90">
<Row> <Row>
<Col :span="12"> <Col :span="12">
<FormItem :label="l('title')" prop="title" style="width:95%"> <FormItem :label="l('title')" prop="title" style="width: 95%">
<Input v-model="entity.title"></Input> <Input v-model="entity.title"></Input>
</FormItem> </FormItem>
</Col> </Col>
...@@ -22,7 +22,13 @@ ...@@ -22,7 +22,13 @@
</Col> </Col>
<Col span="24"> <Col span="24">
<FormItem :label="l('content')" prop="content "> <FormItem :label="l('content')" prop="content ">
<Input v-model="entity.content" type="textarea" :rows="5"></Input> <i-quill
v-model="entity.content"
:height="300"
border
v-paste="handleImg"
/>
<!-- <Input v-model="entity.content" type="textarea" :rows="5"></Input> -->
</FormItem> </FormItem>
</Col> </Col>
</Row> </Row>
...@@ -34,8 +40,12 @@ ...@@ -34,8 +40,12 @@
</template> </template>
<script> <script>
import Api from "./api"; import Api from "./api";
import iQuill from "@/components/quill";
export default { export default {
name: "Add", name: "Add",
components: {
iQuill,
},
data() { data() {
return { return {
entity: { entity: {
...@@ -76,6 +86,27 @@ export default { ...@@ -76,6 +86,27 @@ export default {
} }
}, },
methods: { methods: {
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.entity.content += img;
}, 1000);
// new R
}
},
handleSubmit() { handleSubmit() {
this.$refs.form.validate((v) => { this.$refs.form.validate((v) => {
if (v) { if (v) {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<Form ref="form" :model="entity" :rules="rules" :label-width="90"> <Form ref="form" :model="entity" :rules="rules" :label-width="90">
<Row> <Row>
<Col :span="12"> <Col :span="12">
<FormItem :label="l('title')" prop="title" style="width:95%"> <FormItem :label="l('title')" prop="title" style="width: 95%">
<Input v-model="entity.title"></Input> <Input v-model="entity.title"></Input>
</FormItem> </FormItem>
</Col> </Col>
...@@ -22,7 +22,13 @@ ...@@ -22,7 +22,13 @@
</Col> </Col>
<Col span="24"> <Col span="24">
<FormItem :label="l('content')" prop="content "> <FormItem :label="l('content')" prop="content ">
<Input v-model="entity.content" type="textarea" :rows="5"></Input> <i-quill
v-model="entity.content"
:height="300"
border
v-paste="handleImg"
/>
<!-- <Input v-model="entity.content" type="textarea" :rows="5"></Input> -->
</FormItem> </FormItem>
</Col> </Col>
</Row> </Row>
...@@ -34,8 +40,12 @@ ...@@ -34,8 +40,12 @@
</template> </template>
<script> <script>
import Api from "./api"; import Api from "./api";
import iQuill from "@/components/quill";
export default { export default {
name: "Edit", name: "Edit",
components: {
iQuill,
},
data() { data() {
return { return {
entity: {}, entity: {},
...@@ -90,6 +100,27 @@ export default { ...@@ -90,6 +100,27 @@ 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.entity.content += img;
}, 1000);
// new R
}
},
handleClose() { handleClose() {
this.$emit("on-close"); this.$emit("on-close");
}, },
......
...@@ -13,7 +13,10 @@ ...@@ -13,7 +13,10 @@
<template slot="easySearch"> <template slot="easySearch">
<Form ref="formInline" :model="easySearch" inline> <Form ref="formInline" :model="easySearch" inline>
<FormItem prop="keys"> <FormItem prop="keys">
<Input placeholder="请输入关键字名称" v-model="easySearch.keys.value" /> <Input
placeholder="请输入关键字名称"
v-model="easySearch.keys.value"
/>
</FormItem> </FormItem>
<FormItem> <FormItem>
<Button type="primary" @click="search">查询</Button> <Button type="primary" @click="search">查询</Button>
...@@ -23,20 +26,20 @@ ...@@ -23,20 +26,20 @@
<!-- <template slot="buttons"> <!-- <template slot="buttons">
<Button type="primary" @click="add">新增</Button> <Button type="primary" @click="add">新增</Button>
</template>--> </template>-->
<template slot="card" slot-scope="{row}"> <template slot="card" slot-scope="{ row }">
<div class="card_body"> <div class="card_body">
<Row class="title_i"> <Row class="title_i">
<Col :span="21">工艺名称:{{row.title}}</Col> <Col :span="21">工艺名称:{{ row.title }}</Col>
<Col :span="3" class="btn_click"> <Col :span="3" class="btn_click">
<!-- <a @click="edit(row.id)"> <!-- <a @click="edit(row.id)">
<Icon type="ios-create" @click="edit(row.id)" /> <Icon type="ios-create" @click="edit(row.id)" />
</a>--> </a>-->
<!-- <a @click="view(row.id)"> <a @click="view(row.id)">
<Icon type="ios-paper" /> <Icon type="ios-paper" />
</a> </a>
<a @click="remove(row.id)"> <!-- <a @click="remove(row.id)">
<Icon type="ios-trash" /> <Icon type="ios-trash" />
</a>--> </a> -->
</Col> </Col>
</Row> </Row>
<div class="down_text"> <div class="down_text">
...@@ -48,12 +51,16 @@ ...@@ -48,12 +51,16 @@
</div> </div>
</Col> </Col>
<Col span="18"> <Col span="18">
<p>创建时间:{{row.creationTime}}</p> <p>创建时间:{{ row.creationTime }}</p>
<p>创建人:{{row.creator}}</p> <p>创建人:{{ row.creator }}</p>
<p>内容:{{row.content}}</p> <p>内容:{{ row.content }}</p>
<p> <p>
状态: 状态:
<state code="processCase.status" :value="row.status+''" type="text" /> <state
code="processCase.status"
:value="row.status + ''"
type="text"
/>
</p> </p>
</Col> </Col>
</Row> </Row>
...@@ -78,12 +85,12 @@ ...@@ -78,12 +85,12 @@
</div>--> </div>-->
</template> </template>
</DataGrid> </DataGrid>
<!-- <Modal v-model="modal" :title="title" width="800" footer-hide :mask-closable="false"> <Modal v-model="modal" :title="title" width="800" footer-hide :mask-closable="false">
<component :is="detail" :eid="curId" @on-close="cancel" @on-ok="ok" /> <component :is="detail" :eid="curId" @on-close="cancel" @on-ok="ok" />
</Modal> </Modal>
<Modal v-model="deletelModal" title="删除" @on-ok="removeOk" @on-cancel="cancel" :mask-closable="false"> <!-- <Modal v-model="deletelModal" title="删除" @on-ok="removeOk" @on-cancel="cancel" :mask-closable="false">
<p>确定删除?</p> <p>确定删除?</p>
</Modal>--> </Modal> -->
</div> </div>
</template> </template>
<script> <script>
......
...@@ -89,11 +89,12 @@ ...@@ -89,11 +89,12 @@
} }
.img_box { .img_box {
text-align: center; text-align: center;
margin: auto;
line-height: 350px; line-height: 350px;
font-size: 32px; font-size: 32px;
width: 750px; width: 750px;
height: 350px; height: 350px;
background: #ddd; // background: #ddd;
margin: 10px 0 0 170px; margin: 10px 0 0 170px;
} }
} }
......
This diff is collapsed.
This diff is collapsed.
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
@import "../processDesign/Process/menu.less"; @import "../processDesign/Process/menu.less";
</style> </style>
<template> <template>
<div class="new_box"> <div class="new_box">
<Form ref="formValidate" :model="formValidate" :rules="ruleValidate" :label-width="160" inline> <Form ref="formValidate" :model="formValidate" :rules="ruleValidate" :label-width="160" inline>
<!-- <Row> <!-- <Row>
<FormItem label="文件模板" prop="file_template"> <FormItem label="文件模板" prop="file_template">
...@@ -27,13 +27,7 @@ ...@@ -27,13 +27,7 @@
<Row> <Row>
<Col span="10"> <Col span="10">
<FormItem label="文档编号" prop="code"> <FormItem label="文档编号" prop="code">
<Input <Input size="large" v-model.trim="formValidate.code" placeholder="请输入..." style="width:240px" :disabled="codeisview" />
size="large"
v-model.trim="formValidate.code"
placeholder="请输入..."
style="width:240px"
:disabled="codeisview"
/>
</FormItem> </FormItem>
</Col> </Col>
<Col span="10"> <Col span="10">
...@@ -49,11 +43,7 @@ ...@@ -49,11 +43,7 @@
<Table stripe ref="table" border :columns="column1" :data="formValidate1" class="tableCommon"> <Table stripe ref="table" border :columns="column1" :data="formValidate1" class="tableCommon">
<template slot-scope="{ row,index }" slot="materialType"> <template slot-scope="{ row,index }" slot="materialType">
<state <state code="mes_xingchi_resource.material.materialReType" type="text" :value="row.material_type"></state>
code="mes_xingchi_resource.material.materialReType"
type="text"
:value="row.material_type"
></state>
</template> </template>
</Table> </Table>
<Modal v-model="newModel" title="查看物料项" :mask-closable="false" width="830px"> <Modal v-model="newModel" title="查看物料项" :mask-closable="false" width="830px">
...@@ -77,11 +67,7 @@ ...@@ -77,11 +67,7 @@
<Col :span="12"> <Col :span="12">
<FormItem :label="l('materialType')" prop="materialType"> <FormItem :label="l('materialType')" prop="materialType">
<Dictionary <Dictionary :disabled="true" code="mes_xingchi_resource.material.materialReType" v-model="formprocessValidate.material_type"></Dictionary>
:disabled="true"
code="mes_xingchi_resource.material.materialReType"
v-model="formprocessValidate.material_type"
></Dictionary>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="12">
...@@ -117,8 +103,9 @@ ...@@ -117,8 +103,9 @@
</Row> </Row>
</Form> </Form>
</Modal> </Modal>
</div> </div>
</template> </template>
<script> <script>
import service from "@/plugins/request"; import service from "@/plugins/request";
...@@ -140,9 +127,11 @@ export default { ...@@ -140,9 +127,11 @@ export default {
editindex: -1, editindex: -1,
ruleValidate: { ruleValidate: {
materialPlanFinishDate: [ materialPlanFinishDate: [{
{ required: true, message: "配套完成时间不能为空", trigger: "blur" } required: true,
] message: "配套完成时间不能为空",
trigger: "blur"
}]
// name: [ // name: [
// { required: true, message: '文件名称不能为空', trigger: 'blur' } // { required: true, message: '文件名称不能为空', trigger: 'blur' }
...@@ -226,8 +215,12 @@ export default { ...@@ -226,8 +215,12 @@ export default {
procurementStandards: "", procurementStandards: "",
qualityGrade: "" qualityGrade: ""
}, },
column1: [ column1: [{
{ title: "序号", type: "index", width: "70", align: "center" }, title: "序号",
type: "index",
width: "70",
align: "center"
},
{ {
key: "materialNumber", key: "materialNumber",
title: this.l("materialNumber"), title: this.l("materialNumber"),
...@@ -329,14 +322,17 @@ export default { ...@@ -329,14 +322,17 @@ export default {
let id = params.row.id; let id = params.row.id;
return h( return h(
"div", "div", {
{
class: "icon_box" class: "icon_box"
}, },
[ [
h("op", { h("op", {
class: "view ", class: "view ",
attrs: { icon: "ios-eye", title: "查看", type: "icon" }, attrs: {
icon: "ios-eye",
title: "查看",
type: "icon"
},
on: { on: {
click: () => { click: () => {
this.editFun(params); this.editFun(params);
...@@ -352,7 +348,7 @@ export default { ...@@ -352,7 +348,7 @@ export default {
}, },
mounted() {}, mounted() {},
created: function() {}, created: function () {},
methods: { methods: {
handleCreate1(val) { handleCreate1(val) {
this.EquipList.push({ this.EquipList.push({
...@@ -372,7 +368,7 @@ export default { ...@@ -372,7 +368,7 @@ export default {
this.newModel = true; this.newModel = true;
}, },
loaddata(orderid) { loaddata(orderid) {
var url = `${designUrl}/ordermateriallist/getbyorderid?id=` + orderid; var url = `${technologyUrl}ordermateriallist/getbyorderid?id=` + orderid;
service.get(`${url}`).then(response => { service.get(`${url}`).then(response => {
this.formValidate = response.result.orderMaterial; this.formValidate = response.result.orderMaterial;
...@@ -394,7 +390,7 @@ export default { ...@@ -394,7 +390,7 @@ export default {
orderMaterialList: this.formValidate1, orderMaterialList: this.formValidate1,
finishDate: this.formValidate.materialPlanFinishDate finishDate: this.formValidate.materialPlanFinishDate
}; };
let url = `${designUrl}/ordersupport/updateordermaterialactualquantity`; let url = `${technologyUrl}/ordersupport/updateordermaterialactualquantity`;
service.put(`${url}`, parmes).then(res => { service.put(`${url}`, parmes).then(res => {
if (res.success) { if (res.success) {
this.$Message.success("操作成功"); this.$Message.success("操作成功");
......
<template> <template>
<div class="aps-r"> <div class="aps-r">
<DataGrid :columns="columns" ref="grid" :batch="false" :type="typeInfo" :span="6" :lazy="true" :conditions="easySearch" :action="action" :gutter="40"> <DataGrid
:columns="columns"
ref="grid"
:batch="false"
:type="typeInfo"
:span="6"
:lazy="true"
:conditions="easySearch"
:action="action"
:gutter="40"
>
<template slot="easySearch"> <template slot="easySearch">
<Form ref="formInline" :model="easySearch" inline> <Form ref="formInline" :model="easySearch" inline>
<FormItem prop="keys"> <FormItem prop="keys">
<Input placeholder="请输入订单编号/产品名称/图号" v-model="easySearch.keys.value" v-width="260" clearable /> <Input
placeholder="请输入订单编号/产品名称/图号"
v-model="easySearch.keys.value"
v-width="260"
clearable
/>
</FormItem> </FormItem>
<!-- <!--
<FormItem> <FormItem>
...@@ -20,10 +35,31 @@ ...@@ -20,10 +35,31 @@
<Search /> <Search />
</template> </template>
<template slot="buttons"> <template slot="buttons">
<Button :icon="iconInfo" shape="circle" :title="titleInfo" @click="changeShwo"></Button> <Button
:icon="iconInfo"
shape="circle"
:title="titleInfo"
@click="changeShwo"
></Button>
</template> </template>
<template slot="card" slot-scope="{row}"> <template slot="card" slot-scope="{ row }">
<div class="body" @click="toExecute(row.id,row.orderId,row.executeId,row.routingHeaderId,row.routingDetailId,row.quantity,row.status,row.mesCode,row.productName,row.drawnNumber)"> <div
class="body"
@click="
toExecute(
row.id,
row.orderId,
row.executeId,
row.routingHeaderId,
row.routingDetailId,
row.quantity,
row.status,
row.mesCode,
row.productName,
row.drawnNumber
)
"
>
<Row class="title-i"> <Row class="title-i">
<Col :span="10" class="order-code"> <Col :span="10" class="order-code">
<Ellipsis :text="row.productName" :lines="1" tooltip transfer /> <Ellipsis :text="row.productName" :lines="1" tooltip transfer />
...@@ -35,7 +71,13 @@ ...@@ -35,7 +71,13 @@
<div class="statuBg" :style="tdStyle(row.status)"></div> <div class="statuBg" :style="tdStyle(row.status)"></div>
<div class="boxTitle"> <div class="boxTitle">
<div class="text"> <div class="text">
<state code="taskList.status" ref="state" :value="row.status" type="text" :color="false"></state> <state
code="taskList.status"
ref="state"
:value="row.status"
type="text"
:color="false"
></state>
</div> </div>
</div> </div>
</Col> </Col>
...@@ -44,8 +86,13 @@ ...@@ -44,8 +86,13 @@
<Row> <Row>
<Col span="8"> <Col span="8">
<div class="img-i"> <div class="img-i">
<img :src="downUrl +row.productUrl" v-if="row.productUrl" /> <img :src="downUrl + row.productUrl" v-if="row.productUrl" />
<img src="@/assets/imgicon/chan_Pin.png" v-else width="100%" height="100%" /> <img
src="@/assets/imgicon/chan_Pin.png"
v-else
width="100%"
height="100%"
/>
</div> </div>
<!-- <img <!-- <img
:src="getUrl(row.productUrl)" :src="getUrl(row.productUrl)"
...@@ -57,33 +104,73 @@ ...@@ -57,33 +104,73 @@
/>--> />-->
</Col> </Col>
<Col span="16" class="row"> <Col span="16" class="row">
<p>{{l("beginTime")}}{{row.beginTime}}</p> <p>{{ l("beginTime") }}{{ row.beginTime }}</p>
<p> <p>
<span v-if="getStatus(row.status)">{{l("planEndTime")}}</span> <span v-if="getStatus(row.status)"
<span v-else>{{l("endTime")}}</span> >{{ l("planEndTime") }}</span
{{row.endTime}} >
<span v-else>{{ l("endTime") }}</span>
{{ row.endTime }}
</p> </p>
<p v-if="getStatus(row.status)&&getTimes(row.endTime)>0"> <p v-if="getStatus(row.status) && getTimes(row.endTime) > 0">
剩余时间: 剩余时间:
<OutputTime :value="getTimes(row.endTime)" style="display:inline"></OutputTime> <OutputTime
:value="getTimes(row.endTime)"
style="display: inline"
></OutputTime>
</p> </p>
<p>{{l("quantity")}}{{row.quantity}}</p>
<Row>
<Col span="12">
<p>{{ l("quantity") }}{{ row.quantity }}</p></Col
>
<Col span="12"
><p>工序号:{{ row.taskSeq }}</p></Col
>
</Row>
<p>工序名称:{{ row.taskName }}</p>
</Col> </Col>
</Row> </Row>
<Row class="rowBottom"> <Row class="rowBottom">
<Col span="14">{{l("drawnNumber")}}{{row.drawnNumber}}</Col> <Col span="14">{{ l("drawnNumber") }}{{ row.drawnNumber }}</Col>
<Col span="10" class="tr"> <Col span="10" class="tr">
<Icon type="md-alert" size="18" color="#FFA000" v-if="getStatus(row.status)&&getTimes(row.endTime)<86400&&getTimes(row.endTime)>0" /> <Icon
<span style="color:#FFA000" v-if="getStatus(row.status)&&getTimes(row.endTime)<86400&&getTimes(row.endTime)>0">预警</span>&nbsp;&nbsp; type="md-alert"
<Icon type="md-timer" size="18" color="#FE7777" v-if="getStatus(row.status)&&compareTime(row.endTime)" /> size="18"
<span style="color:#FE7777" v-if="getStatus(row.status)&&compareTime(row.endTime)">超期</span> color="#FFA000"
v-if="
getStatus(row.status) &&
getTimes(row.endTime) < 86400 &&
getTimes(row.endTime) > 0
"
/>
<span
style="color: #ffa000"
v-if="
getStatus(row.status) &&
getTimes(row.endTime) < 86400 &&
getTimes(row.endTime) > 0
"
>预警</span
>&nbsp;&nbsp;
<Icon
type="md-timer"
size="18"
color="#FE7777"
v-if="getStatus(row.status) && compareTime(row.endTime)"
/>
<span
style="color: #fe7777"
v-if="getStatus(row.status) && compareTime(row.endTime)"
>超期</span
>
</Col> </Col>
</Row> </Row>
</div> </div>
</div> </div>
</template> </template>
</DataGrid> </DataGrid>
</div> </div>
</template> </template>
<script> <script>
...@@ -104,11 +191,12 @@ export default { ...@@ -104,11 +191,12 @@ export default {
}, },
DispatchStatus: { DispatchStatus: {
op: "In", op: "In",
value: [12, 14, 5, 7, -1] value: [12, 14, 5, 7, -1],
} },
}, },
downUrl: fileUrlDown, downUrl: fileUrlDown,
columns: [{ columns: [
{
title: this.l("Id"), title: this.l("Id"),
key: "id", key: "id",
width: 80, width: 80,
...@@ -168,12 +256,14 @@ export default { ...@@ -168,12 +256,14 @@ export default {
align: "center", align: "center",
render: (h, params) => { render: (h, params) => {
return h( return h(
"div", { "div",
{
class: "action", class: "action",
}, },
[ [
h( h(
"op", { "op",
{
attrs: { attrs: {
oprate: "edit", oprate: "edit",
}, },
...@@ -210,10 +300,7 @@ export default { ...@@ -210,10 +300,7 @@ export default {
let oldStr = localStorage.getItem("admin"); let oldStr = localStorage.getItem("admin");
let userlist = this.$store.getters.getUser(2); let userlist = this.$store.getters.getUser(2);
}, },
async fetch({ async fetch({ store, params }) {
store,
params
}) {
await store.dispatch("loadDictionary"); // 加载数据字典 await store.dispatch("loadDictionary"); // 加载数据字典
}, },
mounted() { mounted() {
......
...@@ -540,7 +540,7 @@ export default { ...@@ -540,7 +540,7 @@ export default {
}, },
//新增保存或修改保存 //新增保存或修改保存
save() { save() {
this.cur.groupId = this.eid; this.cur.projectId = this.eid;
if (this.cur.userId === undefined) { if (this.cur.userId === undefined) {
this.$Message.error("请选择人员"); this.$Message.error("请选择人员");
return; return;
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<Icon type="ios-arrow-forward" size="24" /> <Icon type="ios-arrow-forward" size="24" />
</a> </a>
</div> </div>
<Content class="content" :class="!showMenu?'con_bord':''" > <Content class="content" :class="!showMenu?'con_bord':''">
<DataGrid :columns="columns" ref="grid" :action="action" :conditions="easySearch" :lazy="true"> <DataGrid :columns="columns" ref="grid" :action="action" :conditions="easySearch" :lazy="true">
<template slot="easySearch"> <template slot="easySearch">
<Form ref="formInline" inline> <Form ref="formInline" inline>
...@@ -175,6 +175,8 @@ export default { ...@@ -175,6 +175,8 @@ export default {
return h('DateRange', { return h('DateRange', {
props: { props: {
value: params.row, value: params.row,
start: 'plansToStartDate',
end: 'plansToEndTime',
} }
}) })
} }
......
<template> <template>
<div class="end-issued"> <div class="end-issued">
<DataGrid :columns="columns" ref="grid" :action="action" :conditions="easySearch" :high="false" :height="tdHeight"></DataGrid> <DataGrid
<Modal v-model="detailModal" title="查看合格证" @on-cancel="reload" footer-hide width="1000" :mask-closable="false"> :columns="columns"
ref="grid"
:action="action"
:conditions="easySearch"
:high="false"
:height="tdHeight"
></DataGrid>
<Modal
v-model="detailModal"
title="查看合格证"
@on-cancel="reload"
footer-hide
width="1000"
:mask-closable="false"
>
<Detail @on-close="cancel" @on-ok="addOk" :eid="curId" ref="listDetail" /> <Detail @on-close="cancel" @on-ok="addOk" :eid="curId" ref="listDetail" />
</Modal> </Modal>
</div> </div>
</template> </template>
<script> <script>
...@@ -13,7 +27,7 @@ import Detail from "./detail"; ...@@ -13,7 +27,7 @@ import Detail from "./detail";
export default { export default {
name: "index", name: "index",
components: { components: {
Detail Detail,
}, },
data() { data() {
return { return {
...@@ -23,17 +37,20 @@ export default { ...@@ -23,17 +37,20 @@ export default {
modalInfo: false, modalInfo: false,
tdHeight: "", tdHeight: "",
rules: { rules: {
approveUser: [{ approveUser: [
{
required: true, required: true,
message: "必填", message: "必填",
trigger: "blur" trigger: "blur",
}] },
],
}, },
columns: [{ columns: [
{
key: "id", key: "id",
title: this.l("id"), title: this.l("id"),
hide: true, hide: true,
align: "left" align: "left",
}, },
// { // {
// type: 'selection', // type: 'selection',
...@@ -45,28 +62,28 @@ export default { ...@@ -45,28 +62,28 @@ export default {
title: this.l("mesCode"), title: this.l("mesCode"),
align: "left", align: "left",
easy: true, easy: true,
high: true high: true,
}, },
{ {
key: "productName", key: "productName",
title: this.l("productName"), title: this.l("productName"),
align: "left", align: "left",
easy: true, easy: true,
high: true high: true,
}, },
{ {
key: "drawnNumber", key: "drawnNumber",
title: this.l("drawnNumber"), title: this.l("drawnNumber"),
align: "left", align: "left",
easy: true, easy: true,
high: true high: true,
}, },
{ {
key: "quantity", key: "quantity",
title: this.l("quantity"), title: this.l("quantity"),
align: "left", align: "left",
easy: true, easy: true,
high: true high: true,
}, },
{ {
...@@ -74,14 +91,14 @@ export default { ...@@ -74,14 +91,14 @@ export default {
title: this.l("qualifiedQuantity"), title: this.l("qualifiedQuantity"),
align: "left", align: "left",
easy: true, easy: true,
high: true high: true,
}, },
{ {
key: "uncertificateQuantity", key: "uncertificateQuantity",
title: this.l("uncertificateQuantity"), title: this.l("uncertificateQuantity"),
align: "left", align: "left",
easy: true, easy: true,
high: true high: true,
}, },
{ {
key: "actualFinishDate", key: "actualFinishDate",
...@@ -92,61 +109,66 @@ export default { ...@@ -92,61 +109,66 @@ export default {
render: (h, params) => { render: (h, params) => {
return h( return h(
"span", "span",
params.row.actualFinishDate == "0001-01-01 00:00:00" ? params.row.actualFinishDate == "0001-01-01 00:00:00"
"" : ? ""
params.row.actualFinishDate : params.row.actualFinishDate
); );
} },
}, },
{ {
key: "productingPreparationPeople", key: "productingPreparationPeople",
title: this.l("productingPreparationPeople"), title: this.l("productingPreparationPeople"),
align: "left", align: "left",
easy: true, easy: true,
high: true
},
{
key: "status",
title: this.l("status"),
align: "left",
easy: true,
high: true, high: true,
code: "plan.order.status"
}, },
// {
// key: "status",
// title: this.l("status"),
// align: "left",
// easy: true,
// high: true,
// code: "plan.order.status"
// },
{ {
title: "操作", title: "操作",
key: "action", key: "action",
render: (h, params) => { render: (h, params) => {
return h("div", { return h(
class: "action" "div",
}, [ {
class: "action",
},
[
h( h(
"op", { "op",
{
attrs: { attrs: {
oprate: "detail", oprate: "detail",
title: "查看合格证" title: "查看合格证",
}, },
on: { on: {
click: () => this.detail(params.row.id) click: () => this.detail(params.row.id),
} },
}, },
"查看合格证" "查看合格证"
) ),
]); ]
} );
} },
},
], ],
easySearch: { easySearch: {
keys: { keys: {
op: "mesCode", op: "mesCode",
value: "", value: "",
default: true default: true,
}, },
type: { type: {
op: "Equal", op: "Equal",
value: 2 value: 2,
} },
} },
}; };
}, },
mounted() {}, mounted() {},
...@@ -177,8 +199,8 @@ export default { ...@@ -177,8 +199,8 @@ export default {
l(key) { l(key) {
let vkey = "waitOpened" + "." + key; let vkey = "waitOpened" + "." + key;
return this.$t(vkey) || key; return this.$t(vkey) || key;
} },
} },
}; };
</script> </script>
......
<template> <template>
<div class="pdf-detail"> <div class="pdf-detail">
<div class="pdf-out"> <div class="pdf-out">
<Button type="primary" @click="$u.outPdf('.cerioficate-pdf-detail','合格证')">导出</Button> <Button
type="primary"
@click="$u.outPdf('.cerioficate-pdf-detail', '合格证')"
>导出</Button
>
</div> </div>
<div class="cerioficate-pdf-detail"> <div class="cerioficate-pdf-detail">
<!-- <div class="pdf-img"> <!-- <div class="pdf-img">
<img src="@/assets/images/log_pdf.png" alt="图片未加载" /> <img src="@/assets/images/log_pdf.png" alt="图片未加载" />
</div> --> </div> -->
<div class="pdf-title">产品合格证</div> <div class="pdf-title">产品合格证</div>
<div class="bian-hao">产品合格证编号:{{results.serialNumber}}</div> <div class="bian-hao">产品合格证编号:{{ results.serialNumber }}</div>
<div class="body-d body-table"> <div class="body-d body-table">
<Row class="row-border right-border"> <Row class="row-border right-border">
<Col :span="4" class="col-border">用户单位</Col> <Col :span="4" class="col-border">用户单位</Col>
<Col :span="20" class="col-border">{{results.userUnit}}</Col> <Col :span="20" class="col-border">{{ results.userUnit }}</Col>
</Row> </Row>
<Row class="row-border right-border"> <Row class="row-border right-border">
<Col :span="4" class="col-border">任务依据</Col> <Col :span="4" class="col-border">任务依据</Col>
<Col :span="20" class="col-border">{{results.taskBased}}</Col> <Col :span="20" class="col-border">{{ results.taskBased }}</Col>
</Row> </Row>
<Row class="row-border right-border"> <Row class="row-border right-border">
<Col :span="4" class="col-border">产品名称</Col> <Col :span="4" class="col-border">产品名称</Col>
<Col :span="8" class="col-border">{{results.productName}}</Col> <Col :span="8" class="col-border">{{ results.productName }}</Col>
<Col :span="4" class="col-border">产品状态</Col> <!-- <Col :span="4" class="col-border">产品状态</Col>
<Col :span="8" class="col-border">{{results.productStatus}}</Col> <Col :span="8" class="col-border">
<state code="plan.order.status" :value="results.productStatus"
/></Col> -->
</Row> </Row>
<Row class="row-border right-border"> <Row class="row-border right-border">
<Col :span="4" class="col-border">产品编号</Col> <Col :span="4" class="col-border">产品编号</Col>
<Col :span="8" class="col-border">{{results.productSerialNumber}}</Col> <Col :span="8" class="col-border">{{
results.productSerialNumber
}}</Col>
<Col :span="4" class="col-border">原材料批号</Col> <Col :span="4" class="col-border">原材料批号</Col>
<Col :span="8" class="col-border">{{results.materialSerialNumber}}</Col> <Col :span="8" class="col-border">{{
results.materialSerialNumber
}}</Col>
</Row> </Row>
<Row class="row-border right-border"> <Row class="row-border right-border">
<Col :span="4" class="col-border">原材料编号</Col> <Col :span="4" class="col-border">原材料编号</Col>
<Col :span="8" class="col-border">{{results.materialCode}}</Col> <Col :span="8" class="col-border">{{ results.materialCode }}</Col>
<Col :span="4" class="col-border">产品代号(图号)</Col> <Col :span="4" class="col-border">产品代号(图号)</Col>
<Col :span="8" class="col-border">{{results.productCode}}</Col> <Col :span="8" class="col-border">{{ results.productCode }}</Col>
</Row> </Row>
<Row class="row-border right-border"> <Row class="row-border right-border">
<Col :span="4" class="col-border">原材料合格证编号</Col> <Col :span="4" class="col-border">原材料合格证编号</Col>
<Col :span="8" class="col-border">{{results.materialCertificationNumber}}</Col> <Col :span="8" class="col-border">{{
results.materialCertificationNumber
}}</Col>
<Col :span="4" class="col-border">数量</Col> <Col :span="4" class="col-border">数量</Col>
<Col :span="8" class="col-border">{{results.productQuantity}}</Col> <Col :span="8" class="col-border">{{ results.productQuantity }}</Col>
</Row> </Row>
<!-- <Row class="row-border right-border"> <!-- <Row class="row-border right-border">
<Col :span="4" class="col-border">增材制造批次号</Col> <Col :span="4" class="col-border">增材制造批次号</Col>
...@@ -57,66 +69,82 @@ ...@@ -57,66 +69,82 @@
<Col :span="5" class="col-border">结论</Col> <Col :span="5" class="col-border">结论</Col>
<Col :span="5" class="col-border">备注</Col> <Col :span="5" class="col-border">备注</Col>
</Row> </Row>
<Row class="row-border right-border" v-for="(item,index) in results.items" :key="index"> <Row
<Col :span="1" class="col-border">{{index+1}}</Col> class="row-border right-border"
<Col :span="5" class="col-border">{{item.name}}</Col> v-for="(item, index) in results.items"
<Col :span="5" class="col-border">{{item.require}}</Col> :key="index"
<Col :span="3" class="col-border">{{item.result}}</Col> >
<Col :span="5" class="col-border">{{item.conclusion}}</Col> <Col :span="1" class="col-border">{{ index + 1 }}</Col>
<Col :span="5" class="col-border">{{item.remark}}</Col> <Col :span="5" class="col-border">{{ item.name }}</Col>
<Col :span="5" class="col-border">{{ item.require }}</Col>
<Col :span="3" class="col-border">{{ item.result }}</Col>
<Col :span="5" class="col-border">{{ item.conclusion }}</Col>
<Col :span="5" class="col-border">{{ item.remark }}</Col>
</Row> </Row>
<Row class="row-border right-border"> <Row class="row-border right-border">
<Col :span="4" class="col-border">结论</Col> <Col :span="4" class="col-border">结论</Col>
<Col :span="20" class="col-border">{{results.conclusion}}</Col> <Col :span="20" class="col-border">{{ results.conclusion }}</Col>
</Row> </Row>
<Row class="row-border right-border bottom-border"> <Row class="row-border right-border bottom-border">
<Col :span="4" class="col-border">检验员 / 时间</Col> <Col :span="4" class="col-border">检验员 / 时间</Col>
<Col :span="8" class="col-border">{{results.examUser}} {{results.examDate}}</Col> <Col :span="8" class="col-border">
<User :value="parseInt(results.examUser)" />&nbsp;
{{ results.examDate }}</Col
>
<Col :span="4" class="col-border">批准人 / 时间</Col> <Col :span="4" class="col-border">批准人 / 时间</Col>
<Col :span="8" class="col-border">{{results.approveUser}} {{results.approveDate}}</Col> <Col :span="8" class="col-border"
><User :value="parseInt(results.approveUser)" />&nbsp;
{{ results.approveDate }}</Col
>
</Row> </Row>
</div> </div>
<div style="margin-top:20px;">本合格证无检验专用章无效 (版本:MB.FFGGHJKLL)</div> <div style="margin-top: 20px">
<Row style="margin-top:5px;"> 本合格证无检验专用章无效 (版本:MB.FFGGHJKLL)
</div>
<Row style="margin-top: 5px">
<Col :span="10">地址:</Col> <Col :span="10">地址:</Col>
<Col :span="8" >电话:</Col> <Col :span="8">电话:</Col>
<Col :span="6" >邮编:</Col> <Col :span="6">邮编:</Col>
</Row> </Row>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import Api from '../../certificate/api' import Api from "../../certificate/api";
export default { export default {
name: '', name: "",
props: { props: {
eid: Number eid: Number,
}, },
data() { data() {
return { return {
results: [] results: [],
} };
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
}, },
created() { created() {
// this.loadss() // this.loadss()
}, },
methods: { methods: {
load(v) { load(v) {
Api.getCertificate({ id: v }).then((r) => { Api.getCertificate({ id: v }).then((r) => {
this.results = r.result this.results = r.result;
console.log(r.result) console.log(r.result);
}) });
} },
}, },
watch: { watch: {
eid(v) { eid(v) {
if (v != null) { if (v != null) {
this.load(v) this.load(v);
} }
} },
} },
} };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
......
...@@ -14,8 +14,10 @@ ...@@ -14,8 +14,10 @@
<Row class="row-border right-border"> <Row class="row-border right-border">
<Col :span="4" class="col-border">产品名称</Col> <Col :span="4" class="col-border">产品名称</Col>
<Col :span="8" class="col-border">{{ results.productName }}</Col> <Col :span="8" class="col-border">{{ results.productName }}</Col>
<Col :span="4" class="col-border">产品状态</Col> <!-- <Col :span="4" class="col-border">产品状态</Col>
<Col :span="8" class="col-border">{{ results.productStatus }}</Col> <Col :span="8" class="col-border">
<state code="plan.order.status" :value="results.productStatus"
/></Col> -->
</Row> </Row>
<Row class="row-border right-border"> <Row class="row-border right-border">
<Col :span="4" class="col-border">产品编号</Col> <Col :span="4" class="col-border">产品编号</Col>
...@@ -75,11 +77,13 @@ ...@@ -75,11 +77,13 @@
<Row class="row-border right-border bottom-border"> <Row class="row-border right-border bottom-border">
<Col :span="4" class="col-border">检验员 / 时间</Col> <Col :span="4" class="col-border">检验员 / 时间</Col>
<Col :span="8" class="col-border" <Col :span="8" class="col-border"
>{{ results.examUser }} {{ results.examDate }}</Col ><User :value="parseInt(results.examUser)" />&nbsp;
{{ results.examDate }}</Col
> >
<Col :span="4" class="col-border">批准人 / 时间</Col> <Col :span="4" class="col-border">批准人 / 时间</Col>
<Col :span="8" class="col-border" <Col :span="8" class="col-border"
>{{ results.approveUser }} {{ results.approveDate }}</Col ><User :value="parseInt(results.approveUser)" />&nbsp;
{{ results.approveDate }}</Col
> >
</Row> </Row>
</div> </div>
...@@ -105,6 +109,10 @@ export default { ...@@ -105,6 +109,10 @@ export default {
data() { data() {
return {}; return {};
}, },
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
methods: { methods: {
l(key) { l(key) {
key = "waitOpened" + "." + key; key = "waitOpened" + "." + key;
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
/> />
</FormItem> </FormItem>
</Col> </Col>
<Col :span="6"> <!-- <Col :span="6">
<FormItem :label="l('productStatus')" prop="productStatus"> <FormItem :label="l('productStatus')" prop="productStatus">
<Dictionary <Dictionary
disabled disabled
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
:key="entity.productStatus" :key="entity.productStatus"
></Dictionary> ></Dictionary>
</FormItem> </FormItem>
</Col> </Col> -->
<Col :span="6"> <Col :span="6">
<FormItem :label="l('materialCode')" prop="materialCode"> <FormItem :label="l('materialCode')" prop="materialCode">
<Input v-model="entity.materialCode"></Input> <Input v-model="entity.materialCode"></Input>
...@@ -154,7 +154,7 @@ ...@@ -154,7 +154,7 @@
</Col> </Col>
<Col :span="6"> <Col :span="6">
<FormItem :label="l('examUser')" prop="examUser"> <FormItem :label="l('examUser')" prop="examUser">
<UserSelect ref="examUser" v-model="entity.examUser" /> <UserSelect ref="examUser" v-model="entity.examUser" :roleTitle='roleTitle'/>
</FormItem> </FormItem>
</Col> </Col>
<!-- <Col :span="6"> <!-- <Col :span="6">
...@@ -196,6 +196,7 @@ export default { ...@@ -196,6 +196,7 @@ export default {
data() { data() {
return { return {
isId: "", isId: "",
roleTitle:"检验",
examineModal: false, examineModal: false,
submit: true, submit: true,
isDisabled: false, isDisabled: false,
...@@ -213,6 +214,7 @@ export default { ...@@ -213,6 +214,7 @@ export default {
id: 0, id: 0,
status: 0, status: 0,
items: [], items: [],
userUnit:''
}, },
rules: { rules: {
// userUnit: [{ required: true, message: "必填", trigger: "change" }], // userUnit: [{ required: true, message: "必填", trigger: "change" }],
......
...@@ -94,14 +94,14 @@ export default { ...@@ -94,14 +94,14 @@ export default {
easy: true, easy: true,
high: true high: true
}, },
{ // {
key: "status", // key: "status",
title: this.l("status"), // title: this.l("status"),
align: "left", // align: "left",
easy: true, // easy: true,
high: true, // high: true,
code: "plan.order.status" // code: "plan.order.status"
}, // },
{ {
title: "操作", title: "操作",
key: "action", key: "action",
......
import Api from '@/plugins/request' import Api from '@/plugins/request'
export default { export default {
index:`${resourceUrl}/materialpowder/itempaged`, index:`${material}/material/paged`,
paged(params){ paged(params){
return Api.post(`${resourceUrl}/materialpowder/itempaged`,params); return Api.post(`${material}/material/paged`,params);
}, },
get(params){ get(params){
return Api.get(`${resourceUrl}/materialpowder/get`,params); return Api.get(`${material}/materialpowder/get`,params);
}, },
create(params){ create(params){
return Api.post(`${resourceUrl}/materialpowder/create`,params); return Api.post(`${material}/materialpowder/create`,params);
}, },
update(params){ update(params){
return Api.post(`${resourceUrl}/materialpowder/update`,params); return Api.post(`${material}/materialpowder/update`,params);
}, },
//删除: //删除:
delete(params) { delete(params) {
return Api.delete(`${resourceUrl}/materialpowder/delete`,{params:params}); return Api.delete(`${material}/materialpowder/delete`,{params:params});
}, },
} }
\ No newline at end of file
<template> <template>
<div> <div>
<DataGrid :columns="columns" ref="grid" :high='false' :action="action" :conditions="easySearch"></DataGrid> <DataGrid
:columns="columns"
ref="grid"
:high="false"
:action="action"
:conditions="easySearch"
></DataGrid>
</div> </div>
</template> </template>
<script> <script>
import Api from '../api' import Api from "../api";
export default { export default {
// name: 'list', // name: 'list',
// components:{ // components:{
...@@ -18,145 +24,157 @@ export default { ...@@ -18,145 +24,157 @@ export default {
detailModal: false, detailModal: false,
deletelModal: false, deletelModal: false,
easySearch: { easySearch: {
keys: { op: 'brand,name', value: '',default:true }, keys: { op: "brand,name", value: "", default: true },
reinspectionStatus: { op: 'Equal', value: 3 } reinspectionStatus: { op: "Equal", value: 1 },
}, },
curId: 0, curId: 0,
columns: [ columns: [
{ key: 'id', title: this.l('id'), hide: true, align: 'left' }, { key: "id", title: this.l("id"), hide: true, align: "left" },
{
key: 'brand',
title: this.l('brand'),
align: 'left',
easy: true,
high: true
},
{ {
key: 'name', key: "codeRuleType",
title: this.l('name'), title: "类型",
align: 'left', align: "center",
easy: true, code: "material.code.type",
high: true import: true,
}, hide: true,
},
// {
// key: "codeRuleId",
// title: "编码名称",
// materialKey: "3",
// import: true,
// hide: true,
// render: (h, params) => {
// return h("span", {}, this.getType3(params.row.codeRuleId));
// },
// },
// {
// key: "rootCategoryId",
// title: "大类",
// align: "right",
// materialKey: "1",
// import: true,
// hide: true,
// render: (h, params) => {
// return h("span", {}, this.getType1(params.row.rootCategoryId));
// },
// },
// {
// key: "categoryId",
// title: "子类",
// align: "right",
// materialKey: "2",
// import: true,
// hide: true,
// render: (h, params) => {
// return h("span", {}, this.getType2(params.row.categoryId));
// },
// },
{ {
key: 'specifications', key: "code",
title: this.l('specifications'), title: "编码",
align: 'left', align: "left",
easy: true, render: (h, params) => {
high: true return h(
}, "div",
{ {
key: 'batchNo', props: {},
title: this.l('batchNo'), on: {
align: 'left', click: () => this.details(params.row),
easy: true,
high: true,
hide:true,
}, },
{
key: 'originalManufacturer',
title: this.l('originalManufacturer'),
align: 'left',
easy: true,
high: true,
hide:true,
}, },
{ !params.row.code || params.row.code == 0
key: 'reinspectionDate', ? "未分配"
title: this.l('reinspectionDate'), : params.row.code
align: 'left', );
render: (h, paras) => {
return h('span', paras.row.reinspectionDate)
}, },
high: true,
width:180,
}, },
{ {
key: 'remainingAmount', key: "name",
title: this.l('remainingAmount'), title: "名称",
align: 'left', align: "left",
high: true
}, },
{ {
key: 'storeId', key: "status",
title: this.l('storeId'), title: "状态",
align: 'left', align: "center",
render: (h, paras) => { code: "material.main.status",
return h('span', paras.row.storeId)
}, },
high: true {
key: "version",
title: "版本",
align: "left",
code: "material.main.version",
}, },
{ {
key: 'location', key: "drawing",
title: this.l('location'), title: "图号",
align: 'left', align: "left",
easy: true,
high: true
}, },
{ {
key: 'category', key: "creationTime",
title: this.l('category'), title: "创建时间",
align: 'center', hide: true,
high: true, align: "left",
code: 'mes_xingchi_resource.material.powderType' type: "date",
}, },
{ {
key: 'reinspectionStatus', key: "creatorUserId",
title: this.l('reinspectionStatus'), title: "创建人",
align: 'center', hide: true,
code: 'mes_xingchi_resource.material.recheckState', align: "left",
easy: true, type: "user",
high: true
}, },
// render:(h,paras)=>{return h('span',paras.row.reinspectionStatus)} , // render:(h,paras)=>{return h('span',paras.row.reinspectionStatus)} ,
{ {
title: '操作', title: "操作",
key: 'id', key: "id",
width: 150, width: 150,
align: 'center', align: "center",
render: (h, params) => { render: (h, params) => {
// let herfurl = params.row.certificateUploadPath; // let herfurl = params.row.certificateUploadPath;
return h('div', { class: 'action' }, [ return h("div", { class: "action" }, [
h( h(
'op', "op",
{ {
attrs:{ attrs: {
oprate:'detail' oprate: "detail",
} , },
class: 'view', class: "view",
on: { click: () => { on: {
this.detail(params.row) click: () => {
} } this.detail(params.row);
},
}, },
'查看复验单'
)
])
}
}
]
}
}, },
mounted() { "查看复验单"
),
]);
}, },
},
],
};
},
mounted() {},
methods: { methods: {
reload(){ reload() {
this.$refs.grid.load() this.$refs.grid.load();
}, },
detail(row) { detail(row) {
let ssdata = row.certificateUploadPath let ssdata = row.certificateUploadPath;
if(this.$u.isNull(ssdata)){ if (this.$u.isNull(ssdata)) {
this.$Message.warning('复验单为空!') this.$Message.warning("复验单为空!");
}else{ } else {
var item=JSON.parse(ssdata)[0]["filePath"], var item = JSON.parse(ssdata)[0]["filePath"],
url = fileUrlDown + item; url = fileUrlDown + item;
window.open(url) window.open(url);
// this.$Message.warning('文件格式不支持') // this.$Message.warning('文件格式不支持')
} }
}, },
removeCancel() { removeCancel() {
this.deletelModal = false this.deletelModal = false;
}, },
l(key) { l(key) {
/* /*
...@@ -186,11 +204,11 @@ export default { ...@@ -186,11 +204,11 @@ export default {
lastModifierUserId:'', lastModifierUserId:'',
} }
*/ */
let vkey = 'waitReview' + '.' + key let vkey = "waitReview" + "." + key;
return this.$t(vkey) || key return this.$t(vkey) || key;
} },
} },
} };
</script> </script>
<style lang="less"> <style lang="less">
</style> </style>
\ No newline at end of file
This diff is collapsed.
<template> <template>
<div class="resources-p h100"> <div class="resources-p h100">
<DataGrid <DataGrid :columns="columns" ref="grid" :action="action" :high="false" @on-selection-change="onSelect">
:columns="columns"
ref="grid"
:action="action"
:high="false"
@on-selection-change="onSelect"
>
<template slot="easySearch"> <template slot="easySearch">
<Form ref="formInline" :model="easySearch" inline> <Form ref="formInline" :model="easySearch" inline>
<FormItem prop="keys"> <FormItem prop="keys">
...@@ -43,15 +37,16 @@ ...@@ -43,15 +37,16 @@
</template> </template>
</DataGrid> </DataGrid>
<Modal v-model="editModal" title="设置日历" footer-hide> <Modal v-model="editModal" title="设置日历" footer-hide width="1000">
<Set :eid="curId" @on-close="cancel" @on-ok="addOk" /> <Set :eid="curId" @on-close="cancel" @on-ok="addOk" />
</Modal> </Modal>
<Modal v-model="deletelModal" title="删除" @on-ok="removeOk" @on-cancel="cancel"> <Modal v-model="deletelModal" title="删除" @on-ok="removeOk" @on-cancel="cancel">
<p>确定删除?</p> <p>确定删除?</p>
</Modal> </Modal>
</div> </div>
</template> </template>
<script> <script>
import Api from "./api"; import Api from "./api";
...@@ -66,7 +61,10 @@ export default { ...@@ -66,7 +61,10 @@ export default {
return { return {
action: Api.index, action: Api.index,
easySearch: { easySearch: {
keys: { op: "title,code,type,departTitle", value: null }, keys: {
op: "title,code,type,departTitle",
value: null
},
}, },
entity: { entity: {
isimportant: "1", isimportant: "1",
...@@ -77,11 +75,23 @@ export default { ...@@ -77,11 +75,23 @@ export default {
deletelModal: false, deletelModal: false,
curId: 0, curId: 0,
rules: { rules: {
isimportant: [{ required: true, message: "必填", trigger: "blur" }], isimportant: [{
capabilityValue: [{ required: true, message: "必填", trigger: "blur" }], required: true,
message: "必填",
trigger: "blur"
}],
capabilityValue: [{
required: true,
message: "必填",
trigger: "blur"
}],
},
columns: [{
key: "id",
title: this.l("id"),
hide: true,
align: "left"
}, },
columns: [
{ key: "id", title: this.l("id"), hide: true, align: "left" },
{ {
type: "selection", type: "selection",
width: 70, width: 70,
...@@ -185,20 +195,29 @@ export default { ...@@ -185,20 +195,29 @@ export default {
width: 140, width: 140,
align: "center", align: "center",
render: (h, params) => { render: (h, params) => {
return h("div", { class: "action" }, [ return h("div", {
class: "action"
}, [
h( h(
"op", "op", {
{ attrs: {
attrs: { oprate: "edit" }, oprate: "edit"
on: { click: () => this.edit(params.row.id) }, },
on: {
click: () => this.edit(params.row.id)
},
}, },
"设置" "设置"
), ),
h( h(
"op", "op", {
{ attrs: {
attrs: { oprate: "remove", title: "删除" }, oprate: "remove",
on: { click: () => this.remove(params.row.id) }, title: "删除"
},
on: {
click: () => this.remove(params.row.id)
},
}, },
"删除" "删除"
), ),
...@@ -211,7 +230,10 @@ export default { ...@@ -211,7 +230,10 @@ export default {
mounted() { mounted() {
console.log(this); console.log(this);
}, },
async fetch({ store, params }) { async fetch({
store,
params
}) {
await store.dispatch("loadDictionary"); // 加载数据字典 await store.dispatch("loadDictionary"); // 加载数据字典
}, },
methods: { methods: {
...@@ -234,7 +256,9 @@ export default { ...@@ -234,7 +256,9 @@ export default {
this.curId = id; this.curId = id;
}, },
removeOk() { removeOk() {
Api.delete({ id: this.curId }).then((r) => { Api.delete({
id: this.curId
}).then((r) => {
if (r.success) { if (r.success) {
this.$refs.grid.load(); this.$refs.grid.load();
this.deletelModal = false; this.deletelModal = false;
...@@ -300,20 +324,25 @@ export default { ...@@ -300,20 +324,25 @@ export default {
}, },
}; };
</script> </script>
<style lang="less"> <style lang="less">
@import "../../../assets/css/custom.less"; @import "../../../assets/css/custom.less";
.resources-p { .resources-p {
.form-row { .form-row {
width: 600px; width: 600px;
margin-left: 50px; margin-left: 50px;
.ivu-form-item-label { .ivu-form-item-label {
color: @form-color; color: @form-color;
} }
} }
.ivu-footer-toolbar-right { .ivu-footer-toolbar-right {
width: 1100px; width: 1100px;
position: relative !important; position: relative !important;
} }
.btn { .btn {
position: absolute !important; position: absolute !important;
top: 12px !important; top: 12px !important;
......
<template> <template>
<Form ref="form" :model="formItem" :rules="rules" :label-width="90"> <Form ref="form" :model="formItem" :rules="rules" :label-width="110">
<Row> <Row>
<Col span="12"> <Col span="12">
<FormItem label="资源名称" prop="equip_name"> <FormItem label="资源名称" prop="equip_name">
...@@ -13,19 +13,15 @@ ...@@ -13,19 +13,15 @@
</Col> </Col>
<Col :span="12"> <Col :span="12">
<FormItem label="工作日历" prop="work"> <FormItem label="工作日历" prop="work">
<Select v-model="formItem1.calendarwork_pk" clearable placeholder="请选择..."> <Select v-model="formItem1.calendarwork_pk" filterable clearable placeholder="请选择...">
<Option v-for="item in workList" :value="item.id" :key="item.calName">{{ item.calName }}</Option> <Option v-for="item in workList" :value="item.id" :key="item.calName">{{ item.calName }}</Option>
</Select> </Select>
</FormItem> </FormItem>
</Col> </Col>
<Col :span="12"> <Col :span="12">
<FormItem label="加班日历" prop="overtime"> <FormItem label="加班日历" prop="overtime">
<Select v-model="formItem2.calendarovertime_pk" clearable placeholder="请选择..."> <Select v-model="formItem2.calendarovertime_pk" filterable clearable placeholder="请选择...">
<Option <Option v-for="item in overtimeList" :value="item.id" :key="item.holidayCalName">{{ item.holidayCalName }}</Option>
v-for="item in overtimeList"
:value="item.id"
:key="item.holidayCalName"
>{{ item.holidayCalName }}</Option>
</Select> </Select>
</FormItem> </FormItem>
</Col> </Col>
...@@ -48,8 +44,9 @@ ...@@ -48,8 +44,9 @@
<Button type="primary" @click="handleSubmit" v-noClick>保存</Button> <Button type="primary" @click="handleSubmit" v-noClick>保存</Button>
<Button @click="handleClose" class="ml20">取消</Button> <Button @click="handleClose" class="ml20">取消</Button>
</FormItem> </FormItem>
</Form> </Form>
</template> </template>
<script> <script>
import Api from "./api"; import Api from "./api";
export default { export default {
...@@ -76,7 +73,11 @@ export default { ...@@ -76,7 +73,11 @@ export default {
}, },
entity: {}, entity: {},
rules: { rules: {
name: [{ required: true, message: "必填", trigger: "blur" }], name: [{
required: true,
message: "必填",
trigger: "blur"
}],
}, },
}; };
}, },
...@@ -109,7 +110,9 @@ export default { ...@@ -109,7 +110,9 @@ export default {
}); });
}, },
load(v) { load(v) {
Api.get({ id: v }).then((r) => { Api.get({
id: v
}).then((r) => {
this.formItem.equip_name = r.result.title; this.formItem.equip_name = r.result.title;
this.formItem.equip_id = r.result.code; this.formItem.equip_id = r.result.code;
this.formItem.capabilityValue = r.result.capabilityValue; this.formItem.capabilityValue = r.result.capabilityValue;
......
<template> <template>
<div> <div>
<div class="mb10 pt5"> <div class="mb10 pt5">
<Input v-model="searchValue" placeholder="请输入库位名称" clearable style="width: 240px" /> <Input
v-model="searchValue"
placeholder="请输入库位名称"
clearable
style="width: 240px"
/>
<Button type="primary" class @click="handleSearch">查询</Button> <Button type="primary" class @click="handleSearch">查询</Button>
<div class="fr"> <div class="fr">
<Button type="primary" @click="add()">新增库位</Button> <Button type="primary" @click="add()">新增库位</Button>
...@@ -75,9 +80,15 @@ export default { ...@@ -75,9 +80,15 @@ export default {
}, },
{ {
key: "materialTypeName", key: "materialTypeName",
title: "物料编号", title: "物料类型",
align: "left", align: "left",
}, },
// {
// key: "materialType",
// title: "物料类别",
// align: "left",
// code: "material.main.type",
// },
{ {
key: "userName", key: "userName",
title: this.l("userName"), title: this.l("userName"),
......
...@@ -249,17 +249,6 @@ export default { ...@@ -249,17 +249,6 @@ export default {
} else { } else {
this.entity.fileId = ""; this.entity.fileId = "";
} }
ApiWorkflow.getbyid({
id: "2085025d-9c38-4834-846a-8f9d2f4c8553",
})
.then((res) => {
if (res.success) {
let wfStatus = res.result.status;
if (wfStatus == 0) {
this.entity.approvalStatus = 4;
} else {
this.entity.approvalStatus = 1;
}
Api.create(this.entity) Api.create(this.entity)
.then((r) => { .then((r) => {
if (r.success) { if (r.success) {
...@@ -286,12 +275,6 @@ export default { ...@@ -286,12 +275,6 @@ export default {
console.warn(err); console.warn(err);
}); });
} }
})
.catch((err) => {
this.$Message.error("操作失败");
console.warn(err);
});
}
} }
}); });
}, },
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<template> <template>
<div class="detail"> <div class="detail">
<Row> <Row>
<Filed :span="12" :name="l('title')">{{entity.title}}</Filed> <Filed :span="12" :name="l('title')">{{entity.title}}</Filed>
<Filed :span="12" :name="l('status')"><state code="processCase.status" :value="entity.status+''" type="text" /></Filed> <Filed :span="12" :name="l('status')">
<state code="processCase.status" :value="entity.status+''" type="text" />
</Filed>
<Filed :span="12" :name="l('creator')">{{entity.creator}}</Filed> <Filed :span="12" :name="l('creator')">{{entity.creator}}</Filed>
<Filed :span="12" :name="l('creationTime')">{{entity.creationTime}}</Filed> <Filed :span="12" :name="l('creationTime')">{{entity.creationTime}}</Filed>
<Filed :span="24" :name="l('content')">{{entity.content}}</Filed> <Filed :span="24" :name="l('content')">
<div v-html="entity.content" class="tohtml"></div>
</Filed>
<Filed :span="24" :name="l('filePath')"> <Filed :span="24" :name="l('filePath')">
<files ref="refFile" :parms="parms" unClosable style="display:inline" /></Filed> <files ref="refFile" :parms="parms" unClosable style="display:inline" />
</Filed>
</Filed> </Filed>
</Row> </Row>
</div> </div>
</template> </template>
<script> <script>
import Api from "./api"; import Api from "./api";
export default { export default {
...@@ -20,8 +26,16 @@ export default { ...@@ -20,8 +26,16 @@ export default {
return { return {
entity: {}, entity: {},
rules: { rules: {
name: [{ required: true, message: "必填", trigger: "blur" }], name: [{
code: [{ required: true, message: "必填", trigger: "blur" }], required: true,
message: "必填",
trigger: "blur"
}],
code: [{
required: true,
message: "必填",
trigger: "blur"
}],
}, },
parms: { parms: {
app: "technology", app: "technology",
...@@ -44,7 +58,9 @@ export default { ...@@ -44,7 +58,9 @@ export default {
window.open(data, "_blank"); window.open(data, "_blank");
}, },
load(v) { load(v) {
Api.get({ id: v }).then((r) => { Api.get({
id: v
}).then((r) => {
this.entity = r.result; this.entity = r.result;
this.parms.eid = r.result.filePaths; this.parms.eid = r.result.filePaths;
this.$emit("on-load"); this.$emit("on-load");
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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