Browse Source

Merge pull request '新增项目定义,物料、客户主数据优化' (#9) from wangxy into develop

Reviewed-on: http://101.201.121.115:3000/leo/LAPP_AdvancedPlanner_Front/pulls/9
Reviewed-by: xuxiaoming <xiaoming.xu@le-it.com.cn>
pull/10/head
xuxiaoming 3 years ago
parent
commit
301b623646
4 changed files with 288 additions and 5 deletions
  1. +6
    -0
      src/router/factoryModel.js
  2. +7
    -5
      src/views/factoryModel/customer/associatePart.vue
  3. +158
    -0
      src/views/factoryModel/project/addOrEdit.vue
  4. +117
    -0
      src/views/factoryModel/project/index.vue

+ 6
- 0
src/router/factoryModel.js View File

@ -144,6 +144,12 @@ const factoryModel = {
},
],
},
{
icon: "el-icon-document",
path: "/factoryModel/project",
title: "项目定义",
component: () => import("@/views/factoryModel/project"),
},
],
}

+ 7
- 5
src/views/factoryModel/customer/associatePart.vue View File

@ -8,6 +8,8 @@
<el-transfer
v-model="chooseArts"
:titles="['未分配', '已分配']"
v-loading="loading"
filterable
:props="{
key: 'Article-ArtId',
label: 'Article-ArtId'
@ -36,6 +38,7 @@ export default {
return {
chooseArts: [],
artList: [],
loading: false,
}
},
created() {
@ -49,11 +52,10 @@ export default {
methods: {
//
getArtList() {
get("/admin/base/article/query",{
pageNumber: 1,
pageSize: 10000,
}).then((res) => {
this.artList = res.data.records || []
this.loading = true
get("/admin/base/article/selectdata").then((res) => {
this.loading = false
this.artList = res.data || []
})
},
//


+ 158
- 0
src/views/factoryModel/project/addOrEdit.vue View File

@ -0,0 +1,158 @@
<template>
<el-dialog :title="isAddOrEdit == 'edit' ? '修改' : '新增'"
model-value
width="80%"
:close-on-click-modal="false"
:before-close="cancel">
<el-form ref="formData" :model="formData" :rules="rules" label-width="120px" v-loading="loading">
<el-row>
<el-col :span="12">
<el-form-item :label="getColumnName('ME_Project-ProjectId')" prop="ME_Project-ProjectId">
<el-input v-model="formData['ME_Project-ProjectId']" :disabled="isAddOrEdit === 'edit'" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="getColumnName('ME_Project-Descr')">
<el-input v-model="formData['ME_Project-Descr']" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="getColumnName('ME_Project-CustomerId')">
<el-select v-model="formData['ME_Project-CustomerId']" filterable placeholder="请选择" style="width:100%;">
<el-option v-for="item in customerArray"
:key="item['Customer-CustomerId']"
:label="item['Customer-Name1']"
:value="item['Customer-CustomerId']" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="getColumnName('ME_Project-SOP')">
<el-date-picker v-model="formData['ME_Project-SOP']"
type="date"
value-format="YYYY-MM-DD"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="getColumnName('ME_Project-EOP')">
<el-date-picker v-model="formData['ME_Project-EOP']"
type="date"
value-format="YYYY-MM-DD"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="getColumnName('ME_Project-AlertDaysBeforeEOP')">
<el-input-number v-model="formData['ME_Project-AlertDaysBeforeEOP']" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" class="dialog-submit-button" @click="submitForm"> </el-button>
<el-button class="dialog-cancel-button" @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</template>
<script>
import { get, put, post } from '@/server/api.js'
export default {
name: 'editField',
props: {
item: {
default: {}
},
isAddOrEdit: {
default: 'add'
},
},
data() {
return {
loading: false,
//
formData: {},
customerArray: [],
//
rules: {
'ME_Project-ProjectId': [
{ required: true, message: '此项不能为空', trigger: 'blur' }
],
},
url: {
updateUrl: '/admin/me/project/updateone', //
addUrl: '/admin/me/project/insertone' //
}
}
},
created() {
get('/admin/base/customer/selectlist').then(({code, data=[]}) => {
if (code === 200) {
this.customerArray = data
}
})
},
mounted() {
if (this.isAddOrEdit == 'edit') {
get(`/admin/me/project/selectone/${this.item['ME_Project-ProjectId']}`).then(
({ code, data }) => {
if (code === 200) {
this.formData = data
}
}
)
}
},
methods: {
//
cancel() {
this.$emit('setIsAddOrEdit', '')
},
//
submitForm() {
this.$refs['formData'].validate((valid) => {
if (valid) {
this.loading = true
if (this.isAddOrEdit == 'add') {
this.add()
} else {
this.edit()
}
}
})
},
//
add() {
post(this.url.addUrl, this.formData)
.then(({ code }) => {
this.loading = false
if (code == 200) {
this.msgSuccess('新增成功')
this.$emit('setIsAddOrEdit', false)
}
})
.catch(() => {
this.loading = false
})
},
//
edit() {
put(this.url.updateUrl, this.formData)
.then(({ code }) => {
this.loading = false
if (code == 200) {
this.msgSuccess('修改成功')
this.$emit('setIsAddOrEdit', false)
}
})
.catch(() => {
this.loading = false
})
}
}
}
</script>

+ 117
- 0
src/views/factoryModel/project/index.vue View File

@ -0,0 +1,117 @@
<template>
<div ref="tableRef" class="table-height-wrap">
<SearchTemplate>
<el-form :inline="true" class="clearfix search-content">
<el-form-item :label="getColumnName('ME_Project-ProjectId')">
<el-input v-model="queryParams.ProjectId" placeholder="请输入" clearable style="width: 240px" />
</el-form-item>
<el-form-item>
<el-button icon="el-icon-search" size="mini" class="search-button-style" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" class="reset-button-style" @click="resetQuery">重置</el-button>
</el-form-item>
<el-form-item class="fr">
<el-button icon="el-icon-plus" class="add-button-style" @click="setIsAddOrEdit('add')">新增</el-button>
</el-form-item>
</el-form>
</SearchTemplate>
<ContentContainer>
<el-table v-if="tableHeight" :height="tableHeight" :data="tableData" v-loading="loading" size="mini" border>
<el-table-column v-for="(item, index) in headers" :key="index" :label="getColumnName(item)" :show-overflow-tooltip="true">
<template #default="scope">
<span v-if="item === 'ME_Project-PlantNr'">{{ getWorkshopName(scope.row["ME_Project-PlantNr"]) }}</span>
<span v-else>{{ scope.row[item] }}</span>
</template>
</el-table-column>
<el-table-column align="center" label="操作" width="170">
<template #default="scope">
<el-button class="edit-button-style" @click="handleUpdate(scope.row)" icon="el-icon-edit" size="small">修改</el-button>
<el-button class="edit-button-style" @click="handleDelete(scope.row)" icon="el-icon-delete" size="small">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<Pagination v-show="pagination.total > 0" v-model:pagination="pagination" @change="getList" />
</ContentContainer>
<AddOrEdit
v-if="isAddOrEdit"
:isAddOrEdit="isAddOrEdit"
:item="item"
@setIsAddOrEdit="setIsAddOrEdit"
/>
</div>
</template>
<script>
import { ListMixin } from "@/mixins/ListMixin";
import AddOrEdit from "./addOrEdit.vue";
export default {
components: {
AddOrEdit
},
mixins: [ListMixin],
data() {
return {
isAddOrEdit: "", // /
item: {}, //
queryTableDataUrl: "/admin/me/project/query",
headers: [
"ME_Project-PlantNr",
"ME_Project-ProjectId",
"ME_Project-Descr",
"ME_Project-CustomerId",
"ME_Project-SOP",
"ME_Project-EOP",
"ME_Project-AlertDaysBeforeEOP",
"ME_Project-LastModify",
"ME_Project-LastUser",
"ME_Project-CreateTime"
],
tableHeight:0
};
},
methods: {
// /
setIsAddOrEdit(value) {
this.isAddOrEdit = value;
if (!value) {
this.getList();
}
},
//
handleUpdate(item) {
this.item = item;
this.setIsAddOrEdit("edit");
},
//
handleQuery() {
this.pagination.pageNumber = 1;
this.getList();
},
//
resetQuery() {
this.queryParams.ProjectId = undefined;
this.handleQuery();
},
//
handleDelete(row) {
let keyName ='该条';
let deteleUrl = `/admin/me/project/deleteone/${row["ME_Project-ProjectId"]}`;
// 12
this.delHanle(keyName, deteleUrl);
},
},
mounted(){
this.$nextTick(()=>{
this.tableHeight = this.calculationTableHeight(
this.$refs.tableRef,
120
);
})
}
};
</script>
<style lang="less" scoped>
.table-height-wrap{
height: 100%;
overflow: hidden;
}
</style>

Loading…
Cancel
Save