|
|
@ -0,0 +1,304 @@ |
|
|
|
<template> |
|
|
|
<el-dialog |
|
|
|
:title="isAddOrEdit=='edit'?'修改':'新增'" |
|
|
|
model-value |
|
|
|
width="90%" |
|
|
|
:close-on-click-modal="false" |
|
|
|
:before-close="cancel" |
|
|
|
> |
|
|
|
<el-form |
|
|
|
ref="formData" |
|
|
|
:model="formData" |
|
|
|
:rules="rules" |
|
|
|
label-width="130px" |
|
|
|
v-loading="loading" |
|
|
|
> |
|
|
|
<el-row> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('Script-Script')" prop="Script-Script"> |
|
|
|
<el-input v-model="formData['Script-Script']" :disabled="isAddOrEdit==='edit'" placeholder="请输入" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('Script-Bez')" prop="Script-Bez"> |
|
|
|
<el-input v-model="formData['Script-Bez']" placeholder="请输入" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('Script-ScriptTable')" prop="Script-ScriptTable"> |
|
|
|
<!-- <el-input v-model="formData['Script-ScriptTable']" placeholder="请输入" /> --> |
|
|
|
<el-input v-model="formData['Script-ScriptTable']" clearable> |
|
|
|
<template #append> |
|
|
|
<el-button type="primary" size="small" @click="getColumnEvent">获取表字段</el-button> |
|
|
|
</template> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('Script-ScriptType')"> |
|
|
|
<el-input v-model="formData['Script-ScriptType']" placeholder="请输入" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('Script-FilePath')"> |
|
|
|
<el-input v-model="formData['Script-FilePath']" placeholder="请输入" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('Script-UseHead')"> |
|
|
|
<el-input-number v-model="formData['Script-UseHead']" placeholder="请输入" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('Script-ClearTable')"> |
|
|
|
<el-input-number v-model="formData['Script-ClearTable']" placeholder="请输入" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('Script-StartRow')"> |
|
|
|
<el-input-number v-model="formData['Script-StartRow']" placeholder="请输入" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('Script-StartCol')"> |
|
|
|
<el-input-number v-model="formData['Script-StartCol']" placeholder="请输入" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('Script-AppendNewRecord')"> |
|
|
|
<el-input-number v-model="formData['Script-AppendNewRecord']" placeholder="请输入" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('Script-UpdateRecord')"> |
|
|
|
<el-input-number v-model="formData['Script-UpdateRecord']" placeholder="请输入" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('Script-AppendAndUpdateRecord')"> |
|
|
|
<el-input-number v-model="formData['Script-AppendAndUpdateRecord']" placeholder="请输入" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('Script-CallSpecFunc')"> |
|
|
|
<el-input-number v-model="formData['Script-CallSpecFunc']" placeholder="请输入" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="getColumnName('Script-CallFunction')"> |
|
|
|
<el-input v-model="formData['Script-CallFunction']" placeholder="请输入" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="24"> |
|
|
|
<el-table |
|
|
|
style="width: 100%;margin-bottom:10px;" |
|
|
|
height="400px" |
|
|
|
border |
|
|
|
size="mini" |
|
|
|
:data="formData['Script-ScriptItem']"> |
|
|
|
<el-table-column :label="getColumnName('ScriptItem-TabMapCol')"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input v-model="scope.row['ScriptItem-TabMapCol']" clearable placeholder="请输入" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column :label="getColumnName('ScriptItem-ColNo')"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input-number v-model="scope.row['ScriptItem-ColNo']" clearable placeholder="请输入" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column :label="getColumnName('ScriptItem-ColName')"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input v-model="scope.row['ScriptItem-ColName']" clearable placeholder="请输入" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column :label="getColumnName('ScriptItem-RowNo')"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input-number v-model="scope.row['ScriptItem-RowNo']" clearable placeholder="请输入" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column :label="getColumnName('ScriptItem-RowName')"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input v-model="scope.row['ScriptItem-RowName']" clearable placeholder="请输入" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column :label="getColumnName('ScriptItem-ColFieldType')"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input-number v-model="scope.row['ScriptItem-ColFieldType']" clearable placeholder="请输入" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column :label="getColumnName('ScriptItem-ColFormat')"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input v-model="scope.row['ScriptItem-ColFormat']" clearable placeholder="请输入" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column :label="getColumnName('ScriptItem-DefaultValue')"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input v-model="scope.row['ScriptItem-DefaultValue']" clearable placeholder="请输入" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-table-column align="center" width="100"> |
|
|
|
<template #header> |
|
|
|
<el-button |
|
|
|
size="mini" |
|
|
|
class="search-button-style" |
|
|
|
style="margin-left:0 !important;width:70px;" |
|
|
|
@click="handleAddValst()" |
|
|
|
>新增</el-button> |
|
|
|
</template> |
|
|
|
<template #default="scope"> |
|
|
|
<el-button |
|
|
|
class="table-delete-button" |
|
|
|
type="danger" |
|
|
|
size="mini" |
|
|
|
@click="handleDeleteValst(scope.$index)" |
|
|
|
>删除</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</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, post, put } from "@/server/api.js"; |
|
|
|
export default { |
|
|
|
name: "editField", |
|
|
|
props: { |
|
|
|
item: { |
|
|
|
default: {}, |
|
|
|
}, |
|
|
|
isAddOrEdit: { |
|
|
|
default: "add", |
|
|
|
}, |
|
|
|
}, |
|
|
|
mounted() { |
|
|
|
if (this.isAddOrEdit == "edit") { |
|
|
|
get(`/admin/base/script/selectone/${this.item['Script-Script']}`).then(res => { |
|
|
|
this.formData = res.data |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
created() { |
|
|
|
|
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
loading: false, |
|
|
|
// 表单参数 |
|
|
|
formData: { |
|
|
|
'Script-ScriptItem': [] |
|
|
|
}, |
|
|
|
uomtypeArray: [], // 单位类型 |
|
|
|
// 表单校验 |
|
|
|
rules: { |
|
|
|
"Script-Script": [ |
|
|
|
{ required: true, message: "此项不能为空", trigger: "blur" }, |
|
|
|
], |
|
|
|
"Script-Bez": [ |
|
|
|
{ required: true, message: "此项不能为空", trigger: "blur" }, |
|
|
|
], |
|
|
|
"Script-ScriptTable": [ |
|
|
|
{ required: true, message: "此项不能为空", trigger: "blur" }, |
|
|
|
], |
|
|
|
}, |
|
|
|
}; |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
// 获取表列名 |
|
|
|
getColumnEvent() { |
|
|
|
let params = { |
|
|
|
tablename: this.formData['Script-ScriptTable'] |
|
|
|
} |
|
|
|
get('/admin/base/scriptitem/selecttableinfo', params).then((res) => { |
|
|
|
if (res.code === 200) { |
|
|
|
// let newDataArray = [] |
|
|
|
// res.data.forEach(el => { |
|
|
|
// newDataArray.push({ |
|
|
|
// 'DataTableLst-TargetField': el.fieldName, |
|
|
|
// 'DataTableLst-FieldType': el.fieldType |
|
|
|
// }) |
|
|
|
// }) |
|
|
|
this.formData['Script-ScriptItem'] = res.data || [] |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
/** 新增字段 */ |
|
|
|
handleAddValst() { |
|
|
|
this.formData['Script-ScriptItem'].push({ |
|
|
|
'ScriptItem-TabMapCol': undefined, |
|
|
|
'ScriptItem-ColNo': undefined, |
|
|
|
'ScriptItem-ColName': undefined, |
|
|
|
'ScriptItem-RowNo': undefined, |
|
|
|
'ScriptItem-RowName': undefined, |
|
|
|
'ScriptItem-ColFieldType': undefined, |
|
|
|
'ScriptItem-ColFormat': undefined, |
|
|
|
'ScriptItem-DefaultValue': undefined |
|
|
|
}) |
|
|
|
}, |
|
|
|
/** 删除字段 */ |
|
|
|
handleDeleteValst(index) { |
|
|
|
this.formData['Script-ScriptItem'].splice(index, 1) |
|
|
|
}, |
|
|
|
// 取消 |
|
|
|
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('/admin/base/script/insertone',this.formData).then(({ code }) => { |
|
|
|
this.loading = false; |
|
|
|
if (code == 200) { |
|
|
|
this.msgSuccess("新增成功"); |
|
|
|
this.$emit("setIsAddOrEdit", false); |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch(() => { |
|
|
|
this.loading = false; |
|
|
|
}); |
|
|
|
}, |
|
|
|
// 修改 |
|
|
|
edit() { |
|
|
|
put('/admin/base/script/updateone',this.formData).then(({ code }) => { |
|
|
|
this.loading = false; |
|
|
|
if (code == 200) { |
|
|
|
this.msgSuccess("修改成功"); |
|
|
|
this.$emit("setIsAddOrEdit", false); |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch(() => { |
|
|
|
this.loading = false; |
|
|
|
}); |
|
|
|
}, |
|
|
|
}, |
|
|
|
}; |
|
|
|
</script> |