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
@ -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> |
@ -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"]}`; | |||
// 参数1:删除数据的标志,参数2:删除的接口拼接参数 | |||
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> |