|
@@ -19,18 +19,9 @@
|
|
|
<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
|
|
|
- ">
|
|
|
+ <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="item in tableOptions[item.columncode]" :key="item.v ? item.v : item.planDepartureApt" :label="item.k ? item.k : item.planDepartureApt" :value="
|
|
|
- item.setlabel === 'positionDescribe'
|
|
|
- ? item.v
|
|
|
- : item.v != undefined
|
|
|
- ? item.v
|
|
|
- : item.planDepartureApt
|
|
|
- ">
|
|
|
+ <el-option v-for="itemParams in tableOptions[item.columncode]" :key="itemParams.pageconfigurationid" :label="itemParams.pagename" :value="itemParams.pageconfigurationid">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
@@ -113,7 +104,7 @@ export default {
|
|
|
rmFlag: false, //删除弹框开关
|
|
|
rmTitle: '', //删除弹框标题
|
|
|
tableObj: {}, //删除数据
|
|
|
- tableOptions: [], //表单数据下拉
|
|
|
+ tableOptions: {}, //表单数据下拉
|
|
|
labelWidth: '120px', //表单文字距离
|
|
|
fromDataReqCatch: [], //表单规则缓存
|
|
|
}
|
|
@@ -194,7 +185,6 @@ export default {
|
|
|
//根据页面table设置数据
|
|
|
getPageTableSetting (pageAuths, pageAuthtables) {
|
|
|
const authTableObj = pageAuthtables[0]
|
|
|
- console.log(authTableObj)
|
|
|
//获取当前页面table的配置
|
|
|
const { pagename, pageconfigurationid, serviceid, pagecode, userpermissionsid, defaultfilter } = authTableObj
|
|
|
//获取当前页面table的按钮权限
|
|
@@ -226,6 +216,7 @@ 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("获取表头数据失败");
|
|
@@ -234,6 +225,18 @@ 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)
|
|
@@ -242,7 +245,7 @@ export default {
|
|
|
this.queryTableData(true)
|
|
|
},
|
|
|
//格式化传递参数数据
|
|
|
- formatDefault (item, data) {
|
|
|
+ formatDefault (item, data = {}) {
|
|
|
if (typeof item != 'string') return {}
|
|
|
const filterItem = {}
|
|
|
const parameters = item.replace('{', '').replace('}', '')
|
|
@@ -286,11 +289,12 @@ export default {
|
|
|
},
|
|
|
//表格-删除
|
|
|
handleRemove (row) {
|
|
|
+ const { columncode } = this.tableCols[0]
|
|
|
const { openmode, pageroute } = this.pageAuthBtnDel
|
|
|
if (!openmode) return
|
|
|
if (openmode != 2) this.autoBtnClick(openmode, pageroute)
|
|
|
this.rmFlag = true;
|
|
|
- this.rmTitle = row[this.rowTitle];
|
|
|
+ this.rmTitle = row[columncode];
|
|
|
this.tableObj = row;
|
|
|
},
|
|
|
//表格-删除-确认
|