You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
802 lines
26 KiB
802 lines
26 KiB
<script>
|
|
import {queryPropertyTemplateType} from "../../../api/property/template";
|
|
import {
|
|
queryPropertyItemByPage,
|
|
removePropertyItem,
|
|
savePropertyItem,
|
|
updatePropertyItem
|
|
} from "../../../api/property/propertyItem";
|
|
import BuSelect from "../../../components/selector/select/BuSelect.vue";
|
|
import {getSiteAndBuByUserName} from "../../../api/eam/eam";
|
|
import {
|
|
queryPropertyItemAvailable, removePropertyItemAvailable,
|
|
savePropertyItemAvailable,
|
|
updatePropertyItemAvailable
|
|
} from "../../../api/property/propertyItemAvailable";
|
|
|
|
export default {
|
|
name: "available",
|
|
components: {BuSelect},
|
|
data(){
|
|
return{
|
|
no:1,
|
|
size:20,
|
|
total:0,
|
|
menuId:180003,
|
|
dataList: [],
|
|
queryLoading: false,
|
|
templateItem:{
|
|
id:null,
|
|
itemNo:'',
|
|
itemDesc:'',
|
|
itemType:'',
|
|
buId:null,
|
|
valueType:'',
|
|
valueTypeDb:'',
|
|
defaultValue:'',
|
|
maxValue:undefined,
|
|
minValue:undefined,
|
|
valueChooseFlag:'',
|
|
},
|
|
dataTypeList: [],
|
|
queryForm: {
|
|
|
|
},
|
|
columns: [
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 180003,
|
|
serialNumber: '180003TableBuDesc',
|
|
tableId: "180003Table",
|
|
tableName: "属性表",
|
|
columnProp: 'buDesc',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: 'BU',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
columnWidth: 80,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
},{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 180003,
|
|
serialNumber: '180003TableItemTypeDesc',
|
|
tableId: "180003Table",
|
|
tableName: "属性表",
|
|
columnProp: 'itemTypeDesc',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '属性类型',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
columnWidth: 120,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 180003,
|
|
serialNumber: '180003TableValueType',
|
|
tableId: "180003Table",
|
|
tableName: "属性表",
|
|
columnProp: 'itemNo',
|
|
headerAlign: "center",
|
|
align: "left",
|
|
columnLabel: '属性编码',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
columnWidth: 100,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 180003,
|
|
serialNumber: '180003TableValueType',
|
|
tableId: "180003Table",
|
|
tableName: "属性表",
|
|
columnProp: 'itemDesc',
|
|
headerAlign: "center",
|
|
align: "left",
|
|
columnLabel: '属性名称',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
columnWidth: 120,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 180003,
|
|
serialNumber: '180003TableValueType',
|
|
tableId: "180003Table",
|
|
tableName: "属性表",
|
|
columnProp: 'valueType',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '值类型',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
columnWidth: 80,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 180003,
|
|
serialNumber: '180003TableDefaultValue',
|
|
tableId: "180003Table",
|
|
tableName: "属性表",
|
|
columnProp: 'defaultValue',
|
|
headerAlign: "center",
|
|
align: "right",
|
|
columnLabel: '参照值',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
columnWidth: 80,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 180003,
|
|
serialNumber: '180003TableMaxValue',
|
|
tableId: "180003Table",
|
|
tableName: "属性表",
|
|
columnProp: 'maxValue',
|
|
headerAlign: "center",
|
|
align: "right",
|
|
columnLabel: '最大值',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
columnWidth: 80,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 180003,
|
|
serialNumber: '180003TableMinValue',
|
|
tableId: "180003Table",
|
|
tableName: "属性表",
|
|
columnProp: 'minValue',
|
|
headerAlign: "center",
|
|
align: "right",
|
|
columnLabel: '最小值',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
columnWidth: 80,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 180003,
|
|
serialNumber: '180003TableValueChooseFlag',
|
|
tableId: "180003Table",
|
|
tableName: "属性表",
|
|
columnProp: 'valueChooseFlag',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '是否值可选',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
columnWidth: 80,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 180003,
|
|
serialNumber: '180003TableCreateDate',
|
|
tableId: '180003Table',
|
|
tableName: '属性表',
|
|
columnProp: 'createDate',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '创建时间',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
columnWidth: 100,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 180003,
|
|
serialNumber: '180003TableCreateBy',
|
|
tableId: "180003Table",
|
|
tableName: "属性表",
|
|
columnProp: 'createBy',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '创建人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
columnWidth: 80,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 180003,
|
|
serialNumber: '180003TableUpdateDate',
|
|
tableId: "180003Table",
|
|
tableName: "属性表",
|
|
columnProp: 'updateDate',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '更新时间',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
columnWidth: 100,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 180003,
|
|
serialNumber: '180003TableUpdateBy',
|
|
tableId: "180003Table",
|
|
tableName: "属性表",
|
|
columnProp: 'updateBy',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '更新人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
columnWidth: 80,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
},
|
|
],
|
|
saveVisible:false,
|
|
saveLoading:false,
|
|
saveForm:{
|
|
|
|
},
|
|
rules:{
|
|
buId: [
|
|
{ required: true, message: '请选择BU', trigger: 'change' }
|
|
],
|
|
itemNo: [
|
|
{ required: true, message: '请输入属性编码', trigger: 'blur' }
|
|
],
|
|
itemDesc: [
|
|
{ required: true, message: '请输入属性描述', trigger: 'blur' }
|
|
],
|
|
itemType: [
|
|
{ required: true, message: '请选择属性类型', trigger: 'change' }
|
|
],
|
|
valueType: [
|
|
{ required: true, message: '请选择值类型', trigger: 'change' }
|
|
],
|
|
},
|
|
availableVisible:false,
|
|
availableLoading:false,
|
|
availableForm:{
|
|
|
|
},
|
|
availableList:[],
|
|
availableValueVisible:false,
|
|
availableValue:{
|
|
|
|
}
|
|
}
|
|
},
|
|
methods:{
|
|
handleQueryPropertyTemplateType(){
|
|
let params = {
|
|
|
|
}
|
|
queryPropertyTemplateType(params).then(({data})=>{
|
|
if (data && data.code === 0){
|
|
this.dataTypeList = data.rows;
|
|
}else {
|
|
this.$message.warning(data.msg);
|
|
}
|
|
}).catch((error)=>{
|
|
this.$message.error(error);
|
|
})
|
|
},
|
|
handleQueryByPage(){
|
|
let params = {
|
|
...this.templateItem,
|
|
no:this.no,
|
|
size:this.size,
|
|
createBy: this.$store.state.user.name,
|
|
}
|
|
this.queryLoading = true;
|
|
queryPropertyItemByPage(params).then(({data})=>{
|
|
if (data && data.code === 0){
|
|
this.dataList = data.rows;
|
|
this.total = data.total;
|
|
}else {
|
|
this.$message.warning(data.msg);
|
|
}
|
|
this.queryLoading = false;
|
|
}).catch((error)=>{
|
|
this.$message.error(error);
|
|
this.queryLoading = false;
|
|
})
|
|
},
|
|
handleSizeChange(val){
|
|
this.size = val;
|
|
this.handleQueryByPage();
|
|
},
|
|
handlePageChange(val){
|
|
this.no = val;
|
|
this.handleQueryByPage();
|
|
},
|
|
handleSave(row){
|
|
this.$nextTick(()=>{
|
|
if (this.$refs.saveForm){
|
|
this.$refs.saveForm.clearValidate();
|
|
}
|
|
})
|
|
if (row){
|
|
this.saveForm = {...row}
|
|
}else {
|
|
this.saveForm = {...this.templateItem}
|
|
this.saveForm.valueChooseFlag = 'N';
|
|
this.saveForm.valueType = '文本';
|
|
this.saveForm.valueTypeDb = 'T';
|
|
if (this.queryForm.itemType){
|
|
this.saveForm.itemType = this.queryForm.itemType;
|
|
}
|
|
this.saveForm.buId = this.userBuList.length > 0 ? this.userBuList[0].id : ''
|
|
}
|
|
this.saveVisible = true;
|
|
},
|
|
handleSaveOrUpdate(){
|
|
this.$refs.saveForm.validate((valid,obj) => {
|
|
if (valid){
|
|
if (this.saveForm.id){
|
|
this.handleUpdateItem();
|
|
}else {
|
|
this.handleSaveItem();
|
|
}
|
|
}else {
|
|
let i = 1
|
|
for (let key in obj) {
|
|
if (i === 1){
|
|
this.$message.error(obj[key][0].message);
|
|
break
|
|
}
|
|
i++
|
|
}
|
|
}
|
|
})
|
|
},
|
|
handleSaveItem(){
|
|
let params = {
|
|
...this.saveForm,
|
|
createBy: this.$store.state.user.name,
|
|
}
|
|
if (!this.saveForm.minValue){
|
|
params.minValue = '';
|
|
}
|
|
if (!this.saveForm.maxValue){
|
|
params.maxValue = '';
|
|
}
|
|
this.saveLoading = true;
|
|
savePropertyItem(params).then(({data})=>{
|
|
if (data && data.code === 0){
|
|
this.$message.success(data.msg);
|
|
this.saveVisible = false;
|
|
this.handleQueryByPage();
|
|
}else {
|
|
this.$message.warning(data.msg);
|
|
}
|
|
this.saveLoading = false;
|
|
}).catch((error)=>{
|
|
this.$message.error(error);
|
|
this.saveLoading = false;
|
|
})
|
|
},
|
|
handleUpdateItem(){
|
|
let params = {
|
|
...this.saveForm,
|
|
updateBy: this.$store.state.user.name,
|
|
}
|
|
if (!this.saveForm.minValue){
|
|
params.minValue = '';
|
|
}
|
|
if (!this.saveForm.maxValue){
|
|
params.maxValue = '';
|
|
}
|
|
this.saveLoading = true;
|
|
updatePropertyItem(params).then(({data})=>{
|
|
if (data && data.code === 0){
|
|
this.$message.success(data.msg);
|
|
this.saveVisible = false;
|
|
this.handleQueryByPage();
|
|
}else {
|
|
this.$message.warning(data.msg);
|
|
}
|
|
this.saveLoading = false;
|
|
}).catch((error)=>{
|
|
this.$message.error(error);
|
|
this.saveLoading = false;
|
|
})
|
|
},
|
|
handleQueryBu(){
|
|
let params = {
|
|
username: this.$store.state.user.name,
|
|
}
|
|
getSiteAndBuByUserName(params).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.userBuList = data.rows
|
|
}else {
|
|
this.$message.warning(data.message)
|
|
}
|
|
}).catch((error)=>{
|
|
this.$message.error(error)
|
|
})
|
|
},
|
|
handleRemove(row){
|
|
this.$alert('确认删除该属性吗?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
let params = {
|
|
id: row.id,
|
|
}
|
|
this.saveLoading = true;
|
|
removePropertyItem(params).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.$message.success(data.msg)
|
|
this.handleQueryByPage()
|
|
} else {
|
|
this.$message.warning(data.msg)
|
|
}
|
|
this.saveLoading = false
|
|
}).catch((error) => {
|
|
this.$message.error(error)
|
|
this.saveLoading = false
|
|
})
|
|
}).catch(() => {
|
|
})
|
|
},
|
|
handleSaveAvailable(row){
|
|
this.availableForm = {...row}
|
|
this.availableForm.itemId = this.availableForm.id
|
|
this.availableForm.id = null
|
|
this.handleQueryPropertyItemAvailable();
|
|
this.availableVisible = true;
|
|
},
|
|
handleSaveAvailableValue(row){
|
|
if (row){
|
|
this.availableValue = {...row}
|
|
}else {
|
|
this.availableValue = {
|
|
...this.availableForm,
|
|
availableValue:undefined,
|
|
}
|
|
}
|
|
this.availableValueVisible = true;
|
|
},
|
|
handleQueryPropertyItemAvailable(){
|
|
let params = {
|
|
itemId: this.availableForm.itemId,
|
|
}
|
|
queryPropertyItemAvailable(params).then(({data})=>{
|
|
if (data && data.code === 0){
|
|
this.availableList = data.rows;
|
|
}else {
|
|
this.$message.warning(data.msg);
|
|
}
|
|
}).catch((error)=>{
|
|
this.$message.error(error);
|
|
})
|
|
},
|
|
handleSaveItemAvailableValue(){
|
|
if (this.availableValue.id){
|
|
this.availableValue.updateBy = this.$store.state.user.name
|
|
updatePropertyItemAvailable(this.availableValue).then(({data})=>{
|
|
if (data && data.code === 0){
|
|
this.$message.success(data.msg)
|
|
this.availableValueVisible = false;
|
|
this.handleQueryPropertyItemAvailable();
|
|
} else {
|
|
this.$message.warning(data.msg)
|
|
}
|
|
}).catch((error)=>{
|
|
this.$message.error(error)
|
|
})
|
|
}else {
|
|
this.availableValue.createBy = this.$store.state.user.name
|
|
savePropertyItemAvailable(this.availableValue).then(({data})=>{
|
|
if (data && data.code === 0){
|
|
this.$message.success(data.msg)
|
|
this.availableValueVisible = false;
|
|
this.handleQueryPropertyItemAvailable();
|
|
} else {
|
|
this.$message.warning(data.msg)
|
|
}
|
|
}).catch((error)=>{
|
|
this.$message.error(error)
|
|
})
|
|
}
|
|
},
|
|
handleRemoveAvailableValue(row){
|
|
this.$confirm('确认删除该可选值吗?', '提示', {}).then(() => {
|
|
removePropertyItemAvailable(row).then(({data})=>{
|
|
if (data && data.code === 0){
|
|
this.$message.success(data.msg)
|
|
this.availableValueVisible = false;
|
|
this.handleQueryPropertyItemAvailable();
|
|
} else {
|
|
this.$message.warning(data.msg)
|
|
}
|
|
}).catch((error)=>{
|
|
this.$message.error(error)
|
|
})
|
|
})
|
|
},
|
|
changeValueType(val){
|
|
this.saveForm.minValue = undefined;
|
|
this.saveForm.maxValue = undefined;
|
|
}
|
|
},
|
|
created() {
|
|
this.queryForm = {...this.templateItem}
|
|
this.handleQueryPropertyTemplateType();
|
|
this.handleQueryByPage();
|
|
this.handleQueryBu();
|
|
},
|
|
watch:{
|
|
'saveForm.itemNo'(newVal, oldVal){
|
|
this.saveForm.itemNo = newVal.toUpperCase();
|
|
},
|
|
'templateItem.itemNo'(newVal, oldVal){
|
|
this.templateItem.itemNo = newVal.toUpperCase();
|
|
},
|
|
'saveForm.valueType'(newVal, oldVal){
|
|
if (newVal === '文本'){
|
|
this.saveForm.valueTypeDb = 'T'
|
|
}else {
|
|
this.saveForm.valueTypeDb = 'N'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<div>
|
|
<div style="width: 1000px">
|
|
<el-form :model="templateItem" label-position="top">
|
|
<el-row :gutter="10">
|
|
<el-col :span="4">
|
|
<el-form-item label="属性编码">
|
|
<el-input v-model="templateItem.itemNo"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="4">
|
|
<el-form-item label="属性描述">
|
|
<el-input v-model="templateItem.itemDesc"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="4">
|
|
<el-form-item label="属性类型">
|
|
<el-select v-model="templateItem.itemType" style="width: 100%;">
|
|
<el-option label="全部" value=""></el-option>
|
|
<el-option :label="item.functionTypeDesc" :value="item.functionType" v-for="item in dataTypeList" :key="item.functionType"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="4">
|
|
<el-form-item label=" ">
|
|
<el-button type="primary" @click="handleQueryByPage">查询</el-button>
|
|
<el-button type="primary" @click="handleSave(null)">新增</el-button>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
</el-form>
|
|
</div>
|
|
<el-table :data="dataList" style="width: 100%" border v-loading="queryLoading" height="80vh">
|
|
<el-table-column
|
|
v-for="(item,index) in columns" :key="index"
|
|
:sortable="item.columnSortable"
|
|
:prop="item.columnProp"
|
|
:header-align="item.headerAlign"
|
|
:show-overflow-tooltip="item.showOverflowTooltip"
|
|
:align="item.align"
|
|
:fixed="item.fixed==''?false:item.fixed"
|
|
:min-width="item.columnWidth"
|
|
:label="item.columnLabel">
|
|
<template slot-scope="scope">
|
|
<span v-if="!item.columnHidden">
|
|
<template v-if="item.columnProp==='valueType'">{{ scope.row[item.columnProp]}}</template>
|
|
<template v-else-if="item.columnProp==='valueChooseFlag'">{{ scope.row[item.columnProp] === 'Y' ? '是' : '否' }}</template>
|
|
<template v-else>{{ scope.row[item.columnProp] }}</template>
|
|
</span>
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column
|
|
fixed="right"
|
|
header-align="center"
|
|
align="center"
|
|
width="160"
|
|
label="操作">
|
|
<template slot-scope="scope">
|
|
<a @click="handleSave(scope.row)">编辑</a>
|
|
<a @click="handleRemove(scope.row)">删除</a>
|
|
<a v-if="scope.row.valueChooseFlag === 'Y'" @click="handleSaveAvailable(scope.row)">可选值</a>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
|
|
<el-pagination @size-change="handleSizeChange"
|
|
@current-change="handlePageChange"
|
|
:current-page="no"
|
|
:page-sizes="[20, 50, 100, 200, 500]"
|
|
:page-size="size"
|
|
:total="total"
|
|
layout="total,sizes, prev, pager, next, jumper">
|
|
|
|
</el-pagination>
|
|
|
|
<el-dialog title="属性信息" :close-on-click-modal="false" v-drag :visible.sync="saveVisible" width="500px">
|
|
<el-form :model="saveForm" ref="saveForm" :rules="rules" label-position="top" label-width="100px">
|
|
<el-row :gutter="10">
|
|
<el-col :span="16">
|
|
<el-form-item label="BU" prop="buId" :show-message="false">
|
|
<bu-select v-model="saveForm.buId" :disabled="saveForm.id > 0"></bu-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="10">
|
|
<el-form-item label="属性编码" prop="itemNo" :show-message="false">
|
|
<el-input v-model="saveForm.itemNo" :disabled="saveForm.id"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="14">
|
|
<el-form-item label="属性描述" prop="itemDesc" :show-message="false">
|
|
<el-input v-model="saveForm.itemDesc"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="10">
|
|
<el-form-item label="值类型" prop="valueType" :show-message="false">
|
|
<el-select v-model="saveForm.valueType" style="width: 100%;" @change="changeValueType">
|
|
<el-option label="文本" value="文本"></el-option>
|
|
<el-option label="数字" value="数字"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="14">
|
|
<el-form-item label="参照值" prop="defaultValue" :show-message="false">
|
|
<el-input v-model="saveForm.defaultValue"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="10" v-if="saveForm.valueType !== 'text'">
|
|
<el-form-item label="最大值" prop="maxValue" :show-message="false">
|
|
<el-input-number style="width: 100%;" :controls="false" :step="0" v-model="saveForm.maxValue"></el-input-number>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="10" v-else>
|
|
<el-form-item label="最大值" prop="maxValue" :show-message="false">
|
|
<el-input v-model="saveForm.maxValue"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="10" v-if="saveForm.valueType !== 'text'">
|
|
<el-form-item label="最小值" prop="minValue" :show-message="false">
|
|
<el-input-number style="width: 100%;" :controls="false" :step="0" :disabled="saveForm.valueType === 'text'" v-model="saveForm.minValue"></el-input-number>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="10" v-else>
|
|
<el-form-item label="最小值" prop="minValue" :show-message="false">
|
|
<el-input v-model="saveForm.minValue"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="10">
|
|
<el-form-item label="属性类型" prop="itemType" :show-message="false">
|
|
<el-select v-model="saveForm.itemType" style="width: 100%;">
|
|
<el-option :label="item.functionTypeDesc" :value="item.functionType" v-for="item in dataTypeList" :key="item.functionType"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="10">
|
|
<el-form-item label=" " prop="valueChooseFlag" :show-message="false">
|
|
<el-checkbox v-model="saveForm.valueChooseFlag" :true-label="'Y'" :false-label="'N'">是否值可选</el-checkbox>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
</el-form>
|
|
<div slot="footer" class="dialog-footer">
|
|
<el-button type="primary" :loading="saveLoading" @click="handleSaveOrUpdate">确 定</el-button>
|
|
<el-button @click="saveVisible = false">取 消</el-button>
|
|
</div>
|
|
</el-dialog>
|
|
|
|
<el-dialog title="可选值" :close-on-click-modal="false" v-drag :visible.sync="availableVisible" width="500px">
|
|
<el-form :model="availableForm" label-position="top" >
|
|
<el-row :gutter="10">
|
|
<el-col :span="8">
|
|
<el-form-item label="属性编码" prop="itemNo" :show-message="false">
|
|
<el-input v-model="availableForm.itemNo" disabled></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="10">
|
|
<el-form-item label="属性描述" prop="itemDesc" :show-message="false">
|
|
<el-input v-model="availableForm.itemDesc" disabled></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-form-item label=" " >
|
|
<el-button type="primary" @click="handleSaveAvailableValue(null)">新增</el-button>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
</el-form>
|
|
<el-table :data="availableList" border style="width: 100%" :height="300">
|
|
<el-table-column
|
|
prop="availableValue"
|
|
header-align="center"
|
|
align="left"
|
|
min-width="200"
|
|
label="属性值">
|
|
</el-table-column>
|
|
<el-table-column
|
|
prop=""
|
|
header-align="center"
|
|
align="center"
|
|
min-width="100"
|
|
label="操作">
|
|
<template slot-scope="scope">
|
|
<a @click="handleSaveAvailableValue(scope.row)">修改</a>
|
|
<a @click="handleRemoveAvailableValue(scope.row)">删除</a>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-dialog>
|
|
<el-dialog title="可选值信息" :close-on-click-modal="false" v-drag :visible.sync="availableValueVisible" width="300px">
|
|
<el-form :model="availableValue" label-position="top">
|
|
<el-form-item label="可选值" required>
|
|
<el-input v-model="availableValue.availableValue" v-if="availableForm.valueTypeDb === 'T'"></el-input>
|
|
<el-input-number style="width: 100%;" :controls="false" :step="0" v-model="availableValue.availableValue" v-if="availableForm.valueTypeDb === 'N'"></el-input-number>
|
|
</el-form-item>
|
|
</el-form>
|
|
<div slot="footer" class="dialog-footer">
|
|
<el-button type="primary" :loading="saveLoading" @click="handleSaveItemAvailableValue">确 定</el-button>
|
|
<el-button @click="availableValueVisible = false">取 消</el-button>
|
|
</div>
|
|
</el-dialog>
|
|
</div>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.el-table /deep/ .cell{
|
|
height: auto;
|
|
line-height: 1.5;
|
|
}
|
|
</style>
|