Browse Source

bugfix zentao

pull/43/head
lb 11 months ago
parent
commit
7acccd3de0
8 changed files with 201 additions and 97 deletions
  1. +3
    -3
      src/api/core/base/lineBindProductLog.js
  2. +16
    -3
      src/views/core/base/equipment/components/EquipmentDrawer.vue
  3. +19
    -3
      src/views/core/base/equipmentType/index.vue
  4. +3
    -2
      src/views/core/base/lineBindProductLog/index.vue
  5. +50
    -27
      src/views/core/base/product/add-or-updata.vue
  6. +94
    -52
      src/views/core/base/productionLine/add-or-updata.vue
  7. +1
    -1
      src/views/core/base/productionLine/index.vue
  8. +15
    -6
      src/views/equipment/analysis/quality/index.vue

+ 3
- 3
src/api/core/base/lineBindProductLog.js View File

@@ -35,11 +35,11 @@ export function getLineBindProductLog(id) {
}

// 获得产线目前生产产品表 主要为更新分页
export function getLineBindProductLogPage(query) {
export function getLineBindProductLogPage(data) {
return request({
url: '/base/line-bind-product-log/page',
method: 'get',
params: query
method: 'post',
data
})
}



+ 16
- 3
src/views/core/base/equipment/components/EquipmentDrawer.vue View File

@@ -44,8 +44,8 @@
<base-table
v-loading="attrListLoading"
:table-props="section.props"
:page="section.pageNo || 1"
:limit="section.pageSize || 10"
:page="attrQuery?.params.pageNo || 1"
:limit="attrQuery?.params.pageSize || 10"
:table-data="list"
:add-button-show="mode.includes('detail') ? null : '添加属性'"
@emitButtonClick="handleAddAttr"
@@ -57,6 +57,14 @@
:method-list="tableBtn"
@clickBtn="handleTableBtnClick" />
</base-table>

<!-- 分页组件 -->
<pagination
v-show="total > 0"
:total="total"
:page.sync="attrQuery.params.pageNo"
:limit.sync="attrQuery.params.pageSize"
@pagination="getAttrList" />
</div>
</section>
</div>
@@ -160,7 +168,12 @@ export default {
},
],
],
attrQuery: null, // 属性列表的请求
attrQuery: {
params: {
pageNo: 1,
pageSize: 10,
},
}, // 属性列表的请求
infoQuery: null, // 基本信息的请求
attrFormSubmitting: false,
attrListLoading: false,


+ 19
- 3
src/views/core/base/equipmentType/index.vue View File

@@ -38,6 +38,21 @@
@cancel="cancel"
@confirm="submitForm">
<DialogForm v-if="open" ref="form" :dataForm="form" :rows="rows" />
<div style="padding: 12px; background: #ccc">
<h3>文件列表</h3>
<hr />
<ul>
<li v-for="item in form.fileUrls" :key="item">
{{ JSON.stringify(item) }}
</li>
</ul>
<hr />
<ul>
<li v-for="item in form.fileNames" :key="item">
{{ JSON.stringify(item) }}
</li>
</ul>
</div>
</base-dialog>
</div>
</template>
@@ -86,9 +101,9 @@ export default {
width: 180,
filter: (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'),
},
{ prop: 'name', label: '设备类型名称', },
{ prop: 'code', label: '检测类型编码', },
{ prop: 'remark', label: '备注', },
{ prop: 'name', label: '设备类型名称' },
{ prop: 'code', label: '检测类型编码' },
{ prop: 'remark', label: '备注' },
],
searchBarFormConfig: [
{
@@ -236,6 +251,7 @@ export default {
const id = row.id;
getEquipmentType(id).then((response) => {
this.form = response.data;
debugger;
this.open = true;
this.title = '修改设备类型';
});


+ 3
- 2
src/views/core/base/lineBindProductLog/index.vue View File

@@ -86,7 +86,8 @@ export default {
rangeSeparator: '-',
startPlaceholder: '开始时间',
endPlaceholder: '结束时间',
param: 'createTime',
param: 'startTime',
valueFormat: 'timestamp'
},
{
type: 'button',
@@ -126,7 +127,7 @@ export default {
this.listQuery.pageSize = 10;
this.listQuery.productionLineId = val.productionLineId;
this.listQuery.productId = val.productId;
this.listQuery.createTime = val.createTime;
this.listQuery.startTime = val.startTime;
this.getDataList();
break;
case 'reset':


+ 50
- 27
src/views/core/base/product/add-or-updata.vue View File

@@ -43,7 +43,7 @@
<el-form-item label="产品类型" prop="typeDictValue">
<el-select
v-model="dataForm.typeDictValue"
style="width: 100%"
style="width: 100%"
:disabled="isdetail"
placeholder="请选择产品类型">
<el-option
@@ -58,7 +58,7 @@
<el-form-item label="单位" prop="unitDictValue">
<el-select
v-model="dataForm.unitDictValue"
style="width: 100%"
style="width: 100%"
:disabled="isdetail"
placeholder="请选择单位">
<el-option
@@ -83,8 +83,8 @@
<el-form-item label="单位平方数" prop="area">
<el-input
:disabled="isdetail"
v-model="dataForm.area"
placeholder="请输入单位平方数" />
v-model="dataForm.area"
placeholder="请输入单位平方数" />
</el-form-item>
</el-col>
</el-row>
@@ -111,6 +111,8 @@
:table-props="tableProps"
:page="listQuery.pageNo"
:limit="listQuery.pageSize"
:add-button-show="isdetail ? null : '添加属性'"
@emitButtonClick="addNew()"
:table-data="productAttributeList">
<method-btn
v-if="!isdetail"
@@ -123,15 +125,15 @@
<pagination
v-show="listQuery.total > 0"
:total="listQuery.total"
:page.sync="listQuery.current"
:limit.sync="listQuery.size"
:page.sync="listQuery.pageNo"
:limit.sync="listQuery.pageSize"
:page-sizes="[5, 10, 15]"
@pagination="getList" />
</div>
</div>
</div>

<div style="position: absolute; bottom: 24px; right: 24px">
<!-- <div style="position: absolute; bottom: 24px; right: 24px">
<el-button style="margin-right: 10px" @click="goback()">返回</el-button>
<el-button v-if="isdetail" type="primary" @click="goEdit()">
编辑
@@ -145,6 +147,14 @@
添加属性
</el-button>
</span>
</div> -->

<div class="drawer-body__footer">
<el-button style="" @click="goback()">取消</el-button>
<el-button v-if="isdetail" type="primary" @click="goEdit()">
编辑
</el-button>
<el-button v-else type="primary" @click="dataFormSubmit()">确定</el-button>
</div>

<product-attr-add
@@ -250,12 +260,12 @@ export default {
},
],
area: [
// {
// type: 'float',
// message: '单位平方数为浮点类型',
// trigger: 'blur',
// transfom: 'val => Float(val)',
// },
{
type: 'number',
message: '请输入正确的数值',
trigger: 'change',
transform: (val) => Number(val),
},
],
processTime: [
{
@@ -263,12 +273,12 @@ export default {
message: '完成单位产品用时不能为空',
trigger: 'blur',
},
// {
// type: 'number',
// message: '完成单位产品用时为浮点类型',
// trigger: 'blur',
// transfom: 'val => Number(val)',
// },
{
type: 'number',
message: '请输入正确的数值',
trigger: 'blur',
transform: (val) => Number(val),
},
],
},
isdetail: false,
@@ -277,6 +287,7 @@ export default {
methods: {
initData() {
this.productAttributeList.splice(0);
this.listQuery.total = 0;
},
init(id, isdetail) {
this.initData();
@@ -304,12 +315,10 @@ export default {

getList() {
// 获取产品的属性列表
const params = {
pageSize: 10,
pageNo: 1,
getProductAttrPage({
...this.listQuery,
productId: this.dataForm.id,
};
getProductAttrPage(params).then((response) => {
}).then((response) => {
this.productAttributeList = response.data.list;
this.listQuery.total = response.data.total;
});
@@ -390,6 +399,8 @@ export default {
<style scoped>
.drawer >>> .el-drawer {
border-radius: 8px 0 0 8px;
display: flex;
flex-direction: column;
}

.drawer >>> .el-form-item__label {
@@ -400,14 +411,20 @@ export default {
margin: 0;
padding: 32px 32px 24px;
border-bottom: 1px solid #dcdfe6;
margin-bottom: 30px;
}
.drawer >>> .el-drawer__body {
flex: 1;
height: 1px;
display: flex;
flex-direction: column;
}

.drawer >>> .content {
padding: 0 24px 30px;
padding: 30px 24px;
flex: 1;
display: flex;
flex-direction: column;
height: 100%;
/* height: 100%; */
}

.drawer >>> .visual-part {
@@ -422,4 +439,10 @@ export default {
.drawer >>> .attr-list {
padding: 0 16px;
}

.drawer-body__footer {
display: flex;
justify-content: flex-end;
padding: 18px;
}
</style>

+ 94
- 52
src/views/core/base/productionLine/add-or-updata.vue View File

@@ -7,53 +7,84 @@
-->
<template>
<el-form
class="dialog-inner__form"
:model="dataForm"
:rules="dataRule"
ref="dataForm"
@keyup.enter.native="dataFormSubmit()"
label-width="90px">
<el-form-item label="产线编码" prop="code">
<el-input
v-model="dataForm.code"
clearable
placeholder="请输入产线编码" />
</el-form-item>
<el-form-item label="产线名称" prop="name">
<el-input
v-model="dataForm.name"
clearable
placeholder="请输入产线名称" />
</el-form-item>
<el-form-item prop="factoryId" label="工厂名称">
<el-select
v-model="dataForm.factoryId" filterable clearable placeholder="请选择工厂">
<el-option
v-for="item in urlOptions.optionArr.arr0"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="产线TT值(h)" prop="tvalue">
<el-input v-model="dataForm.tvalue" clearable placeholder="请输入每小时下片数量" />
</el-form-item>
<el-form-item label="额外编码" prop="externalCode">
<el-input
v-model="dataForm.externalCode"
clearable
placeholder="请输入额外编码" />
</el-form-item>
<el-form-item label="描述" prop="description">
<el-input
v-model="dataForm.description"
type="textarea"
placeholder="请输入内容" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="dataForm.remark" clearable placeholder="请输入备注" />
</el-form-item>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="产线编码" prop="code">
<el-input
v-model="dataForm.code"
clearable
placeholder="请输入产线编码" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产线名称" prop="name">
<el-input
v-model="dataForm.name"
clearable
placeholder="请输入产线名称" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item prop="factoryId" label="工厂名称">
<el-select
v-model="dataForm.factoryId"
filterable
clearable
placeholder="请选择工厂">
<el-option
v-for="item in urlOptions.optionArr.arr0"
:key="item.id"
:label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产线TT值(h)" prop="tvalue">
<el-input
v-model="dataForm.tvalue"
clearable
placeholder="请输入每小时下片数量" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="额外编码" prop="externalCode">
<el-input
v-model="dataForm.externalCode"
clearable
placeholder="请输入额外编码" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input
v-model="dataForm.remark"
clearable
placeholder="请输入备注" />
</el-form-item>
</el-col>
</el-row>

<el-row>
<el-col>
<el-form-item label="描述" prop="description">
<el-input
v-model="dataForm.description"
type="textarea"
placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</template>

@@ -65,22 +96,20 @@ import {
getProductionLine,
getCode,
} from '@/api/core/base/productionLine';
import {
getFactoryPage,
} from '@/api/core/base/factory';
import { getFactoryPage } from '@/api/core/base/factory';

export default {
mixins: [basicAdd],
data() {
return {
urlOptions: {
getOption: true,
isGetCode: true,
codeURL: getCode,
getOption: true,
isGetCode: true,
codeURL: getCode,
createURL: createProductionLine,
updateURL: updateProductionLine,
infoURL: getProductionLine,
optionArrUrl: [getFactoryPage],
optionArrUrl: [getFactoryPage],
},
dataForm: {
id: undefined,
@@ -99,13 +128,26 @@ export default {
name: [
{ required: true, message: '产线名称不能为空', trigger: 'blur' },
],
factoryId: [
factoryId: [
{ required: true, message: '工厂不能为空', trigger: 'change' },
],
tvalue: [
{
type: 'number',
message: '请输入正确的数字',
trigger: 'change',
transform: (val) => Number(val),
},
],
},
};
},
methods: {
},
methods: {},
};
</script>

<style scoped>
.dialog-inner__form >>> .el-select {
width: 100%;
}
</style>

+ 1
- 1
src/views/core/base/productionLine/index.vue View File

@@ -29,7 +29,7 @@
@cancel="handleCancel"
@confirm="handleConfirm"
:before-close="handleCancel"
width="70%">
width="50%">
<add-or-update
ref="addOrUpdate"
@refreshDataList="successSubmit"></add-or-update>


+ 15
- 6
src/views/equipment/analysis/quality/index.vue View File

@@ -29,7 +29,10 @@
@emitFun="handleEmitFun"></base-table>
</el-tab-pane>
<el-tab-pane :label="'\u3000柱状图\u3000'" name="graph">
<div v-if="activeName == 'graph'" class="graph" style="height: 40vh; display: flex; flex-direction: column;">
<div
v-if="activeName == 'graph'"
class="graph"
style="height: 40vh; display: flex; flex-direction: column">
<div class="blue-title">各设备加工数量</div>
<LineChart v-if="list && list.length" :list="list" />
<div v-else class="no-data-bg"></div>
@@ -87,6 +90,7 @@ export default {
rangeSeparator: '-',
startPlaceholder: '开始日期',
endPlaceholder: '结束日期',
defaultTime: ['00:00:00', '23:59:59'],
param: 'recordTime',
defaultSelect: [
new Date(y, m, d)
@@ -246,7 +250,9 @@ export default {
created() {
this.fillLineOptions();
this.fillProductOptions();
this.getList();
},
mounted() {
this.$refs['search-bar'].headBtnClick('search');
},
methods: {
handleTabClick(tab, event) {
@@ -307,12 +313,16 @@ export default {
},

handleSearchBarBtnClick(btn) {
console.log('handleSearchBarBtnClick', btn);
// debugger;
switch (btn.btnName) {
case 'search':
this.queryParams.lineId = btn.lineId;
this.queryParams.productId = btn.productId;
this.queryParams.recordTime = btn.recordTime ? btn.recordTime.map(time => moment(new Date(time)).format('YYYY-MM-DD HH:mm:ss')) : null;
this.queryParams.recordTime = btn.recordTime
? btn.recordTime.map((time) =>
moment(new Date(time)).format('YYYY-MM-DD HH:mm:ss')
)
: null;
this.$nextTick(() => {
this.getList();
});
@@ -388,7 +398,7 @@ export default {
font-size: 14px;

&::before {
content: "";
content: '';
position: absolute;
left: 0;
top: 6px;
@@ -398,5 +408,4 @@ export default {
background: #0b58ff;
}
}

</style>

Loading…
Cancel
Save