工艺路线
This commit is contained in:
@@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
48
ZR.Service/mes/md/MdTechnologicalProrouteService.cs
Normal file
48
ZR.Service/mes/md/MdTechnologicalProrouteService.cs
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
37
ZR.Vue/src/api/basisManagement/process.js
Normal file
37
ZR.Vue/src/api/basisManagement/process.js
Normal 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',
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -4,10 +4,10 @@
|
|||||||
<div>
|
<div>
|
||||||
<el-form :model="search" inline v-show="search.showSearch">
|
<el-form :model="search" inline v-show="search.showSearch">
|
||||||
<el-form-item label="线体编码 ">
|
<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>
|
||||||
<el-form-item label="线体名称 ">
|
<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-form-item>
|
||||||
<el-button icon="el-icon-search" circle @click="getList"></el-button>
|
<el-button icon="el-icon-search" circle @click="getList"></el-button>
|
||||||
</el-form>
|
</el-form>
|
||||||
@@ -46,8 +46,8 @@
|
|||||||
:row-config="{ isHover: true }"
|
:row-config="{ isHover: true }"
|
||||||
>
|
>
|
||||||
<vxe-column type="checkbox" width="60"></vxe-column>
|
<vxe-column type="checkbox" width="60"></vxe-column>
|
||||||
<vxe-column field="worksortCode" title="线体编码" sortable></vxe-column>
|
<vxe-column field="prorouteCode" title="线体编码" sortable></vxe-column>
|
||||||
<vxe-column field="worksortName" title="线体名称" sortable></vxe-column>
|
<vxe-column field="prorouteName" title="线体名称" sortable></vxe-column>
|
||||||
<vxe-column title="查看工位">
|
<vxe-column title="查看工位">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button type="primary" round @click="updataItem(false, scope.row)">调整工序</el-button>
|
<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-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 ref="DMLdialog" :model="DMLdialog.form" label-width="150px" label-position="left" :rules="DMLdialog.rules">
|
||||||
<el-form-item label="工序编码 " prop="worksortCode">
|
<el-form-item label="线体编码 " prop="prorouteCode">
|
||||||
<el-input v-model="DMLdialog.form.worksortCode" placeholder="输入工序编码"></el-input>
|
<el-input v-model="DMLdialog.form.prorouteCode" placeholder="输入线体编码"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="工序名称 " prop="WorksortName">
|
<el-form-item label="线体名称 " prop="prorouteName">
|
||||||
<el-input v-model="DMLdialog.form.worksortName" placeholder="输入车间名称"></el-input>
|
<el-input v-model="DMLdialog.form.prorouteName" placeholder="输入线体名称"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getWorksortList, insertWorksort, updateWorksort, delWorksort } from '@/api/basisManagement/worksort.js'
|
import { getProcessList, insertProcess, updateProcess, delProcess } from '@/api/basisManagement/process.js'
|
||||||
export default {
|
export default {
|
||||||
name: 'process', //工艺流程
|
name: 'process', //工艺流程
|
||||||
data() {
|
data() {
|
||||||
@@ -89,8 +89,8 @@ export default {
|
|||||||
//搜索框配置
|
//搜索框配置
|
||||||
search: {
|
search: {
|
||||||
id: '',
|
id: '',
|
||||||
worksortCode: '',
|
prorouteCode: '',
|
||||||
WorksortName: '',
|
prorouteName: '',
|
||||||
showSearch: true,
|
showSearch: true,
|
||||||
},
|
},
|
||||||
//表格
|
//表格
|
||||||
@@ -110,12 +110,12 @@ export default {
|
|||||||
visiable: false,
|
visiable: false,
|
||||||
form: {
|
form: {
|
||||||
id: '',
|
id: '',
|
||||||
worksortCode: '',
|
prorouteCode: '',
|
||||||
worksortName: '',
|
prorouteName: '',
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
worksortCode: [{ required: true, message: '工序编码不能为空', trigger: 'blur' }],
|
prorouteCode: [{ required: true, message: '线体编码不能为空', trigger: 'blur' }],
|
||||||
WorksortName: [{ required: true, message: '工序名称不能为空', trigger: 'blur' }],
|
prorouteName: [{ required: true, message: '线体名称不能为空', trigger: 'blur' }],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
//修改按钮
|
//修改按钮
|
||||||
@@ -133,7 +133,7 @@ export default {
|
|||||||
getList() {
|
getList() {
|
||||||
const query = { ...this.search, ...this.pagination }
|
const query = { ...this.search, ...this.pagination }
|
||||||
delete query.showSearch
|
delete query.showSearch
|
||||||
getWorksortList(query).then((res) => {
|
getProcessList(query).then((res) => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
this.table.loading = false
|
this.table.loading = false
|
||||||
this.pagination.total = res.data.item1
|
this.pagination.total = res.data.item1
|
||||||
@@ -168,22 +168,33 @@ export default {
|
|||||||
//新增确认
|
//新增确认
|
||||||
submitForm() {
|
submitForm() {
|
||||||
if (this.flag == 'update') {
|
if (this.flag == 'update') {
|
||||||
updateWorksort(this.DMLdialog.form).then((res) => {
|
updateProcess(this.DMLdialog.form).then((res) => {
|
||||||
if (res.code == 200 && res.data == 1) {
|
if (res.code == 200 && res.data == 1) {
|
||||||
this.$notify.success('修改成功')
|
this.$notify.success('修改成功')
|
||||||
this.getList()
|
this.getList()
|
||||||
this.DMLdialog.visiable = false
|
this.DMLdialog.visiable = false
|
||||||
this.reset()
|
this.reset()
|
||||||
|
this.$notify.success("修改成功");
|
||||||
|
} else {
|
||||||
|
this.$notify.warning('修改错误,请联系管理员')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else if (this.flag == 'add') {
|
} else if (this.flag == 'add') {
|
||||||
this.$refs['DMLdialog'].validate((valid) => {
|
this.$refs['DMLdialog'].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
insertWorksort(this.DMLdialog.form).then((res) => {
|
let query = {
|
||||||
if (res.code == 200) {
|
prorouteCode: this.DMLdialog.form.prorouteCode,
|
||||||
|
prorouteName: this.DMLdialog.form.prorouteName,
|
||||||
|
}
|
||||||
|
|
||||||
|
insertProcess(query).then((res) => {
|
||||||
|
if (res.code == 200 && res.data != 0) {
|
||||||
this.getList()
|
this.getList()
|
||||||
this.DMLdialog.visiable = false
|
this.DMLdialog.visiable = false
|
||||||
this.reset()
|
this.reset()
|
||||||
|
this.$notify.success("新增成功");
|
||||||
|
} else {
|
||||||
|
this.$notify.warning('新增错误,请联系管理员')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -196,10 +207,10 @@ export default {
|
|||||||
},
|
},
|
||||||
reset() {
|
reset() {
|
||||||
this.DMLdialog.form = {
|
this.DMLdialog.form = {
|
||||||
worksortCode: '',
|
prorouteCode: '',
|
||||||
worksortName: '',
|
prorouteName: '',
|
||||||
}
|
}
|
||||||
this.DMLdialog.form.reset();
|
|
||||||
},
|
},
|
||||||
//修改事件
|
//修改事件
|
||||||
updataItem(flag, row) {
|
updataItem(flag, row) {
|
||||||
@@ -208,14 +219,14 @@ export default {
|
|||||||
this.DMLdialog.visiable = true
|
this.DMLdialog.visiable = true
|
||||||
this.flag = 'update'
|
this.flag = 'update'
|
||||||
if (!flag) {
|
if (!flag) {
|
||||||
this.DMLdialog.form.worksortCode = row.worksortCode
|
this.DMLdialog.form.prorouteCode = row.prorouteCode
|
||||||
this.DMLdialog.form.worksortName = row.worksortName
|
this.DMLdialog.form.prorouteName = row.prorouteName
|
||||||
this.DMLdialog.form.id = row.id
|
this.DMLdialog.form.id = row.id
|
||||||
} else {
|
} else {
|
||||||
const records = this.$refs.xTable1.getCheckboxRecords()
|
const records = this.$refs.xTable1.getCheckboxRecords()
|
||||||
if (records.length == 1) {
|
if (records.length == 1) {
|
||||||
this.DMLdialog.form.worksortCode = records[0].worksortCode
|
this.DMLdialog.form.prorouteCode = records[0].prorouteCode
|
||||||
this.DMLdialog.form.worksortName = records[0].worksortName
|
this.DMLdialog.form.prorouteName = records[0].prorouteName
|
||||||
this.DMLdialog.form.id = records[0].id
|
this.DMLdialog.form.id = records[0].id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -224,11 +235,11 @@ export default {
|
|||||||
deleteItem(flag, row) {
|
deleteItem(flag, row) {
|
||||||
if (!flag) {
|
if (!flag) {
|
||||||
this.$modal
|
this.$modal
|
||||||
.confirm('是否确认删除车间名称为"' + row.WorksortName + '"的数据项?')
|
.confirm('是否确认删除线体名称为"' + row.prorouteName + '"的数据项?')
|
||||||
.then(function () {
|
.then(function () {
|
||||||
const array = []
|
const array = []
|
||||||
array.push(row.id)
|
array.push(row.id)
|
||||||
return delWorksort(array)
|
return delProcess(array)
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.getList()
|
this.getList()
|
||||||
@@ -239,9 +250,9 @@ export default {
|
|||||||
const records = this.$refs.xTable1.getCheckboxRecords()
|
const records = this.$refs.xTable1.getCheckboxRecords()
|
||||||
if (records.length > 0) {
|
if (records.length > 0) {
|
||||||
this.$modal
|
this.$modal
|
||||||
.confirm('是否确认删除车间名称为"' + records.map((it) => it.WorksortName) + '"的数据项?')
|
.confirm('是否确认删除线体名称为"' + records.map((it) => it.prorouteName) + '"的数据项?')
|
||||||
.then(function () {
|
.then(function () {
|
||||||
return delWorksort(records.map((it) => it.id))
|
return delProcess(records.map((it) => it.id))
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.getList()
|
this.getList()
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
<div style="height: 90px"></div>
|
<div style="height: 90px"></div>
|
||||||
<div class="bigtitle">MES管理系统</div>
|
<div class="bigtitle">MES管理系统</div>
|
||||||
<div class="smallTitle">
|
<div class="smallTitle">
|
||||||
苏州道安自动化技术有限公司成立于2009年7月,公司在苏州新加坡工业园区注册成立,是一家专业从事于装配和测试的民营企业。
|
上海干巷车镜实业有限公司创建于1970年开始生产汽车、摩托车后视镜。经过三十多年的艰苦创业和技术改造,现已成为国内专业生产各种型号汽车后视镜行业骨干企业。
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -57,14 +57,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-checkbox v-model="loginForm.rememberMe" style="margin: 0px 0px 25px 0px">记住密码</el-checkbox>
|
<el-checkbox v-model="loginForm.rememberMe" style="margin: 0px 0px 25px 0px">记住密码</el-checkbox>
|
||||||
<el-form-item style="width: 100%; margin: auto 0">
|
<el-form-item style="width: 100%; margin: auto 0">
|
||||||
<el-button
|
<el-button :loading="loading" size="medium" round style="width: 90%; margin: auto 0" @click.native.prevent="handleLogin">
|
||||||
:loading="loading"
|
|
||||||
size="medium"
|
|
||||||
round
|
|
||||||
style="width: 90%; margin: auto 0;"
|
|
||||||
@click.native.prevent="handleLogin"
|
|
||||||
|
|
||||||
>
|
|
||||||
<span v-if="!loading">登 录</span>
|
<span v-if="!loading">登 录</span>
|
||||||
<span v-else>登 录 中...</span>
|
<span v-else>登 录 中...</span>
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"msgHub": {
|
"msgHub": {
|
||||||
target: 'http://localhost/msgHub',
|
target: 'http://localhost:8888/msgHub',
|
||||||
ws: true,
|
ws: true,
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
pathRewrite: {
|
pathRewrite: {
|
||||||
|
|||||||
Reference in New Issue
Block a user