Commit 052957f9 authored by 仇晓婷's avatar 仇晓婷

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

parents 9dc65f96 dfd83c51
<template>
<ul class="actions">
<li class="item" v-for="(li, i) in items" @click="detail(li)">
<span v-if="mode == 'text'" class="text" v-text="li.label"></span>
<Tooltip v-if="mode == 'icon'" :content="li.label"
><Icon :type="li.icon"
/></Tooltip>
<div v-else class="ib">
<Icon type="li.icon" />
<span class="text" v-text="li.label"></span>
</div>
</li>
</ul>
</template>
<script>
export default {
name: "actions",
data() {
return {};
},
props: {
row: {
type: Object,
},
items: {
type: Array,
default: () => {
return [
{ label: "复制", icon: "md-copy", vclick: "" },
{ label: "新增", icon: "md-add", vclick: "" },
{ label: "删除", icon: "md-trash", vclick: "" },
{ label: "移动", icon: "md-move", vclick: "" },
{ label: "派发", icon: "ios-alarm", vclick: "" },
];
},
},
mode: {
// 显示类型
type: String,
validator: (value) => {
// 这个值必须匹配下列字符串中的一个
return ["icon", "text", "icon-text"].indexOf(value) !== -1;
},
default: "icon",
},
disabled: {
type: Boolean,
default: true,
},
max: {
type: Number,
default: 3,
},
},
methods: {
detail(li) {
if (li.confirm) {
var msg = li.confirm;
if (li.confirm === true) {
msg = `确定要${li.label}吗?`;
}
this.$Modal.confirm({
title: "操作确认",
content: msg,
onOk: () => {
this.$emit("on-click", this.row, li);
},
});
} else {
this.$emit("on-click", this.row, li);
}
},
},
};
</script>
<style lang="less">
.actions {
ul {
li {
float: left;
list-style: none;
width: 20px;
height: 20px;
text-align: center;
margin-left: 5px;
color: red;
}
}
}
</style>
\ No newline at end of file
......@@ -1818,9 +1818,8 @@ export default {
type: '类型',
attachment: '附件',
executor: '执行人',
}
,
project_main: {
},
project_main: {
creationTime: '创建时间',
creatorUserId: '创建人',
lastModificationTime: '更新时间',
......@@ -1838,7 +1837,5 @@ project_main: {
startDate: '开始日期',
endDate: '结束日期',
businessUnits: '业务单位',
}
}
}
<template>
<span class="i-layout-header-trigger i-layout-header-trigger-min">
<span class="i-layout-header-trigger i-layout-header-trigger-min">
<Dropdown transfer trigger="hover" @on-click="handleClickUserDropdown">
<span @click="openModelBugAdd">
<Badge :count="bugCount === 0 ? null : bugCount" :overflow-count="99" :offset="[10, 0]">
......@@ -11,15 +11,16 @@
<DropdownItem name="bug">bug列表</DropdownItem>
</DropdownMenu>
</Dropdown>
<Modal title="新增bug" v-model="bugAdd" fullscreen :z-index="10">
<Modal title="新增bug" v-model="bugAdd" fullscreen :z-index="999">
<addBugModal ref="addBug"></addBugModal>
<div slot="footer">
<Button @click="addCancel">取消</Button>
<Button type="primary" @click="addSave">确定</Button>
</div>
</Modal>
</span>
</span>
</template>
<script>
import addBugModal from "@/pages/bug/component/add";
export default {
......@@ -30,14 +31,16 @@ export default {
data() {
return {
bugAdd: false,
bugCount:3
bugCount: 3
};
},
computed: {},
methods: {
async handleClickUserDropdown(name) {
if (name === "bug") {
this.$router.push({ name: "bug" });
this.$router.push({
name: "bug"
});
}
},
openModelBugAdd() {
......
......@@ -344,7 +344,7 @@ henq.dirCode = (code, v) => {
return items
}
//colums验证start
henq.makeRules = (list, apiUrl) => {
//测试数据start
......@@ -551,4 +551,5 @@ henq.makeRules = (list, apiUrl) => {
})
return rules
}
//colums验证end
export default henq;
......@@ -52,7 +52,7 @@
</FormItem>
</Col>
<Col span="8">
<FormItem label="紧急程度" style="width:100%">
<FormItem label="紧急程度" style="width:100%" prop="urgencyLevel">
<dictionary style="width:240px" code="plan.order.urgencyLevel" v-model="orderSearchForm.urgencyLevel"></dictionary>
</FormItem>
</Col>
......@@ -136,6 +136,12 @@ export default {
type: "number",
trigger: "change",
}, ],
urgencyLevel: [{
required: true,
message: "请选择紧急程度",
trigger: "change",
type: "number",
}, ],
},
wfstatu: 1,
......
<template>
<Form :model="orderSearchForm" :label-width="95" :rules="ruleValidate" ref="formValidate">
<Form :model="orderSearchForm" :label-width="95" :rules="ruleValidate" ref="formValidate">
<Row>
<Col span="8">
<FormItem label="订单编号" style="width:100%">{{this.orderSearchForm.mesCode}}</FormItem>
</Col>
<Col span="8">
<FormItem :label="l('productName')" style="width:100%" prop="productId">
<Select
v-model="orderSearchForm.productId"
:placeholder="placeholdeinfo"
style="width:240px;"
>
<Option
v-for="(item,index) in list"
:key="index"
:value="item.value"
style="display:none"
:label="item.label"
></Option>
<Select v-model="orderSearchForm.productId" :placeholder="placeholdeinfo" style="width:240px;">
<Option v-for="(item,index) in list" :key="index" :value="item.value" style="display:none" :label="item.label"></Option>
<Tree key="mytree" :data="data1" ref="mytree" :render="renderContent"></Tree>
</Select>
</FormItem>
......@@ -33,11 +23,7 @@
<Row>
<Col span="8">
<FormItem :label="l('taskType')" style="width:100%" prop="taskType">
<dictionary
code="plan.order.taskType"
v-model="orderSearchForm.taskType"
style="width:240px"
></dictionary>
<dictionary code="plan.order.taskType" v-model="orderSearchForm.taskType" style="width:240px"></dictionary>
</FormItem>
</Col>
<Col span="8">
......@@ -47,26 +33,14 @@
</Col>
<Col span="8">
<FormItem :label="l('demandStartDate')" style="width:100%">
<DatePicker
type="date"
placeholder="请选择日期"
style="width:240px"
@on-change="getStartDate"
v-model="orderSearchForm.demandStartDate"
></DatePicker>
<DatePicker type="date" placeholder="请选择日期" style="width:240px" @on-change="getStartDate" v-model="orderSearchForm.demandStartDate"></DatePicker>
</FormItem>
</Col>
</Row>
<Row>
<Col span="8">
<FormItem :label="l('demandFinishDate')" style="width:100%">
<DatePicker
type="date"
placeholder="请选择日期"
style="width:240px"
@on-change="getFinishedDate"
v-model="orderSearchForm.demandFinishDate"
></DatePicker>
<DatePicker type="date" placeholder="请选择日期" style="width:240px" @on-change="getFinishedDate" v-model="orderSearchForm.demandFinishDate"></DatePicker>
</FormItem>
</Col>
......@@ -83,12 +57,8 @@
</Row>
<Row>
<Col span="8">
<FormItem :label="l('urgencyLevel')" style="width:100%">
<dictionary
style="width:240px"
code="plan.order.urgencyLevel"
v-model="orderSearchForm.urgencyLevel"
></dictionary>
<FormItem :label="l('urgencyLevel')" style="width:100%" prop="urgencyLevel">
<dictionary style="width:240px" code="plan.order.urgencyLevel" v-model="orderSearchForm.urgencyLevel"></dictionary>
</FormItem>
</Col>
<Col span="24">
......@@ -110,8 +80,9 @@
</FormItem>
</Col>
</Row>
</Form>
</Form>
</template>
<script>
import Api from "./api";
export default {
......@@ -120,30 +91,30 @@ export default {
return {
orderSearchForm: {},
ruleValidate: {
productId: [
{
productId: [{
required: true,
message: "请选择产品名称",
type: "number",
trigger: "change",
},
],
taskType: [
{
}, ],
taskType: [{
required: true,
message: "请选择任务类型",
trigger: "change",
type: "number",
},
],
quantity: [
{
}, ],
quantity: [{
required: true,
message: "请输入数量",
type: "number",
trigger: "change",
},
],
}, ],
urgencyLevel: [{
required: true,
message: "请选择紧急程度",
trigger: "change",
type: "number",
}, ],
},
placeholdeinfo: "",
list: [],
......@@ -177,7 +148,9 @@ export default {
},
methods: {
load(v) {
Api.get({ id: v }).then((r) => {
Api.get({
id: v
}).then((r) => {
this.entity = r.result;
this.$emit("on-load");
});
......@@ -215,7 +188,10 @@ export default {
this.selectdata = [];
this.selectdata = data;
this.list = [];
this.list.push({ label: data[0].title, value: data[0].id });
this.list.push({
label: data[0].title,
value: data[0].id
});
if (data[0].isProduct == "1") {
this.orderSearchForm.productName = data[0].title;
this.orderSearchForm.productId = data[0].productId;
......@@ -258,7 +234,11 @@ export default {
}
});
},
renderContent(h, { root, node, data }) {
renderContent(h, {
root,
node,
data
}) {
let type = "md-folder";
let title = data.title;
if (data.isProduct != 0) {
......@@ -274,8 +254,7 @@ export default {
}
}
return h(
"span",
{
"span", {
on: {
click: () => {
let arrTree = [];
......@@ -294,8 +273,7 @@ export default {
},
}),
h(
"span",
{
"span", {
style: {
color: data.isProduct == 0 ? "#000" : "rgba(38, 128, 235, 1)",
},
......
......@@ -5,6 +5,7 @@
<Icon type="ios-arrow-down" />
</p>
项目信息
<Actions/>
</Card>
<Card>
<TreeGrid :columns="columns" ref="grid" :items="list"
......@@ -78,35 +79,47 @@ export default {
key: "action",
width: 150,
align: "center",
render: (h, params) => {
return h("div", { class: "action" }, [
h(
"op",
{
attrs: { oprate: "detail" },
on: { click: () => this.view(params.row.id) },
},
"查看"
),
//h('op', { attrs: { oprate: 'copy' }, on: { click: () => this.copy(params.row.id) } }, '克隆'),
h(
"op",
{
attrs: { oprate: "edit" },
on: { click: () => this.edit(params.row.id) },
},
"编辑"
),
h(
"op",
{
attrs: { oprate: "delete" },
on: { click: () => this.remove(params.row.id) },
},
"删除"
),
]);
},
// render:(h,params)=>{
// return h("Actions"
// ,{
// attrs:{
// row:params,
// },
// on:{
// 'on-click':()=>this.rowclick
// }
// }
// )
// }
// render: (h, params) => {
// return h("div", { class: "action" }, [
// h(
// "op",
// {
// attrs: { oprate: "detail" },
// on: { click: () => this.view(params.row.id) },
// },
// "查看"
// ),
// //h('op', { attrs: { oprate: 'copy' }, on: { click: () => this.copy(params.row.id) } }, '克隆'),
// h(
// "op",
// {
// attrs: { oprate: "edit" },
// on: { click: () => this.edit(params.row.id) },
// },
// "编辑"
// ),
// h(
// "op",
// {
// attrs: { oprate: "delete" },
// on: { click: () => this.remove(params.row.id) },
// },
// "删除"
// ),
// ]);
// },
},
{
key: "type",
......@@ -155,25 +168,29 @@ export default {
},
mounted() {
console.log(this);
this.search();
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
methods: {
ok() {
// this.$refs.grid.load();
this.search();
this.modal = false;
this.curId = 0;
},
search() {
this.$refs.grid.reload(this.easySearch);
// this.$refs.grid.reload(this.easySearch);
var params={
conditions:[]
}
Api.list(params).then(r=>{
this.list=r.result;
})
},
rowclick(row,li){
console.warn("rowclick",row,li);
},
add() {
this.curId = 0;
this.title = "新增";
......@@ -201,7 +218,7 @@ export default {
remove(id) {
Api.delete(id).then((r) => {
if (r.success) {
this.$refs.grid.load();
this.search();
this.$Message.success("删除成功");
}
});
......
......@@ -187,14 +187,14 @@ export default {
runtime: 0,
efficiencyValue: 1,
singleOut: 1,
isOutside: null,
isImportant: null,
isOutside: 0,
isImportant: 0,
outsideTime: 0,
isImportantResources: null,
isImportantResources: 0,
setupTime: 0,
realWorkingHours: 0,
realRuntime: 0,
isParticipateIntime: null,
isParticipateIntime: 0,
equipType: "",
},
rules: {
......
......@@ -197,11 +197,11 @@ export default {
productionRequirement: "",
standard: "",
qualityTemplateName: "",
isImportant: null,
firstCheck: null,
inspection: null,
inspectionTime: null,
sampling: null,
isImportant: 0,
firstCheck: 0,
inspection: 0,
inspectionTime: 0,
sampling: 0,
samplingBatch: "",
},
tempFile: "",
......
<template>
<Form ref="form" :model="entity" :rules="rules" :label-width="120">
<template>
<Form ref="form" :model="entity" :rules="rules" :label-width="120">
<Row>
<!--
<Col :span="12">
......@@ -37,12 +37,7 @@
<Col :span="12">
<FormItem :label="l('routingDetailName')" prop="routingDetailId">
<Select v-model="entity.routingDetailId">
<Option
v-for="(item, index) in routingDetailList"
:value="item.value"
:key="index"
>{{ item.label }}</Option
>
<Option v-for="(item, index) in routingDetailList" :value="item.value" :key="index">{{ item.label }}</Option>
</Select>
</FormItem>
</Col>
......@@ -59,24 +54,9 @@
<Materiel :bomId="productBomId" v-model="entity.materialId" @on-change="change"></Materiel>
</FormItem>-->
<FormItem :label="l('nameMaterial')" prop="materialId">
<Select
v-model="entity.materialId"
placeholder="请选择"
style="width: 300px"
>
<Option
v-for="(item, index) in listData"
:key="index"
:value="item.value"
:label="item.label"
style="display: none"
></Option>
<Tree
key="mytree"
:data="dataTree"
ref="mytree"
:render="renderContent"
></Tree>
<Select v-model="entity.materialId" placeholder="请选择" style="width: 300px">
<Option v-for="(item, index) in listData" :key="index" :value="item.value" :label="item.label" style="display: none"></Option>
<Tree key="mytree" :data="dataTree" ref="mytree" :render="renderContent"></Tree>
</Select>
<!-- <Materiel
v-model="entity.materialId"
......@@ -93,10 +73,7 @@
</Col>-->
<Col :span="12">
<FormItem :label="l('quantity')" prop="quantity">
<InputNumber
v-model="entity.quantity"
style="width: 100%"
></InputNumber>
<InputNumber v-model="entity.quantity" style="width: 100%"></InputNumber>
</FormItem>
</Col>
<Divider orientation="left">物料属性</Divider>
......@@ -153,9 +130,11 @@
<Button type="primary" @click="handleSubmit" v-noClick>保存</Button>
<Button @click="handleClose" class="ml20">取消</Button>
</FormItem>
</Form>
</Form>
</template>
<script>
<script>
import Api from "./api";
import ApiDetail from "../api";
export default {
......@@ -180,36 +159,30 @@ export default {
texture: "",
procurementStandards: "",
qualityGrade: "",
state: null,
state: 0,
extend: "",
remark: "",
drawNum: "",
json: {},
},
rules: {
routingDetailId: [
{
routingDetailId: [{
required: true,
message: "请选择工序",
type: "number",
trigger: "change",
},
],
materialId: [
{
}, ],
materialId: [{
required: true,
message: "请选择工序",
trigger: "change",
},
],
quantity: [
{
}, ],
quantity: [{
required: true,
type: "number",
message: "请选择工序",
trigger: "blur",
},
],
}, ],
},
routingDetailList: [],
};
......@@ -228,11 +201,14 @@ export default {
this.getData();
},
methods: {
renderContent(h, { root, node, data }) {
renderContent(h, {
root,
node,
data
}) {
//渲染树的样式
return h(
"span",
{
"span", {
style: {
cursor: "pointer",
},
......@@ -262,14 +238,18 @@ export default {
this.entity.materialNumber = data.mmcode;
this.entity.json.nameMaterial = data.name;
this.entity.json.materialNumber = data.mmcode;
Api.getMaterial({ id: data.materialId }).then((r) => {
Api.getMaterial({
id: data.materialId
}).then((r) => {
if (r.result) {
this.forItem = r.result;
}
});
},
getData() {
Api.alltree({ id: this.productBomId }).then((r) => {
Api.alltree({
id: this.productBomId
}).then((r) => {
if (r.success) {
this.dataTree = r.result;
// this.$Message.success("获取物料成功");
......@@ -344,8 +324,7 @@ export default {
}
},
productBomId(v) {
if (v > 0) {
}
if (v > 0) {}
},
},
};
......
......@@ -69,6 +69,7 @@ import CustomProperties from '@/components/page/customProperties.vue'
import InputCode from '@/components/page/inputCode.vue'
import Pictrue from '@/components/page/pictrue.vue'
import WordTree from '@/components/page/wordTree.vue'
import Actions from '@/components/page/actions.vue'
......@@ -144,6 +145,7 @@ Vue.component("CustomProperties",CustomProperties)
Vue.component("InputCode",InputCode)
Vue.component("Pictrue",Pictrue)
Vue.component("WordTree",WordTree)
Vue.component("Actions",Actions)
......
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