|
@@ -36,88 +36,74 @@
|
|
|
</div>
|
|
|
<div class="data-table-dialog">
|
|
|
<!--新增/编辑-->
|
|
|
- <Dialog :width="width" :isBody="isBody" :flag="flag">
|
|
|
- <div class="dialog-content">
|
|
|
- <div class="title">{{ tableTitle }}</div>
|
|
|
- <div class="contents">
|
|
|
- <el-form ref="ruleForm" :model="tableForm" :label-width="labelWidth">
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col v-for="(item, index) in formItem" :key="index" :span="rows">
|
|
|
- <el-form-item :label="item.columnname">
|
|
|
- <template v-if="
|
|
|
+ <Dialog :dialog-title="tableTitle" :dialogSize="width" :dialog-drawer="flag" @handleClose="eledite" @handleSubmit="handleOk">
|
|
|
+ <el-form ref="ruleForm" :model="tableForm" :label-width="labelWidth">
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col v-for="(item, index) in formItem" :key="index" :span="rows">
|
|
|
+ <el-form-item :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="item in tableOptions[item.columncode]" :key="item.v ? item.v : item.planDepartureApt" :label="item.k ? item.k : item.planDepartureApt" :value="
|
|
|
+ <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>
|
|
|
- </el-select>
|
|
|
- </template>
|
|
|
- <template v-else-if="fromDataType(item.dataType) == 'text'||fromDataType(item.dataType) == 'VARCHAR'">
|
|
|
- <el-input size="small" :rows="1" type="textarea" @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>
|
|
|
- </div>
|
|
|
- <div class="foot right">
|
|
|
- <el-button size="medium" @click="handleOk" class="r24" type="primary">确定</el-button>
|
|
|
- <el-button @click="eledite" size="medium">取消</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ <template v-else-if="fromDataType(item.dataType) == 'text'||fromDataType(item.dataType) == 'VARCHAR'">
|
|
|
+ <el-input size="small" :rows="1" type="textarea" @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>
|
|
|
</Dialog>
|
|
|
<!--删除-->
|
|
|
- <Dialog :isBody="isBody" :flag="rmFlag">
|
|
|
- <div class="airportInfoDialog">
|
|
|
- <div class="title del-title">删除</div>
|
|
|
- <div class="content del-content">
|
|
|
- <span class="el-icon-error error r10"></span>您是否确认删除<span class="error l10">{{ rmTitle }}</span>
|
|
|
- ?
|
|
|
- </div>
|
|
|
- <div class="foot right Delfoot">
|
|
|
- <el-button size="medium" class="r24" @click="tableRemove" type="danger">删除</el-button>
|
|
|
- <el-button size="medium" @click="rmFlag = false">取消</el-button>
|
|
|
- </div>
|
|
|
+ <Dialog dialog-title="删除" :dialog-drawer="rmFlag" @handleClose="rmFlag = false" @handleSubmit="tableRemove">
|
|
|
+ <div class="content del-content">
|
|
|
+ <span class="el-icon-error error r10"></span>您是否确认删除<span class="error l10">{{ rmTitle }}</span>
|
|
|
+ ?
|
|
|
</div>
|
|
|
</Dialog>
|
|
|
<!--高级查询-->
|
|
|
- <Dialog :flag="dialogFlag" width="852px">
|
|
|
- <AdvanceQuery :tableColMunt="tableCols" @getColData="getColData" @dialogHide="dialogHide" />
|
|
|
+ <Dialog dialog-title="高级查询" dialogSize="600px" :dialog-drawer="advancedDrawer" @handleClose="advancedDrawer = false" @handleSubmit="advancedTable('advancedDialogForm')">
|
|
|
+ <AdvancedQuery ref="advancedDialogForm" @getAdvancedQueryData="getAdvancedQueryData" />
|
|
|
+ <template slot="d_foot">
|
|
|
+ <el-button size="small" type="primary">收藏</el-button>
|
|
|
+ </template>
|
|
|
</Dialog>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import Dialog from "@/layout/components/Dialog/index.vue";
|
|
|
+import Dialog from "@/components/PublicPageDialog";
|
|
|
import NoData from "@/components/nodata";
|
|
|
-import AdvanceQuery from './components/advanceQuery.vue';
|
|
|
import AuthButton from './components/authButton.vue';
|
|
|
-import { translateDataToTreeAllTreeMsg, getAuthData } from "@/utils/validate";
|
|
|
+import { getAuthData } from "@/utils/validate";
|
|
|
import { Query, newData, modifyData, moveData, abnormalDataRecovery } from "@/api/webApi";
|
|
|
-import { getToken } from '@/utils/auth';
|
|
|
import TableHeaderCell from '@/components/TableHeaderCell/index.vue';
|
|
|
+import AdvancedQuery from '@/components/AdvancedQuery'
|
|
|
export default {
|
|
|
name: "DataTable",
|
|
|
props: {
|
|
@@ -169,7 +155,7 @@ export default {
|
|
|
default: "180px",
|
|
|
},
|
|
|
},
|
|
|
- components: { Dialog, NoData, AdvanceQuery, AuthButton, TableHeaderCell },
|
|
|
+ components: { Dialog, NoData, AdvancedQuery, AuthButton, TableHeaderCell },
|
|
|
data () {
|
|
|
return {
|
|
|
pageTitle: '',
|
|
@@ -222,7 +208,8 @@ export default {
|
|
|
authId: '',
|
|
|
tableDataSortRules: {},
|
|
|
tableKey: '',
|
|
|
- dataContent: {}
|
|
|
+ dataContent: {},
|
|
|
+ advancedDrawer: false
|
|
|
};
|
|
|
},
|
|
|
computed: {
|
|
@@ -294,10 +281,10 @@ export default {
|
|
|
const table = arrs.filter(item => item.pagetype == 3)
|
|
|
const btnArr = arrs.filter(item => item.pagetype == 4)
|
|
|
if (btnArr && btnArr.length) {
|
|
|
- btnArr.forEach(item => {
|
|
|
- this.autoBtnObj(item)
|
|
|
- })
|
|
|
- }
|
|
|
+ btnArr.forEach(item => {
|
|
|
+ this.autoBtnObj(item)
|
|
|
+ })
|
|
|
+ }
|
|
|
|
|
|
|
|
|
this.urlParams = query
|
|
@@ -309,7 +296,7 @@ export default {
|
|
|
this.pageTitle = obj.pagename;
|
|
|
this.authId = obj.pageconfigurationid
|
|
|
this.queryId = obj.serviceid;
|
|
|
- this.authBtns = arrs.filter(item =>item.superiorid == this.authId && item.pagetype==4)
|
|
|
+ this.authBtns = arrs.filter(item => item.superiorid == this.authId && item.pagetype == 4)
|
|
|
this.authBtnCol = arrs.filter(item => Number(item.servicetype) == 6)
|
|
|
if (this.authBtnCol.length) {
|
|
|
this.authBtnCol.forEach(item => {
|
|
@@ -346,16 +333,16 @@ export default {
|
|
|
const { code, returnData } = await Query({
|
|
|
"serviceid": 3,
|
|
|
"datacontent": {
|
|
|
- "filter": {
|
|
|
- "pagecode": pagecode
|
|
|
- }
|
|
|
+ "filter": {
|
|
|
+ "pagecode": pagecode
|
|
|
+ }
|
|
|
},
|
|
|
"event": "0"
|
|
|
});
|
|
|
if (code == 0) {
|
|
|
if (returnData && returnData.length) {
|
|
|
const titleColumn = returnData.find(
|
|
|
- (item) => item.isdisplay !=0
|
|
|
+ (item) => item.isdisplay != 0
|
|
|
);
|
|
|
const columncode = returnData.find(
|
|
|
(item) => item.isprimarykey == 1
|
|
@@ -433,13 +420,9 @@ export default {
|
|
|
},
|
|
|
handleQuery () {
|
|
|
const { openmode, pageroute } = this.btnQueryObj
|
|
|
- if (openmode) {
|
|
|
- if (openmode != 3) {
|
|
|
- this.autoBtnClick(openmode, pageroute)
|
|
|
- } else {
|
|
|
- this.dialogFlag = true
|
|
|
- }
|
|
|
- }
|
|
|
+ if (!openmode) return
|
|
|
+ if (openmode != 3) this.advancedDrawer = true // this.autoBtnClick(openmode, pageroute)
|
|
|
+ this.dialogFlag = true
|
|
|
},
|
|
|
eledite () {
|
|
|
this.flag = false;
|
|
@@ -544,9 +527,11 @@ export default {
|
|
|
},
|
|
|
//获取表格数据
|
|
|
async getQuery (id, datacontent = this.dataContent) {
|
|
|
- datacontent = {"filter": {
|
|
|
- 1: 1
|
|
|
- }}
|
|
|
+ datacontent = {
|
|
|
+ "filter": {
|
|
|
+ 1: 1
|
|
|
+ }
|
|
|
+ }
|
|
|
try {
|
|
|
this.loading = true;
|
|
|
const { code, returnData } = await Query({
|
|
@@ -629,7 +614,7 @@ export default {
|
|
|
} else if (event == 2) {
|
|
|
obj.value = data
|
|
|
console.log(obj.filter)
|
|
|
- obj.filter[key]=obj.value[key]
|
|
|
+ obj.filter[key] = obj.value[key]
|
|
|
console.log(obj.filter)
|
|
|
if (obj.value[key]) {
|
|
|
delete obj.value[key]
|
|
@@ -692,9 +677,9 @@ export default {
|
|
|
//初始化表格
|
|
|
initTableData () {
|
|
|
console.log(this.tableCols)
|
|
|
- this.tableColsCopy = this.tableCols.filter((item) => item.isdisplay==2);
|
|
|
+ this.tableColsCopy = this.tableCols.filter((item) => item.isdisplay == 2);
|
|
|
this.tableColsCopy = _.orderBy(this.tableColsCopy, ['displaynumber'], ['asc']);
|
|
|
- this.formItem = this.tableCols.filter((item) => item.isdisplay==2 || item.isdisplay==3);
|
|
|
+ this.formItem = this.tableCols.filter((item) => item.isdisplay == 2 || item.isdisplay == 3);
|
|
|
console.log(this.formItem)
|
|
|
this.formItem = _.orderBy(this.formItem, ['displaynumber'], ['asc']);
|
|
|
this.tableDataCopy = _.cloneDeep(this.tableData);
|
|
@@ -913,7 +898,7 @@ export default {
|
|
|
if (openmode != 2) {
|
|
|
this.autoBtnClick(openmode, pageroute)
|
|
|
} else {
|
|
|
- console.log(111)
|
|
|
+ console.log(111)
|
|
|
|
|
|
this.flag = true;
|
|
|
this.tableType = "edit";
|
|
@@ -1032,7 +1017,14 @@ export default {
|
|
|
return (cellValue ?? '').replace('T', ' ')
|
|
|
}
|
|
|
return cellValue
|
|
|
- }
|
|
|
+ },
|
|
|
+ //高级查询
|
|
|
+ advancedTable (refName) {
|
|
|
+ this.$refs[refName].advancedQueryHandler()
|
|
|
+ },
|
|
|
+ getAdvancedQueryData (dataRules) {
|
|
|
+ console.log(dataRules)
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
</script>
|