工艺路线

This commit is contained in:
许前浩 2023-08-16 15:27:40 +08:00
parent a21da56c94
commit b2e6f2bdf1
7 changed files with 224 additions and 41 deletions

View File

@ -0,0 +1,74 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Diagnostics.CodeAnalysis;
using ZR.Admin.WebApi.Extensions;
using ZR.Model.mes.md;
using ZR.Service.mes.md;
using ZR.Service.mes.md.IService;
namespace ZR.Admin.WebApi.Controllers.mes.md
{
[Route("mes/md/workproroute")]
public class MdTechnologicalProrouteController : BaseController
{
IMdTechnologicalProrouteService workproroute;
public MdTechnologicalProrouteController(IMdTechnologicalProrouteService workproroute)
{
this.workproroute = workproroute;
}
[HttpGet("list")]
public IActionResult List(int pageNum, int pageSize, string ProrouteCode="", string ProrouteName="")
{
(int, List<MdTechnologicalProroute>) data = workproroute.GetAll(ProrouteCode, ProrouteName, pageNum, pageSize);
return ToResponse(new ApiResult(200, "success", data));
}
/// <summary>
/// 插入车间
/// </summary>
/// <param name="workshop"></param>
/// <returns></returns>
[HttpPost("addProcess")]
public IActionResult AddWorkshop([FromBody] MdTechnologicalProroute workshop)
{
if (workshop != null)
workshop.ToCreate(HttpContext);
int result = workproroute.AddWorkProroute(workshop);
return SUCCESS(result);
}
[HttpPost("updateProcess")]
public IActionResult UpdateWorkshop([FromBody] MdTechnologicalProroute workshop)
{
if (workshop != null)
workshop.ToUpdate(HttpContext);
int result = workproroute.UpdateWorkProroute(workshop);
return SUCCESS(result);
}
[HttpPost("delProcess")]
public IActionResult deleteWorkshop([FromBody] List<int> ids)
{
if (ids != null)
{
int result = workproroute.deleteWorksProroute(ids.ToArray());
return ToResponse(result);
}
return null;
}
}
}

View File

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZR.Model.mes.md;
namespace ZR.Service.mes.md.IService
{
public interface IMdTechnologicalProrouteService
{
int AddWorkProroute(MdTechnologicalProroute proroute);
public (int, List<MdTechnologicalProroute>) GetAll(string ProrouteCode, string ProrouteName, int pageNum, int pageSize);
public int UpdateWorkProroute(MdTechnologicalProroute proroute);
public int deleteWorksProroute(int[] ids);
}
}

View File

@ -0,0 +1,48 @@
using Infrastructure.Attribute;
using Microsoft.Extensions.DependencyInjection;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZR.Model.mes.md;
using ZR.Service.mes.md.IService;
namespace ZR.Service.mes.md
{
[AppService(ServiceType = typeof(IMdTechnologicalProrouteService), ServiceLifetime = LifeTime.Transient)]
public class MdTechnologicalProrouteService : BaseService<MdTechnologicalProroute>, IMdTechnologicalProrouteService
{
public int AddWorkProroute(MdTechnologicalProroute proroute)
{
return Add(proroute);
}
public int deleteWorksProroute(int[] ids)
{
return Delete(ids);
}
public (int, List<MdTechnologicalProroute>) GetAll(string ProrouteCode, string ProrouteName, int pageNum, int pageSize)
{
int totalNum = 0;
var predicate = Expressionable.Create<MdTechnologicalProroute>()
.AndIF(!string.IsNullOrEmpty(ProrouteCode), it => it.ProrouteCode.Contains(ProrouteCode))
.AndIF(!string.IsNullOrEmpty(ProrouteName), it => it.ProrouteName.Contains(ProrouteName))
.ToExpression();
List<MdTechnologicalProroute> data = Context.Queryable<MdTechnologicalProroute>().Where(predicate).ToPageList(pageNum, pageSize, ref totalNum);
return (totalNum, data);
}
public int UpdateWorkProroute(MdTechnologicalProroute proroute)
{
return Update(proroute, true);
}
}
}

View File

@ -0,0 +1,37 @@
import request from '@/utils/request'
import { downFile } from '@/utils/request'
export function getProcessList(query) {
return request({
url: '/mes/md/workproroute/list',
method: 'get',
params: query,
})
}
export function insertProcess(data) {
return request({
url: '/mes/md/workproroute/addProcess',
method: 'post',
data: data,
contextType: 'application/json',
})
}
export function updateProcess(data) {
return request({
url: '/mes/md/workproroute/updateProcess',
method: 'post',
data: data,
contextType: 'application/json',
})
}
export function delProcess(data) {
return request({
url: '/mes/md/workproroute/delProcess',
method: 'post',
data: data,
contextType: 'application/json',
})
}

View File

@ -4,10 +4,10 @@
<div>
<el-form :model="search" inline v-show="search.showSearch">
<el-form-item label="线体编码 ">
<el-input v-model="search.worksortCode" placeholder="输入线体编码"></el-input>
<el-input v-model="search.prorouteCode" placeholder="输入线体编码"></el-input>
</el-form-item>
<el-form-item label="线体名称 ">
<el-input v-model="search.WorksortName" placeholder="输入线体名称"></el-input>
<el-input v-model="search.prorouteName" placeholder="输入线体名称"></el-input>
</el-form-item>
<el-button icon="el-icon-search" circle @click="getList"></el-button>
</el-form>
@ -46,8 +46,8 @@
:row-config="{ isHover: true }"
>
<vxe-column type="checkbox" width="60"></vxe-column>
<vxe-column field="worksortCode" title="线体编码" sortable></vxe-column>
<vxe-column field="worksortName" title="线体名称" sortable></vxe-column>
<vxe-column field="prorouteCode" title="线体编码" sortable></vxe-column>
<vxe-column field="prorouteName" title="线体名称" sortable></vxe-column>
<vxe-column title="查看工位">
<template slot-scope="scope">
<el-button type="primary" round @click="updataItem(false, scope.row)">调整工序</el-button>
@ -65,11 +65,11 @@
<!-- 弹窗-- 修改和删除 -->
<el-dialog :title="DMLdialog.title" :visible.sync="DMLdialog.visiable" width="600px" append-to-body>
<el-form ref="DMLdialog" :model="DMLdialog.form" label-width="150px" label-position="left" :rules="DMLdialog.rules">
<el-form-item label="工序编码 " prop="worksortCode">
<el-input v-model="DMLdialog.form.worksortCode" placeholder="输入工序编码"></el-input>
<el-form-item label="线体编码 " prop="prorouteCode">
<el-input v-model="DMLdialog.form.prorouteCode" placeholder="输入线体编码"></el-input>
</el-form-item>
<el-form-item label="工序名称 " prop="WorksortName">
<el-input v-model="DMLdialog.form.worksortName" placeholder="输入车间名称"></el-input>
<el-form-item label="线体名称 " prop="prorouteName">
<el-input v-model="DMLdialog.form.prorouteName" placeholder="输入线体名称"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -81,7 +81,7 @@
</template>
<script>
import { getWorksortList, insertWorksort, updateWorksort, delWorksort } from '@/api/basisManagement/worksort.js'
import { getProcessList, insertProcess, updateProcess, delProcess } from '@/api/basisManagement/process.js'
export default {
name: 'process', //
data() {
@ -89,8 +89,8 @@ export default {
//
search: {
id: '',
worksortCode: '',
WorksortName: '',
prorouteCode: '',
prorouteName: '',
showSearch: true,
},
//
@ -110,12 +110,12 @@ export default {
visiable: false,
form: {
id: '',
worksortCode: '',
worksortName: '',
prorouteCode: '',
prorouteName: '',
},
rules: {
worksortCode: [{ required: true, message: '工序编码不能为空', trigger: 'blur' }],
WorksortName: [{ required: true, message: '工序名称不能为空', trigger: 'blur' }],
prorouteCode: [{ required: true, message: '线体编码不能为空', trigger: 'blur' }],
prorouteName: [{ required: true, message: '线体名称不能为空', trigger: 'blur' }],
},
},
//
@ -133,7 +133,7 @@ export default {
getList() {
const query = { ...this.search, ...this.pagination }
delete query.showSearch
getWorksortList(query).then((res) => {
getProcessList(query).then((res) => {
if (res.code == 200) {
this.table.loading = false
this.pagination.total = res.data.item1
@ -168,22 +168,33 @@ export default {
//
submitForm() {
if (this.flag == 'update') {
updateWorksort(this.DMLdialog.form).then((res) => {
updateProcess(this.DMLdialog.form).then((res) => {
if (res.code == 200 && res.data == 1) {
this.$notify.success('修改成功')
this.getList()
this.DMLdialog.visiable = false
this.reset()
this.$notify.success("修改成功");
} else {
this.$notify.warning('修改错误,请联系管理员')
}
})
} else if (this.flag == 'add') {
this.$refs['DMLdialog'].validate((valid) => {
if (valid) {
insertWorksort(this.DMLdialog.form).then((res) => {
if (res.code == 200) {
let query = {
prorouteCode: this.DMLdialog.form.prorouteCode,
prorouteName: this.DMLdialog.form.prorouteName,
}
insertProcess(query).then((res) => {
if (res.code == 200 && res.data != 0) {
this.getList()
this.DMLdialog.visiable = false
this.reset()
this.$notify.success("新增成功");
} else {
this.$notify.warning('新增错误,请联系管理员')
}
})
}
@ -196,10 +207,10 @@ export default {
},
reset() {
this.DMLdialog.form = {
worksortCode: '',
worksortName: '',
prorouteCode: '',
prorouteName: '',
}
this.DMLdialog.form.reset();
},
//
updataItem(flag, row) {
@ -208,14 +219,14 @@ export default {
this.DMLdialog.visiable = true
this.flag = 'update'
if (!flag) {
this.DMLdialog.form.worksortCode = row.worksortCode
this.DMLdialog.form.worksortName = row.worksortName
this.DMLdialog.form.prorouteCode = row.prorouteCode
this.DMLdialog.form.prorouteName = row.prorouteName
this.DMLdialog.form.id = row.id
} else {
const records = this.$refs.xTable1.getCheckboxRecords()
if (records.length == 1) {
this.DMLdialog.form.worksortCode = records[0].worksortCode
this.DMLdialog.form.worksortName = records[0].worksortName
if (records.length == 1) {
this.DMLdialog.form.prorouteCode = records[0].prorouteCode
this.DMLdialog.form.prorouteName = records[0].prorouteName
this.DMLdialog.form.id = records[0].id
}
}
@ -224,11 +235,11 @@ export default {
deleteItem(flag, row) {
if (!flag) {
this.$modal
.confirm('是否确认删除车间名称为"' + row.WorksortName + '"的数据项?')
.confirm('是否确认删除线体名称为"' + row.prorouteName + '"的数据项?')
.then(function () {
const array = []
array.push(row.id)
return delWorksort(array)
return delProcess(array)
})
.then(() => {
this.getList()
@ -239,9 +250,9 @@ export default {
const records = this.$refs.xTable1.getCheckboxRecords()
if (records.length > 0) {
this.$modal
.confirm('是否确认删除车间名称为"' + records.map((it) => it.WorksortName) + '"的数据项?')
.confirm('是否确认删除线体名称为"' + records.map((it) => it.prorouteName) + '"的数据项?')
.then(function () {
return delWorksort(records.map((it) => it.id))
return delProcess(records.map((it) => it.id))
})
.then(() => {
this.getList()

View File

@ -17,7 +17,7 @@
<div style="height: 90px"></div>
<div class="bigtitle">MES管理系统</div>
<div class="smallTitle">
苏州道安自动化技术有限公司成立于2009年7月公司在苏州新加坡工业园区注册成立是一家专业从事于装配和测试的民营企业
上海干巷车镜实业有限公司创建于1970年开始生产汽车摩托车后视镜经过三十多年的艰苦创业和技术改造现已成为国内专业生产各种型号汽车后视镜行业骨干企业
</div>
</div>
@ -57,14 +57,7 @@
</el-form-item>
<el-checkbox v-model="loginForm.rememberMe" style="margin: 0px 0px 25px 0px">记住密码</el-checkbox>
<el-form-item style="width: 100%; margin: auto 0">
<el-button
:loading="loading"
size="medium"
round
style="width: 90%; margin: auto 0;"
@click.native.prevent="handleLogin"
>
<el-button :loading="loading" size="medium" round style="width: 90%; margin: auto 0" @click.native.prevent="handleLogin">
<span v-if="!loading"> </span>
<span v-else> 中...</span>
</el-button>

View File

@ -46,7 +46,7 @@ module.exports = {
}
},
"msgHub": {
target: 'http://localhost/msgHub',
target: 'http://localhost:8888/msgHub',
ws: true,
changeOrigin: true,
pathRewrite: {