ca427820 by 田浩浩
2 parents ae96d3ac 50d019dc
......@@ -10,6 +10,11 @@ import Base from './components/Base/base' // 全局组件引入
import mixin from '@/utils/mixin/theme.js'
Vue.mixin(mixin);
import rules from './utils/rule.js'
// 全局方法挂载
Vue.prototype.$rules = rules
import { theme } from "@/directive/theme.js"
Vue.directive("theme", theme)
......
// 手机号码验证
const validatePhone = (rule, value, callback) => {
const patter = new RegExp('^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$')
if (!patter.test(value)) {
return callback(new Error('请输入正确格式的手机号!'))
} else {
callback() // 必须有此项回调,否则验证会一直不通过
}
}
export default {
common: {
phone: [{// 手机号
required: true,
message: '手机号不能为空'
}, {
validator: validatePhone,
trigger: 'blur'
}]
}
}
\ No newline at end of file
<template>
<div>
<lb-table :column="InformationTable" :maxHeight="300" heightNumSetting :pagination="false" :data="tableData">
<lb-table :column="column" :maxHeight="300" heightNumSetting :pagination="false" :data="tableData">
</lb-table>
<addQlr v-model="dialog" />
</div>
</template>
<script>
import addQlr from './addQlr.vue'
import { mapGetters } from 'vuex'
export default {
components: {
addQlr
},
computed: {
...mapGetters(["dictData"]),
},
......@@ -14,15 +19,20 @@ export default {
tableData: {
type: Array,
default: []
},
gyfs: {
type: String,
default: '1'
}
},
data () {
return {
dialog: false,
InformationTable: [
{
width: '60',
renderHeader: (h, scope) => {
return <i class="el-icon-plus pointer" onClick={() => { this.handleAdd() }} style="color:#409EFF"></i>
return <i class="el-icon-plus pointer" onClick={() => { this.handleAdd() }}></i>
},
render: (h, scope) => {
return (
......@@ -39,52 +49,35 @@ export default {
},
{
prop: "sqrmc",
label: "姓名/名称",
render: (h, scope) => {
return (
<el-input placeholder="姓名/名称" value={scope.row[scope.column.property]}
onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
)
}
label: "姓名/名称"
},
{
prop: "dlrzjlx",
label: "证件种类",
render: (h, scope) => {
return (
<el-select value={scope.row[scope.column.property]}>
{
this.dictData && this.dictData['A30'].map(option => {
return (
<el-option label={option.dname} value={option.dcode}></el-option>
)
})
}
</el-select>
)
}
label: "证件种类"
},
{
prop: "dlrzjh",
label: "证件号",
render: (h, scope) => {
return (
<el-input placeholder="证件号" value={scope.row[scope.column.property]}
onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
)
}
label: "证件号"
},
{
prop: "fr",
label: "法人",
label: "法人"
},
{
label: '修改',
render: (h, scope) => {
return (
<el-input placeholder="法人" value={scope.row[scope.column.property]}
onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
<div>
<el-button
icon="el-icon-edit-outline"
type="text"
onClick={() => { this.handleEdit(scope.$index, scope.row) }}>编辑</el-button>
</div>
)
}
}
]
],
column: this.InformationTable
}
},
watch: {
......@@ -93,20 +86,31 @@ export default {
this.$emit('updateValue', newValue)
},
deep: true
},
gyfs: {
handler (newVal, oldValue) {
let dataList = _.cloneDeep(this.InformationTable)
if (newVal == '1') {
this.column = _.cloneDeep(dataList).slice(1, dataList.length)
} else if ((newVal == '2')) {
this.column = dataList
} else {
this.column = _.cloneDeep(dataList)
this.column.splice(
2, 0, {
prop: "fs",
label: "份数"
})
}
},
immediate: true
}
},
methods: {
// 添加
handleAdd () {
this.tableData.push(
{
sqrmc: '',
dlrzjlx: '',
dlrzjh: '',
fr: ''
}
)
this.key++
console.log(11111111111);
this.dialog = true
},
// 减
handleMinus (index, row) {
......@@ -114,9 +118,8 @@ export default {
},
// 身份证读取
readClick () { },
// 修改
editClick () { },
handleEdit () { },
}
}
</script>
......
<template>
<dialogBox title="申请人信息" width="60%" isMain v-model="myValue" :isFullscreen="false" @submitForm="submitForm"
@closeDialog="closeDialog">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
<el-row>
<el-col :span="8">
<el-form-item label="权利人类型" prop="qlrlx">
<el-select v-model="ruleForm.qlrlx" class="width100" placeholder="请选择">
<el-option v-for="item in dictData['A36']" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="姓名/名称" prop="xm">
<el-input v-model="ruleForm.xm" maxlegth="15"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="证件种类" prop="zjzl">
<el-select v-model="ruleForm.zjzl" class="width100" placeholder="请选择">
<el-option v-for="item in dictData['A30']" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="证件号" prop="zjh">
<el-input v-model="ruleForm.zjh" maxlength="15"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="联系电话" prop="lxdh" :rules="$rules.common.phone">
<el-input v-model="ruleForm.lxdh" maxlength="11"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="性别" prop="xb">
<el-select v-model="ruleForm.zjzl" class="width100" placeholder="请选择">
<el-option v-for="item in dictData['A43']" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="法人名称" prop="frmc">
<el-input v-model="ruleForm.frmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="国家/地区" prop="gjdq">
<el-input v-model="ruleForm.gjdq"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="户籍所在省市" prop="szss">
<el-input v-model="ruleForm.szss"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item label="地址" prop="dz">
<el-input v-model="ruleForm.dz"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="邮编" prop="yb">
<el-input v-model="ruleForm.yb"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="发证机关" prop="fzjg">
<el-input v-model="ruleForm.fzjg"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="电子邮件" prop="dzyj">
<el-input v-model="ruleForm.dzyj"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="权利比例" prop="qlbl">
<el-input v-model="ruleForm.qlbl"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="工作单位" prop="gzdw">
<el-input v-model="ruleForm.gzdw"></el-input>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="代理机构" prop="dljg">
<el-input v-model="ruleForm.dljg"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="联系电话" prop="lxdh" :rules="$rules.common.phone">
<el-input v-model="ruleForm.lxdh" maxlength="11"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="代理人姓名" prop="dlrxm">
<el-input v-model="ruleForm.dlrxm"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="代理人证件类型" prop="dlrzjlx">
<el-select v-model="ruleForm.dlrzjlx" class="width100" placeholder="请选择">
<el-option v-for="item in dictData['A30']" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="代理人证件号" prop="dlrzjh">
<el-input v-model="ruleForm.dlrzjh" maxlength="20"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</dialogBox>
</template>
<script>
import { mapGetters } from 'vuex'
export default {
props: {
value: { type: Boolean, default: false },
},
computed: {
...mapGetters(["dictData"]),
},
data () {
return {
myValue: this.value,
ruleForm: {
qlrlx: '',
xm: '',
zjzl: '',
zjh: '',
lxdh: '',
xb: '',
frmc: '',
gjdq: '',
szss: '',
dz: '',
yb: '',
fzjg: '',
dzyj: '',
qlbl: '',
gzdw: '',
dljg: '',
dlrxm: '',
dlrzjlx: '',
dlrzjh: ''
},
rules: {
qlrlx: [
{ required: true, message: '权利人类型', trigger: 'change' }
],
xm: [
{ required: true, message: '姓名/名称', trigger: 'blur' }
],
zjzl: [
{ required: true, message: '证件种类', trigger: 'change' }
],
zjh: [
{ required: true, message: '证件号', trigger: 'blur' }
],
xb: [
{ required: true, message: '性别', trigger: 'change' }
],
frmc: [
{ required: true, message: '法人名称', trigger: 'blur' }
],
gjdqc: [
{ required: true, message: '国家/地区', trigger: 'blur' }
],
szss: [
{ required: true, message: '户籍所在省市', trigger: 'blur' }
],
dz: [
{ required: true, message: '地址', trigger: 'blur' }
],
yb: [
{ required: true, message: '邮编', trigger: 'blur' }
],
fzjg: [
{ required: true, message: '发证机关', trigger: 'blur' }
],
dzyj: [
{ required: true, message: '电子邮件', trigger: 'blur' }
],
qlbl: [
{ required: true, message: '权利比例', trigger: 'blur' }
],
gzdw: [
{ required: true, message: '工作单位', trigger: 'blur' }
],
dljg: [
{ required: true, message: '代理机构', trigger: 'blur' }
],
dlrxm: [
{ required: true, message: '代理人姓名', trigger: 'blur' }
],
dlrzjlx: [
{ required: true, message: '代理人证件类型', trigger: 'change' }
],
dlrzjh: [
{ required: true, message: '代理人证件号', trigger: 'blur' }
]
}
}
},
watch: {
value (val) {
this.myValue = val;
},
},
methods: {
closeDialog () {
this.$emit("input", false);
},
submitForm () {
this.$emit("input", false);
},
},
};
</script>
<style scoped lang="scss">
.submit-button {
text-align: center;
height: 52px;
padding-top: 10px;
background-color: #fff;
}
</style>
......@@ -15,6 +15,20 @@
</div>
<!-- 材料预览 -->
<div class="clyl-box" v-else>
<div class="menu-tree">
<div class="item">
材料目录
<i :class="iclass" @click="iconClick()"></i>
<el-collapse-transition>
<div v-show="menuOpen">
<div v-for="item in tableData" :key="item.bsmSj"
:class="['child', treeCheckId == item.bsmSj ? 'checked' : '']" @click="treeClick(item)">
{{ item.sjmc }}
</div>
</div>
</el-collapse-transition>
</div>
</div>
<image-preview :previewImg="previewImg" />
</div>
</div>
......@@ -41,6 +55,9 @@ export default {
label: "材料预览",
},
],
menuOpen: true,
iclass: "itemIcon el-icon-caret-bottom",
treeCheckId: "",
checkedId: "1",
column: [
{
......@@ -171,7 +188,6 @@ export default {
key: 0,
tableData: [],
previewImg: {
bsmCatalog: '',
index: 0,
selectedIndex: 0,
imgList: [
......@@ -211,7 +227,6 @@ export default {
};
// 接口待调
move(obj).then((res) => {
console.log("111111", res);
this.clmlmxInit();
});
},
......@@ -248,7 +263,7 @@ export default {
// 新增弹窗保存
addSave (data) {
let maxXh = 0;
this.tableData.forEach((item) => {
this.tableData && this.tableData.forEach((item) => {
if (item.xh > maxXh) {
maxXh = item.xh;
}
......@@ -267,7 +282,7 @@ export default {
message: "新增成功",
type: "success",
});
this.tableData = res.result;
this.tableData = res.result ? res.result : [];
// 加载表格
this.clmlmxInit();
}
......@@ -435,6 +450,7 @@ export default {
padding-left: 18px;
color: #6b6b6b;
cursor: pointer;
box-sizing: border-box;
}
.checked {
......
<template>
<dialogBox
title="新建材料信息"
width="40%"
v-model="myValue"
:isButton="false"
>
<dialogBox title="新建材料信息" width="40%" isMain v-model="myValue" @closeDialog="closeDialog" @submitForm="handleSubmit"
:isFullscreen="false">
<el-form :model="ruleForm" ref="ruleForm" label-width="120px">
<el-row>
<el-col :span="24">
......@@ -21,10 +17,6 @@
</el-col>
</el-row>
</el-form>
<div class="submit-button" style="padding-bottom: 20px">
<el-button type="primary" @click="onSave">保存</el-button>
<el-button @click="closeDialog">取消</el-button>
</div>
</dialogBox>
</template>
......@@ -34,7 +26,7 @@ export default {
props: {
value: { type: Boolean, default: false },
},
data() {
data () {
return {
myValue: this.value,
ruleForm: {
......@@ -44,15 +36,15 @@ export default {
};
},
watch: {
value(val) {
value (val) {
this.myValue = val;
},
},
methods: {
closeDialog() {
closeDialog () {
this.$emit("input", false);
},
onSave() {
handleSubmit () {
this.$parent.addSave(this.ruleForm);
this.$emit("input", false);
},
......
<template>
<div class="slxx">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" :label-position="flagTop" :inline="flag"
label-width="140px">
label-width="120px">
<div class="slxx_con">
<div class="slxx_title">受理信息</div>
<el-row :gutter="10">
<el-col :span="8">
<el-form-item label="业务号:" prop="ywh">
<el-input disabled v-model="ruleForm.ywh" class="width300px"></el-input>
<el-input disabled v-model="ruleForm.ywh"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="受理人员:" prop="slry">
<el-input disabled v-model="ruleForm.slry" class="width300px"></el-input>
<el-input disabled v-model="ruleForm.slry"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="受理时间:" prop="slsj">
<el-input disabled v-model="ruleForm.slsj" class="width300px"></el-input>
<el-input disabled v-model="ruleForm.slsj"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="8">
<el-form-item label="权利类型:" prop="qllx">
<el-select disabled v-model="ruleForm.qllx" class="width300px" filterable clearable placeholder="请选择权利类型">
<el-select disabled v-model="ruleForm.qllx" filterable clearable placeholder="请选择权利类型">
<el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
</el-select>
......@@ -32,7 +32,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="登记类型:" prop="djlx">
<el-select disabled v-model="ruleForm.djlx" class="width300px" filterable clearable placeholder="请选择登记类型">
<el-select disabled v-model="ruleForm.djlx" filterable clearable placeholder="请选择登记类型">
<el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
</el-select>
......@@ -40,7 +40,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="登记情形:" prop="djqx">
<el-input disabled class="width300px" v-model="ruleForm.djqxmc"></el-input>
<el-input disabled v-model="ruleForm.djqxmc"></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -48,35 +48,34 @@
<el-row :gutter="10">
<el-col :span="8">
<el-form-item label="宗地代码:" prop="zddm">
<el-input disabled v-model="ruleForm.zddm" class="width300px"></el-input>
<el-input disabled v-model="ruleForm.zddm"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="不动产单元号:" prop="bdcdyh">
<el-input disabled v-model="ruleForm.bdcdyh" class="width300px"></el-input>
<el-input disabled v-model="ruleForm.bdcdyh"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="权利性质:" prop="qlxzmc">
<el-input disabled v-model="ruleForm.qlxzmc" class="width300px"></el-input>
<el-input disabled v-model="ruleForm.qlxzmc"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="8">
<el-form-item label="宗地面积:" prop="zdmj">
<el-input disabled v-model="ruleForm.zdmj" class="width300px"></el-input>
<el-input disabled v-model="ruleForm.zdmj"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="土地用途:" prop="tdyt">
<el-input disabled v-model="ruleForm.tdyt" class="width300px"></el-input>
<el-input disabled v-model="ruleForm.tdyt"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="权利设定方式:" prop="qlsdfs">
<el-select disabled v-model="ruleForm.qlsdfs" filterable class="width300px" clearable
placeholder="请选择权利设定方式">
<el-select disabled v-model="ruleForm.qlsdfs" filterable clearable placeholder="请选择权利设定方式">
<el-option v-for="item in qlsdfsOption" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
......@@ -86,26 +85,26 @@
<el-row :gutter="10">
<el-col :span="8">
<el-form-item label="取得价格:" prop="qdjg">
<el-input disabled v-model="ruleForm.qdjg" class="width300px"></el-input>
<el-input disabled v-model="ruleForm.qdjg"></el-input>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="坐落:" prop="zl">
<el-input disabled class="width300px" v-model="ruleForm.zl"></el-input>
<el-input disabled v-model="ruleForm.zl"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="8">
<el-form-item label="使用期限:" prop="tdsyqx">
<el-input disabled v-model="ruleForm.tdsyqx" class="width300px"></el-input>
<el-input disabled v-model="ruleForm.tdsyqx"></el-input>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="使用权起止时间:" prop="qssj">
<el-input disabled v-model="ruleForm.syqqzsj" class="width300px"></el-input>
<el-input disabled v-model="ruleForm.syqqzsj"></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -118,19 +117,33 @@
</el-row>
<div class="slxx_title">权利人信息</div>
<el-row :gutter="10">
<el-col>
<el-col :span="14">
<el-form-item label="共有方式:">
<el-radio-group disabled v-model="ruleForm.gyfs">
<el-radio label="单独所有"></el-radio>
<el-radio label="共同共有"></el-radio>
<el-radio label="按份所有"></el-radio>
<el-radio-group v-model="ruleForm.gyfs">
<el-radio label="1">单独所有</el-radio>
<el-radio label="2">共同共有</el-radio>
<el-radio label="3">按份所有</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col>
<InformationTable :tableData="ruleForm.qlrxx" />
<el-col :span="5" v-show="ruleForm.gyfs=='2'">
<el-form-item label="是否分别持证:">
<el-radio-group v-model="ruleForm.sffbcz">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="5" v-show="ruleForm.gyfs=='2'">
<el-form-item label="持证人:">
<el-select v-model="ruleForm.czr" placeholder="持证人">
<el-option v-for="item in czrOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<InformationTable :tableData="ruleForm.qlrxx" :gyfs="ruleForm.gyfs" />
<div class="slxx_title">登记原因</div>
<el-row :gutter="10">
<el-col>
......@@ -169,6 +182,7 @@ export default {
flagTop: this.flag ? "top" : "",
tdytOption: [],
qlsdfsOption: [],
czrOptions: [],
ruleForm: {
ywh: "",
slry: "",
......@@ -189,7 +203,11 @@ export default {
syqqzsj: "",
fj: "",
djyy: "",
gyfs: "",
gyfs: "1",
// 是否分别持证
sffbcz: '',
// 持证人
czr: ''
},
rules: {
}
......@@ -198,12 +216,10 @@ export default {
methods: {
list (bsmSldy) {
var formdata = new FormData();
//可以通过append()方法来追加数据
formdata.append("bsmSldy", bsmSldy);
Init(formdata).then((res) => {
if (res.code === 200 && res.result) {
this.ruleForm = { ...res.result, ...res.result.zdjbxxdatas, ...res.result.qlxxdatas, ...res.result.jsydsyqdatas }
console.log(this.ruleForm, 'this.ruleForm');
}
})
},
......@@ -214,6 +230,22 @@ export default {
<style scoped lang='scss'>
@import "~@/styles/public.scss";
/deep/.el-form-item__label {
padding: 0;
}
/deep/.el-radio {
margin-right: 10px;
}
/deep/.el-select {
width: 100%;
}
/deep/.el-form-item {
margin-bottom: 8px;
}
.slxx {
box-sizing: border-box;
padding-right: 15px;
......
......@@ -120,7 +120,7 @@ export default {
},
mounted () {
if (this.$route.query.bsmSlsq) {
this.expandInfo(this.$route.query.bsmSlsq,this.$route.query.bestepid);
this.expandInfo(this.$route.query.bsmSlsq, this.$route.query.bestepid);
this.list(this.$route.query.bsmSlsq)
this.queryForm.bsmSlsq = this.$route.query.bsmSlsq
this.queryForm.bestepid = this.$route.query.bestepid
......@@ -134,10 +134,11 @@ export default {
var formdata = new FormData();
formdata.append("bsmSlsq", id);
leftMenu(formdata).then(res => {
console.log(res, 'eeeeeeeeeeee');
if (res.code === 200) {
this.unitData = res.result
this.unitData = res.result ? res.result : []
setTimeout(() => {
that.$refs.slxx[0].list(that.unitData[0].bsmSldy)
that.$refs?.slxx[0].list(that.unitData && that.unitData[0].bsmSldy)
this.taskId = that.unitData[0].taskId
this.bsmBusiness = that.unitData[0].bsmBusiness
}, 300);
......@@ -145,7 +146,7 @@ export default {
})
},
//获取环节扩展信息
expandInfo (bsmSlsq,bestepid) {
expandInfo (bsmSlsq, bestepid) {
let that = this
var formdata = new FormData();
formdata.append("bsmSlsq", bsmSlsq);
......