8bfee1ce by 蔡俊立
2 parents 00e03630 2a6d3672
......@@ -24,6 +24,7 @@
"nprogress": "0.2.0",
"vue": "2.6.10",
"vue-router": "3.0.2",
"vue-seamless-scroll": "^1.1.23",
"vuex": "3.1.0"
},
"devDependencies": {
......
......@@ -56,6 +56,10 @@
}
}
.el-icon-date {
display: none;
}
// to fixed https://github.com/ElemeFE/element/issues/2461
// refine element ui upload
.el-input.is-disabled .el-input__inner {
......@@ -120,6 +124,7 @@
::-webkit-scrollbar-thumb:hover {
background-color: rgb(162, 164, 167);
}
// element 样式补丁
.el-menu--horizontal {
border-bottom: none !important;
......
......@@ -55,6 +55,7 @@
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 75%;
}
ul {
......@@ -70,7 +71,7 @@
.box-mountNode {
flex: 1;
height: calc(100% - 500px);
height: calc(100% - 510px);
}
.home-right {
......
......@@ -14,47 +14,50 @@
</el-card>
</el-col>
<el-col :span="12">
<el-card shadow="hover" style="height:245px">
<el-card shadow="hover" style="height:247px">
<div slot="header" class="flexst">
<h5 class="title">系统通知</h5>
<i class="el-icon-s-unfold pointer"></i>
</div>
<vue-seamless-scroll :data="noticeList" :class-option="classOption">
<ul>
<li v-for="(item, index) in noticeList" :key="index" @click="handleNotice" class="flexst pointer">
<p class="list-title">{{ item.noticeTitle }}</p>
<p class="marginZL15">{{ item.createtime }}</p>
<p class="marginZL15">{{ item.createtime.substring(0, 10) }}</p>
<p v-if="item.userBrowse == '1'" style="color:red">未读</p>
<p v-else>已读</p>
</li>
</ul>
</vue-seamless-scroll>
</el-card>
</el-col>
</el-row>
<el-row :gutter="8" class="marginTop10">
<el-col :span="12">
<el-card shadow="hover" style="height:280px">
<el-card shadow="hover" style="height:247px">
<div slot="header" class="flexst">
<h5 class="title">待办事项</h5>
<i class="el-icon-s-unfold pointer"></i>
</div>
<ul>
<li v-for="(item, index) in todoList" :key="index" class="flexst">
<p class="right15">{{ item.dealTime }}</p>
<p class="list-title">{{ item.dealBusiness }} ({{item.dealStep+ '环节'}})</p>
<p class="right15">{{ item.dealTime.substring(0, 10) }}</p>
<p class="list-title" style="text-align:right">{{ item.dealBusiness }} ({{ item.dealStep + '环节' }})</p>
</li>
</ul>
</el-card>
</el-col>
<el-col :span="12">
<el-card shadow="hover" style="height:280px">
<el-card shadow="hover" style="height:247px">
<div slot="header" class="flexst">
<h5 class="title">法律法规</h5>
<h5 class="title">政策法规</h5>
<i class="el-icon-s-unfold pointer"></i>
</div>
<ul>
<li v-for="(item, index) in policyList" @click="handleView(item.noticeFileUrl)" :key="index" class="flexst pointer">
<p class="right15">{{ item.noticeTitle }}</p>
<p class="list-title">{{ item.createtime }}</p>
<li v-for="(item, index) in policyList" @click="handleView(item.noticeFileUrl)" :key="index"
class="flexst pointer">
<p class="right15 list-title">{{ item.noticeTitle }}</p>
<p>{{ item.createtime.substring(0, 10) }}</p>
</li>
</ul>
</el-card>
......@@ -67,15 +70,15 @@
</div>
<div class="home-right">
<calendar />
<el-card shadow="hover" class="marginTop10">
<el-card shadow="hover" class="marginTop10" style="height:345px">
<div slot="header" class="flexst">
<h5 class="title">动态信息</h5>
<i class="el-icon-s-unfold pointer"></i>
</div>
<ul>
<li v-for="(item, index) in doneList" :key="index" class="flexst">
<p class="right15">{{ item.dealTime }}</p>
<p class="list-title">{{ item.dealBusiness }} ({{item.dealStep+ '环节'}})</p>
<p class="right15">{{ item.dealTime.substring(0, 10) }}</p>
<p class="list-title">{{ item.dealBusiness }} ({{ item.dealStep + '环节' }})</p>
</li>
</ul>
</el-card>
......@@ -85,11 +88,12 @@
<script>
import * as G2 from '@antv/g2'
import calendar from '@/components/Calendar/index'
import vueSeamlessScroll from "vue-seamless-scroll"
import { getHomeNoticeList, getHomeTodoList, getHomeDoneList } from "@/api/home.js";
import { setReadStatus } from "@/api/notice.js";
export default {
name: 'home',
components: { calendar },
components: { calendar, vueSeamlessScroll },
data () {
return {
newsListData: [
......@@ -143,9 +147,6 @@ export default {
year: '1996',
value: 31056
}, {
year: '1995',
value: 17000
}, {
year: '1996',
value: 31056
}],
......@@ -155,6 +156,19 @@ export default {
policyList: []
}
},
// 计算属性 类似于data概念
computed: {
classOption () {
return {
step: 0.5, // 数值越大速度滚动越快
limitMoveNum: 2, // 开始无缝滚动的数据量 this.dataList.length
hoverStop: true, // 是否开启鼠标悬停stop
direction: 1, // 0向下 1向上 2向左 3向右
openWatch: true, // 开启数据实时监控刷新dom
singleHeight: 0, // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1
};
},
},
mounted () {
this.buildChart();
this.queryTodoList();
......@@ -167,30 +181,47 @@ export default {
window.open(href, '_blank');
},
//获取待办事项列表
queryTodoList(){
queryTodoList () {
getHomeTodoList().then(res => {
if(res.result){
this.todoList = res.result
if (res.result) {
this.todoList = res.result.slice(0, 5)
}
})
},
//获取已办事项列表
queryDoneList(){
queryDoneList () {
getHomeDoneList().then(res => {
if(res.result){
if (res.result) {
this.doneList = res.result
}
})
},
//获取通知列表
queryNoticeList(){
queryNoticeList () {
getHomeNoticeList().then(res => {
if(res.result){
if (res.result) {
this.noticeList = res.result.noticeList
this.policyList = res.result.policyList
this.noticeList.forEach(item => {
item.createtime = this._timedate(item.createtime)
})
this.policyList = res.result.policyList.slice(0, 5)
}
})
},
_timedate (d) {
var td = new Date();
td = new Date(td.getFullYear(), td.getMonth(), td.getDate());
var od = new Date(d);
od = new Date(od.getFullYear(), od.getMonth(), od.getDate());
var xc = (od - td) / 1000 / 60 / 60 / 24;
if (xc == -1) {
return "昨天";
} else if (xc == 0) {
return "今天";
} else {
return d
}
},
buildChart () {
let height = document.getElementById("mountNodeCon").offsetHeight - 20
var chart = new G2.Chart({
......@@ -231,4 +262,9 @@ export default {
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "./index.scss";
/deep/.el-card__body {
padding: 3px 10px 5px 10px;
overflow: hidden;
}
</style>
\ No newline at end of file
......
......@@ -26,8 +26,8 @@
<script>
import '@/styles/package/theme/index.scss'
import { addSysNotice} from "@/api/notice.js"
import { upload} from "@/api/system.js"
import { addSysNotice } from "@/api/notice.js"
import { upload } from "@/api/system.js"
export default {
props: {
value: { type: Boolean, default: false },
......@@ -61,7 +61,8 @@ export default {
this.$parent.queryClick();
} else {
this.$message.error(res.message)
}})
}
})
} else {
// console.log('error submit!!');
return false;
......@@ -74,7 +75,7 @@ export default {
this.resetRuleForm();
},
//
resetRuleForm(){
resetRuleForm () {
this.$refs['ruleForm'].resetFields();
this.ruleForm.noticeType = '2'
},
......@@ -92,5 +93,5 @@ export default {
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
</style>
\ No newline at end of file
......
......@@ -31,11 +31,11 @@
<script>
import table from "@/utils/mixin/table";
import { datas, sendThis } from "./flfgdata";
import { getSysPolicyList,deleteSysNotice } from "@/api/notice.js"
import { getSysPolicyList, deleteSysNotice } from "@/api/notice.js"
import addDialog from "./components/addDialog.vue";
export default {
name: "xttz",
components: { addDialog},
name: "flfg",
components: { addDialog },
mixins: [table],
mounted () {
sendThis(this);
......@@ -70,15 +70,15 @@ export default {
})
},
//打开新增弹窗
openDialog() {
openDialog () {
this.isDialog = true;
},
downloadFile(item){
downloadFile (item) {
const href = item.noticeFileUrl
window.open(href, '_blank');
},
//删除
delNotice(item){
delNotice (item) {
this.$confirm('是否确定删除', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
......
......@@ -32,9 +32,8 @@
</template>
<script>
import '@/styles/package/theme/index.scss'
import { addSysNotice} from "@/api/notice.js"
import { upload} from "@/api/system.js"
import { addSysNotice } from "@/api/notice.js"
import { upload } from "@/api/system.js"
export default {
props: {
value: { type: Boolean, default: false },
......@@ -71,7 +70,8 @@ export default {
this.$parent.queryClick();
} else {
this.$message.error(res.message)
}})
}
})
} else {
// console.log('error submit!!');
return false;
......@@ -84,7 +84,7 @@ export default {
this.resetRuleForm();
},
//
resetRuleForm(){
resetRuleForm () {
this.$refs['ruleForm'].resetFields();
this.ruleForm.noticeType = '1'
},
......@@ -102,5 +102,5 @@ export default {
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
</style>
\ No newline at end of file
......
......@@ -15,7 +15,7 @@
<el-row :gutter="8">
<el-col :span="24" class="margin-top-middle">
附件:
<div @click="handleView(formData.item.noticeFileUrl)" class="pointer">{{formData.item.noticeFileName}}</div>
<div @click="handleView(formData.item.noticeFileUrl)" class="pointer">{{ formData.item.noticeFileName }}</div>
</el-col>
</el-row>
</div>
......@@ -26,14 +26,14 @@ export default {
return {
};
},
components: { },
components: {},
props: {
formData: {
type: Object,
default: () => {}
default: () => { }
},
},
created(){
created () {
console.log(this.formData);
},
computed: {
......@@ -46,8 +46,7 @@ export default {
};
</script>
<style scoped lang='scss'>
@import "~@/styles/public.scss";
.margin-top-middle {
margin-top:10px
margin-top: 10px
}
</style>
\ No newline at end of file
......
......@@ -39,11 +39,11 @@
<script>
import table from "@/utils/mixin/table";
import { datas, sendThis } from "./xttzdata";
import { getSysNoticeList,deleteSysNotice,publishNotice,unPublishNotice } from "@/api/notice.js"
import { getSysNoticeList, deleteSysNotice, publishNotice, unPublishNotice } from "@/api/notice.js"
import addDialog from "./components/addDialog.vue";
export default {
name: "xttz",
components: { addDialog},
components: { addDialog },
mixins: [table],
mounted () {
sendThis(this);
......@@ -58,8 +58,8 @@ export default {
noticeStatus: ''
},
noticeStatusList: [
{"label": '未发布','value':'1'},
{'label': '已发布','value':'2'}
{ "label": '未发布', 'value': '1' },
{ 'label': '已发布', 'value': '2' }
],
tableData: {
total: 0,
......@@ -83,11 +83,11 @@ export default {
})
},
//打开新增弹窗
openDialog() {
openDialog () {
this.isDialog = true;
},
//删除
delNotice(item){
delNotice (item) {
this.$confirm('是否确定删除', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
......@@ -109,7 +109,7 @@ export default {
});
},
//发布
toPublish(item){
toPublish (item) {
this.$confirm('是否确定发布', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
......@@ -131,7 +131,7 @@ export default {
});
},
//取消发布
toUnPublish(item){
toUnPublish (item) {
this.$confirm('是否确定取消发布', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
......@@ -152,11 +152,11 @@ export default {
});
});
},
downloadFile(item){
downloadFile (item) {
const href = item.noticeFileUrl
window.open(href, '_blank');
},
viewDetail(e){
viewDetail (e) {
this.$popup("错误日志", "system/xttz/components/viewDialog", {
formData: {
item: e
......
......@@ -48,10 +48,10 @@ export function getForm(tabName, djywbm) {
form = require("@/views/registerBook/zdjbxx.vue");
break;
case "ygmm100":
form=require("@/views/ywbl/ygdj/slxx.vue");
form = require("@/views/ywbl/ygdj/slxx.vue");
break;
case "ygmm300":
form=require("@/views/ywbl/fdcq2/slxx.vue");
form = require("@/views/ywbl/fdcq2/slxx.vue");
break;
case "cfdjxx":
form = require("@/views/registerBook/cfdj.vue");
......@@ -68,6 +68,9 @@ export function getForm(tabName, djywbm) {
case "diyaqQlxx":
form = require("@/views/registerBook/diyaq.vue");
break;
case "ygdjQlxx":
form = require("@/views/registerBook/ygdj.vue");
break;
case "szxx":
form = require("@/views/workflow/components/szxx.vue");
break;
......
......@@ -11,8 +11,9 @@ export default {
this.isSearch = true
},
getSearch (val) {
console.log(val, 222222222222);
if (!val) return
this.otherForm = val
this.queryClick()
let obj = { ywlymc: '业务来源', qllxmc: '权利类型', djlxmc: '登记类型', ywh: '业务号', sqywmc: '申请业务名称', qlrmc: '权利人', ywrmc: '义务人', slsj: '受理时间' }
this.searchList = Object.entries({ ...this.searchForm, ...val }).map((item) => {
const [name, value] = item
......
......@@ -70,8 +70,7 @@ export default {
this.$refs['ruleForm'].resetFields()
},
submitForm () {
this.$emit('getSearch', this.ruleForm)
console.log(this.ruleForm);
this.$emit('getSearch', _.cloneDeep(this.ruleForm))
this.$emit('input', false)
this.$refs['ruleForm'].resetFields()
}
......
......@@ -126,7 +126,7 @@ export default {
queryClick () {
this.$startLoading()
this.searchForm.ywh = this.queryForm.ywh
this.getSearch()
console.log(this.otherForm);
searchTaskToDo({ ...this.queryForm, ...this.pageData }).then(res => {
this.$endLoading()
if (res.code === 200) {
......
......@@ -7,7 +7,7 @@
ref="ruleForm"
:label-position="flag ? 'top' : ''"
:inline="flag"
label-width="120px"
label-width="140px"
>
<div class="slxx_con">
<div class="slxx_title title-block">
......@@ -126,14 +126,18 @@
<el-row :gutter="10">
<el-col :span="8">
<el-form-item :class="flag ? 'marginBot0' : ''" label="抵押方式:">
<el-input disabled v-model="ruleForm.slywxx.djqxmc"></el-input>
<!-- <el-input disabled v-model="ruleForm.slywxx.djqxmc"></el-input> -->
<el-radio-group disabled v-model="ruleForm.diyaq.dyfs">
<el-radio label="1">一般抵押</el-radio>
<el-radio label="2">最高额抵押</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item
:class="flag ? 'marginBot0' : ''"
label="是否存在禁止或者限制转让抵押不动产的约定:"
label-width="300px"
label-width="350px"
>
<el-radio-group v-model="ruleForm.diyaq.sfczjzhxz">
<el-radio label="1">启用</el-radio>
......@@ -142,6 +146,69 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="8" v-show="ruleForm.diyaq.dyfs==1">
<el-form-item
:class="flag ? 'marginBot0' : ''"
label="被担保主债权数额:"
>
<el-input v-model="ruleForm.diyaq.bdbzzqse"></el-input>
</el-form-item>
</el-col>
<el-col :span="8" v-show="ruleForm.diyaq.dyfs==2">
<el-form-item
:class="flag ? 'marginBot0' : ''"
label="最高债权额:"
>
<el-input v-model="ruleForm.diyaq.zgzqse"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
:class="flag ? 'marginBot0' : ''"
label="债务履行起始时间:"
>
<el-date-picker v-model="ruleForm.diyaq.zwlxqssj" type="date">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
:class="flag ? 'marginBot0' : ''"
label="债务履行结束时间:"
>
<el-date-picker v-model="ruleForm.diyaq.zwlxjssj" type="date">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :class="flag ? 'marginBot0' : ''" label="担保范围:">
<el-input v-model="ruleForm.diyaq.dbfw"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :class="flag ? 'marginBot0' : ''" label="最高债权确定事实和数额:" label-width="200px">
<el-input v-model="ruleForm.diyaq.zgzqqdss"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col>
<el-form-item :class="flag ? 'marginBot0' : ''" label="附记:" prop="fj">
<el-input type="textarea" v-model="ruleForm.diyaq.fj" :disabled="$route.query.viewtype==1"></el-input>
</el-form-item>
</el-col>
</el-row>
<div class="slxx_title title-block">
抵押权人信息
<div class="triangle"></div>
......@@ -199,6 +266,20 @@
@upDateQlrxxList="upDateYwrxxList"
:viewtype="$route.query.viewtype"
/>
<div class="slxx_title title-block">
登记原因
<div class="triangle"></div>
</div>
<el-row :gutter="10">
<el-col>
<el-form-item :class="flag ? 'marginBot0' : ''" label="登记原因:" prop="djyy">
<el-input class="textArea" type="textarea" :disabled="$route.query.viewtype==1" v-model="ruleForm.diyaq.djyy">
</el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<el-row class="btn" v-if="!$route.query.viewtype">
<el-form-item :class="flag ? 'marginBot0' : ''">
......@@ -210,7 +291,7 @@
</template>
<script>
import InformationTable from "@/views/workflow/components/InformationTable";
import { Init,saveData } from "@/api/diyaqFlow.js";
import { Init, saveData } from "@/api/diyaqFlow.js";
import { mapGetters } from "vuex";
export default {
async created() {
......
......@@ -202,7 +202,7 @@
p:nth-child(1) {
flex: 1;
width: 100%;
padding: 3px;
padding: 1px;
padding-left: 30px;
display: flex;
// align-items: center;
......
......@@ -168,8 +168,4 @@ export default {
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
/deep/.el-icon-date {
display: none;
}
</style>
......