|
@@ -15,37 +15,7 @@
|
|
|
<div class="TablePage_dialog">
|
|
|
<!--新增/编辑-->
|
|
|
<PublicPageDialog :dialog-title="tableTitle" dialogSize="630px" :dialog-drawer="flag" @handleClose="submitClickClose('ruleForm')" @handleSubmit="submitClickHandler">
|
|
|
- <el-form ref="ruleForm" :model="tableForm" :label-width="labelWidth">
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col v-for="(item, index) in formItem" :key="index" :span="24">
|
|
|
- <el-form-item :rules="fromDataReq(item)" :prop="item.columncode" :label="item.columnname">
|
|
|
- <template v-if="item.dropdownlist ||item.dropdownlist == 0">
|
|
|
- <el-select class="input-shadow" size="small" filterable default-first-option style="width: 100%" v-model="tableForm[item.columncode]" @change="changeSelect(item.columncode, item)" placeholder="请选择" clearable @clear="tableForm[item.columncode] = ''">
|
|
|
- <el-option v-for="itemParams in tableOptions[item.columncode]" :key="itemParams.pageconfigurationid" :label="itemParams.pagename" :value="itemParams.pageconfigurationid">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </template>
|
|
|
- <template v-else-if="fromDataType(item.datatype) == 'text'||fromDataType(item.datatype) == 'VARCHAR'">
|
|
|
- <el-input size="small" @change="inputChangeHandler(item.columncode)" v-model="tableForm[item.columncode]"></el-input>
|
|
|
- </template>
|
|
|
- <template v-else-if="fromDataType(item.datatype) == 'date'">
|
|
|
- <el-date-picker class="datetimes" value-format="yyyy-MM-dd" v-model="tableForm[item.columncode]" type="date" placeholder="选择日期" @change="inputChangeHandler(item.columncode)">
|
|
|
- </el-date-picker>
|
|
|
- </template>
|
|
|
- <template v-else-if="fromDataType(item.datatype) == 'datetime'">
|
|
|
- <el-date-picker class="datetimes" value-format="yyyy-MM-dd HH:mm:ss" v-model="tableForm[item.columncode]" type="datetime" placeholder="选择日期时间" @change="inputChangeHandler(item.columncode)">
|
|
|
- </el-date-picker>
|
|
|
- </template>
|
|
|
- <template v-else-if="fromDataType(item.datatype) == 'INT' || fromDataType(item.datatype) == 'tinyint'">
|
|
|
- <el-input size="small" v-model.number="tableForm[item.columncode]" onkeyup="value=value.replace(/[^1-9]/g,'')" @change="inputChangeHandler(item.columncode)"></el-input>
|
|
|
- </template>
|
|
|
- <template v-else>
|
|
|
- <el-input size="small" v-model="tableForm[item.columncode]" @change="inputChangeHandler(item.columncode)"></el-input>
|
|
|
- </template>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-form>
|
|
|
+ <PublicPageForm ref="ruleForm" :label-width="labelWidth" :form-item="formItem" :form-data="tableForm" />
|
|
|
</PublicPageDialog>
|
|
|
<!--删除-->
|
|
|
<PublicPageDialog dialog-title="删除" :dialog-drawer="rmFlag" @handleClose="rmFlag = false" @handleSubmit="tableRemove">
|
|
@@ -70,6 +40,7 @@ import PublicPageHeader from '@/components/PublicPageHeader'
|
|
|
import PublicPageTable from '@/components/SimpleTable'
|
|
|
import PublicPageTree from '@/components/publicPageTree'
|
|
|
import PublicPageDialog from '@/components/PublicPageDialog'
|
|
|
+import PublicPageForm from '@/components/publicPageForm'
|
|
|
import AdvancedQuery from '@/components/AdvancedQuery'
|
|
|
import AuthButton from '@/components/AuthButton'
|
|
|
import { mapGetters } from 'vuex'
|
|
@@ -77,7 +48,7 @@ import { Query, newData, modifyData, moveData } from "@/api/webApi"
|
|
|
|
|
|
export default {
|
|
|
name: 'TablePage',
|
|
|
- components: { PublicPageHeader, PublicPageTable, PublicPageDialog, PublicPageTree, AdvancedQuery, AuthButton },
|
|
|
+ components: { PublicPageHeader, PublicPageTable, PublicPageDialog, PublicPageTree, PublicPageForm, AdvancedQuery, AuthButton },
|
|
|
props: {
|
|
|
dataTitle: {
|
|
|
type: String,
|
|
@@ -144,28 +115,6 @@ export default {
|
|
|
pageAuthBtnOther () {
|
|
|
return this.tableBtns.filter(item => item.servicetype == 5)[0]
|
|
|
},
|
|
|
- //设置新增修改表单类型
|
|
|
- fromDataType () {
|
|
|
- return function (type) {
|
|
|
- if (type) {
|
|
|
- return type.replace(/\([^\)]*\)/g, "");
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- //设置新增修改表单必填类型
|
|
|
- fromDataReq () {
|
|
|
- return function (item) {
|
|
|
- const { dropdownlist, datatype, columnname, isrequired, formatrule } = item
|
|
|
- const itemType = datatype.replace(/\([^\)]*\)/g, "")
|
|
|
- const itemReq = isrequired ? true : false
|
|
|
- const itemRule = formatrule ? true : false
|
|
|
- if (dropdownlist || dropdownlist == 0) return [{ required: itemReq, message: `${columnname}不能为空`, trigger: 'change' }]
|
|
|
- else if (itemType == 'date' || itemType == 'datetime') return [{ required: itemReq, type: 'date', message: `${columnname}不能为空`, trigger: 'change' }]
|
|
|
- else
|
|
|
- if (itemReq && itemRule) return [{ required: itemReq, message: `${columnname}不能为空`, trigger: 'blur' }, { pattern: new RegExp(formatrule), message: `请输入合法的${columnname}规则`, trigger: 'blur' }]
|
|
|
- return [{ required: itemReq, message: `${columnname}不能为空`, trigger: 'blur' }]
|
|
|
- }
|
|
|
- },
|
|
|
},
|
|
|
mounted () {
|
|
|
this.pageInit()
|
|
@@ -234,7 +183,6 @@ export default {
|
|
|
const formItemCopy = _.cloneDeep(returnData).filter((item) => item.isdisplay == 2 || item.isdisplay == 3);
|
|
|
this.formItem = _.orderBy(formItemCopy, ['displaynumber'], ['asc']);
|
|
|
this.tableCols = tableColsCopyOrder;
|
|
|
- this.getSelectData(this.formItem)
|
|
|
}
|
|
|
} else {
|
|
|
this.$message.error("获取表头数据失败");
|
|
@@ -243,18 +191,6 @@ export default {
|
|
|
console.log(error)
|
|
|
}
|
|
|
},
|
|
|
- //获取表单下拉数据
|
|
|
- getSelectData (formItem = []) {
|
|
|
- if (!formItem.length || !Array.isArray(formItem)) return
|
|
|
- const formItemCopy = _.cloneDeep(formItem)
|
|
|
- formItemCopy.map(async ({ dropdownlist, columncode }) => {
|
|
|
- if (dropdownlist || dropdownlist == 0) {
|
|
|
- const datacontent = { filter: { 1: 1 } }
|
|
|
- const { code, returnData } = await Query({ serviceid: dropdownlist, datacontent, event: '0' })
|
|
|
- this.tableOptions[columncode] = code == 0 && returnData?.length ? returnData : []
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
//获取tree点击
|
|
|
treeNodeClick (data) {
|
|
|
const filterItem = this.formatDefault(this.treeParameters, data)
|
|
@@ -274,11 +210,6 @@ export default {
|
|
|
})
|
|
|
return filterItem
|
|
|
},
|
|
|
- //获取表单下拉数据
|
|
|
- changeSelect (code, item) { },
|
|
|
- inputChangeHandler (data) {
|
|
|
- if (!this.tableForm[data]) this.tableForm[data] = null
|
|
|
- },
|
|
|
//表单-新增
|
|
|
handleAdd () {
|
|
|
const { openmode, pageroute } = this.pageAuthBtnAdd
|
|
@@ -322,17 +253,12 @@ export default {
|
|
|
// 新增/编辑-取消
|
|
|
submitClickClose (formName) {
|
|
|
this.flag = false
|
|
|
- this.$refs[formName].resetFields()
|
|
|
+ this.$refs[formName].restForm()
|
|
|
},
|
|
|
// 新增/编辑-确认
|
|
|
submitClickHandler () {
|
|
|
- this.$refs["ruleForm"].validate((valid) => {
|
|
|
- if (valid) {
|
|
|
- this.tableType == "add" ? this.generalDataReception(1, this.tableForm) : this.generalDataReception(2, this.tableForm)
|
|
|
- } else {
|
|
|
- return false;
|
|
|
- }
|
|
|
- });
|
|
|
+ const flag = this.$refs["ruleForm"].submitClickHandler()
|
|
|
+ if (flag) this.tableType == "add" ? this.generalDataReception(1, this.tableForm) : this.generalDataReception(2, this.tableForm)
|
|
|
},
|
|
|
formatChange (data, event, key) {
|
|
|
const datas = []
|