bdb11d53 by xiaomiao

查询功能调整

1 parent 5846b42b
export default {
data () {
data() {
return {
isSearch: false,
searchList: [],
......@@ -7,18 +7,44 @@ export default {
}
},
methods: {
moreQueryClick () {
// 点击高级查询弹出查询弹框
moreQueryClick() {
this.isSearch = true
},
handleSelect (bs, mc, code) {
let that = this
// 查询事件
handleSelect(bs, mc, code) {
this.dictData[bs].forEach(item => {
if (item.dcode == this.queryForm[code]) {
this.searchForm[mc] = item.dname
}
})
},
handelItem (item, index) {
// 清空单个表单
handleEmpty(el) {
for (var i = 0; i < this.searchList.length; i++) {
if (el == this.searchList[i].zdm) {
this.searchList.splice(i, 1)
}
}
let obj = {
ywlymc: 'ywly',
qllxmc: 'qllx',
djlxmc: 'djlx'
}
if (obj[el]) {
this.queryForm[obj[el]] = ''
} else if (this.otherForm[[el]]) {
this.otherForm[[el]] = ''
} else {
this.queryForm[el] = ''
}
this.searchForm[el] = ''
},
// 删除单个查询条件
handelItem(item, index) {
let obj = {
ywlymc: 'ywly',
qllxmc: 'qllx',
......@@ -33,10 +59,8 @@ export default {
this.queryForm[item.zdm] = ''
}
this.searchForm[item.zdm] = ''
this.iterationData()
this.queryClick()
},
iterationData () {
iterationData() {
let obj = {
ywlymc: '业务来源', qllxmc: '权利类型', djlxmc: '登记类型', ywh: '业务号', sqywmc: '申请业务名称',
qlrmc: '权利人', ywrmc: '义务人', slsj: '受理时间'
......@@ -46,12 +70,13 @@ export default {
if (value) return { name: obj[name], value, zdm: name }
}).filter(Boolean)
},
getSearch (val) {
getSearch(val) {
this.otherForm = val
this.iterationData()
this.queryClick()
},
hanldeCleanAll () {
// 清空查询条件
hanldeCleanAll() {
this.searchForm = {}
this.queryForm = {
ywly: "",
......@@ -59,6 +84,7 @@ export default {
djlx: "",
ywh: ""
}
this.otherForm = {}
this.searchList = []
this.queryClick()
}
......
......@@ -9,17 +9,17 @@
<el-row>
<el-col :span="8">
<el-form-item label="申请业务名称" prop="sqywmc">
<el-input v-model="ruleForm.sqywmc"></el-input>
<el-input v-model="ruleForm.sqywmc" placeholder="请输入申请业务名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="权利人" prop="qlrmc">
<el-input v-model="ruleForm.qlrmc"></el-input>
<el-input v-model="ruleForm.qlrmc" placeholder="请输入权利人"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="义务人" prop="ywrmc">
<el-input v-model="ruleForm.ywrmc"></el-input>
<el-input v-model="ruleForm.ywrmc" placeholder="请输入义务人"></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -45,6 +45,7 @@
export default {
props: {
value: { type: Boolean, default: false },
advancedForm:{type: Object, default: "" }
},
data () {
return {
......@@ -60,19 +61,31 @@ export default {
watch: {
value (val) {
this.myValue = val
},
advancedForm(){
this.ruleForm={...this.advancedForm}
}
},
methods: {
closeDialog () {
this.$emit('input', false)
},
resetForm () {
this.$refs['ruleForm'].resetFields()
this.ruleForm={
sqywmc: '',
qlrmc: '',
ywrmc: '',
slsj: ''
}
},
submitForm () {
this.$emit('getSearch', _.cloneDeep(this.ruleForm))
this.$emit('input', false)
this.$refs['ruleForm'].resetFields()
}
}
}
......@@ -88,4 +101,4 @@ export default {
/deep/.el-icon-date {
display: none;
}
</style>
\ No newline at end of file
</style>
......
......@@ -15,6 +15,7 @@
class="width100"
filterable
@change="handleSelect('ywly', 'ywlymc', 'ywly')"
@clear="handleEmpty('ywlymc')"
clearable
placeholder="请选择业务来源"
>
......@@ -34,6 +35,7 @@
v-model="queryForm.qllx"
class="width100"
@change="handleSelect('A8', 'qllxmc', 'qllx')"
@clear="handleEmpty('qllxmc')"
filterable
clearable
placeholder="请选择权利类型"
......@@ -54,6 +56,7 @@
v-model="queryForm.djlx"
class="width100"
@change="handleSelect('A21', 'djlxmc', 'djlx')"
@clear="handleEmpty('djlxmc')"
filterable
clearable
placeholder="请选择登记类型"
......@@ -126,7 +129,11 @@
>
</lb-table>
</div>
<searchBox v-model="isSearch" @getSearch="getSearch" />
<searchBox
v-model="isSearch"
@getSearch="getSearch"
:advancedForm="otherForm"
/>
</div>
</template>
<script>
......@@ -172,6 +179,7 @@ export default {
this.queryClick();
};
},
watch: {
queryForm: {
handler(newName, oldName) {},
......@@ -205,7 +213,6 @@ export default {
}
});
},
handleSort(val) {
this.queryForm.sortField = val.prop;
this.queryForm.sortOrder = val.order == "ascending" ? "asc" : "desc";
......
......@@ -2,45 +2,94 @@
<div class="from-clues">
<!-- 表单部分 -->
<div class="from-clues-header">
<el-form :model="queryForm" ref="queryForm" @submit.native.prevent label-width="80px">
<el-form
:model="queryForm"
ref="queryForm"
@submit.native.prevent
label-width="80px"
>
<el-row>
<el-col :span="5">
<el-form-item label="业务来源" label-width="70px">
<el-select v-model="queryForm.ywly" @change="handleSelect('ywly', 'ywlymc', 'ywly')" class="width100"
filterable clearable placeholder="请选择业务来源">
<el-option v-for="item in dictData['ywly']" :key="item.dcode" :label="item.dname" :value="item.dcode">
<el-select
v-model="queryForm.ywly"
@change="handleSelect('ywly', 'ywlymc', 'ywly')"
@clear="handleEmpty('ywlymc')"
class="width100"
filterable
clearable
placeholder="请选择业务来源"
>
<el-option
v-for="item in dictData['ywly']"
:key="item.dcode"
:label="item.dname"
:value="item.dcode"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="权利类型">
<el-select v-model="queryForm.qllx" @change="handleSelect('A8', 'qllxmc', 'qllx')" class="width100"
filterable clearable placeholder="请选择权利类型">
<el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode">
<el-select
v-model="queryForm.qllx"
@change="handleSelect('A8', 'qllxmc', 'qllx')"
@clear="handleEmpty('qllxmc')"
class="width100"
filterable
clearable
placeholder="请选择权利类型"
>
<el-option
v-for="item in dictData['A8']"
:key="item.dcode"
:label="item.dname"
:value="item.dcode"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="登记类型">
<el-select v-model="queryForm.djlx" @change="handleSelect('A21', 'djlxmc', 'djlx')" class="width100"
filterable clearable placeholder="请选择登记类型">
<el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode">
<el-select
v-model="queryForm.djlx"
@change="handleSelect('A21', 'djlxmc', 'djlx')"
@clear="handleEmpty('djlxmc')"
class="width100"
filterable
clearable
placeholder="请选择登记类型"
>
<el-option
v-for="item in dictData['A21']"
:key="item.dcode"
:label="item.dname"
:value="item.dcode"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="业务号">
<el-input placeholder="请输入业务号" v-model="queryForm.ywh" @clear="queryClick" clearable class="width200px">
<el-input
placeholder="请输入业务号"
v-model="queryForm.ywh"
@clear="queryClick"
clearable
class="width200px"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="4" class="btnColRight">
<el-form-item>
<el-button type="primary" native-type="submit" @click="queryClick">查询</el-button>
<el-button type="primary" native-type="submit" @click="queryClick"
>查询</el-button
>
<el-button @click="moreQueryClick">高级查询</el-button>
</el-form-item>
</el-col>
......@@ -50,43 +99,62 @@
<ul>
<li v-for="(item, index) in searchList" :key="index">
{{ item.name }}:{{ item.value }}
<i class="el-icon-circle-close" @click="handelItem(item, index)"></i>
<i
class="el-icon-circle-close"
@click="handelItem(item, index)"
></i>
</li>
</ul>
<el-button class="clean-btn" type="text" v-if="searchList.length > 0" @click.native="hanldeCleanAll">清除全部
<el-button
class="clean-btn"
type="text"
v-if="searchList.length > 0"
@click.native="hanldeCleanAll"
>清除全部
</el-button>
</el-row>
</el-form>
</div>
<!-- 表格 -->
<div class="from-clues-content">
<lb-table :page-size="pageData.size" class="loadingtext" @sort-change="handleSort"
:current-page.sync="pageData.currentPage" :heightNum="295" :total="tableData.total"
@size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns"
:data="tableData.data">
<lb-table
:page-size="pageData.size"
class="loadingtext"
@sort-change="handleSort"
:current-page.sync="pageData.currentPage"
:heightNum="295"
:total="tableData.total"
@size-change="handleSizeChange"
@p-current-change="handleCurrentChange"
:column="tableData.columns"
:data="tableData.data"
>
</lb-table>
</div>
<searchBox v-model="isSearch" @getSearch="getSearch" />
<searchBox v-model="isSearch" @getSearch="getSearch" :advancedForm="otherForm" />
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import searchMin from "../components/mixin/index"
import table from "@/utils/mixin/table"
import { datas, sendThis } from "./ybxdata"
import { searchTaskDone } from "@/api/ywbl"
import searchBox from '../components/search.vue'
import { mapGetters } from "vuex";
import searchMin from "../components/mixin/index";
import table from "@/utils/mixin/table";
import { datas, sendThis } from "./ybxdata";
import { searchTaskDone } from "@/api/ywbl";
import searchBox from "../components/search.vue";
export default {
name: "ybx",
components: { searchBox },
mixins: [table, searchMin],
mounted () {
mounted() {
window["getBpageList"] = () => {
this.queryClick();
};
sendThis(this);
},
computed: {
...mapGetters(['dictData'])
...mapGetters(["dictData"]),
},
data () {
data() {
return {
queryForm: {
ywly: "",
......@@ -95,10 +163,10 @@ export default {
ywh: "",
},
searchForm: {
ywlymc: '',
qllxmc: '',
djlxmc: '',
ywh: ''
ywlymc: "",
qllxmc: "",
djlxmc: "",
ywh: "",
},
tableData: {
total: 0,
......@@ -109,35 +177,46 @@ export default {
},
methods: {
// 列表渲染接口
queryClick () {
this.$startLoading()
this.searchForm.ywh = this.queryForm.ywh
this.iterationData()
searchTaskDone({ ...this.queryForm,...this.otherForm, ...this.pageData }).then(res => {
this.$endLoading()
queryClick() {
this.$startLoading();
this.searchForm.ywh = this.queryForm.ywh;
this.iterationData();
searchTaskDone({
...this.queryForm,
...this.otherForm,
...this.pageData,
}).then((res) => {
this.$endLoading();
if (res.code === 200) {
let { total, records } = res.result
records.forEach(item => {
item.qlrmc = item.qlrmc.join(',')
item.ywh = item.ywh.join(',')
item.zl = item.zl.join(',')
item.outstepdate = item.outstepdate[0]
})
this.tableData.total = total ? total : 0
this.tableData.data = records ? records : []
let { total, records } = res.result;
records.forEach((item) => {
item.qlrmc = item.qlrmc.join(",");
item.ywh = item.ywh.join(",");
item.zl = item.zl.join(",");
item.outstepdate = item.outstepdate[0];
});
this.tableData.total = total ? total : 0;
this.tableData.data = records ? records : [];
}
})
});
},
handleSort (val) {
this.queryForm.sortField = val.prop
this.queryForm.sortOrder = val.order == "ascending" ? 'asc' : 'desc'
this.queryClick()
handleSort(val) {
this.queryForm.sortField = val.prop;
this.queryForm.sortOrder = val.order == "ascending" ? "asc" : "desc";
this.queryClick();
},
ywhClick (item) {
const { href } = this.$router.resolve('/workFrameView?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&viewtype=1');
window.open(href, '_blank');
}
}
ywhClick(item) {
const { href } = this.$router.resolve(
"/workFrameView?bsmSlsq=" +
item.bsmSlsq +
"&bestepid=" +
item.bestepid +
"&bsmBusiness=" +
"&viewtype=1"
);
window.open(href, `urlname${item.bsmSlsq}`);
},
},
};
</script>
<style scoped lang="scss">
......
......@@ -121,7 +121,8 @@ export default {
},
openDialog (item) {
const { href } = this.$router.resolve('/workFrameView?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + item.bsmBusiness + '&viewtype=3')
window.open(href, '_blank');
// window.open(href, '_blank');
window.open(href, `urlname${item.bsmSlsq}`);
}
}
}
......