24994b96 by 任超

Merge branch 'master' into dev

2 parents c7576fcd 750abf7a
Showing 133 changed files with 2445 additions and 2941 deletions
import request from '@/utils/request'
import SERVER from './config'
class business {
/*
成功率统计
startDate:开始日期
endDate:结束日期
*/
async getSuucessRate(startDate,endDate,qxdm) {
return request({
url: SERVER.SERVERAPI + '/rest/statistics/Business/sf',
method: 'get',
params: {
startDate:startDate,
endDate:endDate,
qxdm:qxdm
}
})
}
}
export default new business()
\ No newline at end of file
import request from "@/utils/request";
import SERVER from "./config";
class efficient {
/*
获取对应的业务量总数
startDate:开始日期
endDate:结束日期
*/
async getProcessCounts(startDate, endDate,qxdm) {
return request({
url: SERVER.SERVERAPI + "/rest/statistics/Efficient/getProcessCounts",
method: "post",
params: {
startDate: startDate,
endDate: endDate,
qxdm:qxdm
},
});
}
/*
获取各区县业务对应的天数
recType:业务代码
startDate:开始日期
endDate:结束日期
*/
async getProcessDays(recType, startDate, endDate) {
return request({
url: SERVER.SERVERAPI + "/rest/statistics/Efficient/getProcessDays",
method: "post",
params: {
recType: recType,
startDate: startDate,
endDate: endDate,
},
});
}
}
export default new efficient();
......@@ -61,6 +61,7 @@ export default {
background: linear-gradient(90deg, #0047B8 0%, rgba(0, 26, 95, 0.1) 100%);
line-height: 32px;
color: #FFFFFF;
margin-bottom: 8px;
}
/deep/.el-icon-arrow-right {
......
......@@ -30,9 +30,9 @@
border-right: none;
text-align: center;
padding: 0;
color: #05bbdb;
line-height: 16px;
font-size: 12px;
color: #CEF8FF;
margin-top: 8px !important;
}
......@@ -52,7 +52,7 @@
/deep/.el-textarea__inner {
margin: 5px;
width: 96%;
background: #05275B;
background: none;
color: #FFFFFF;
border-radius: 2px;
border: 1px solid #6BC1FC;
......
......@@ -74,7 +74,7 @@
</span>
<!-- <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.czjg" placeholder="权利人通讯地址">
</el-input> -->
<el-select :disabled="$store.state.business.Edit" v-model="ruleForm.czjg" placeholder="请选择">
<el-select :disabled="$store.state.business.Edit" v-model="ruleForm.czjg" placeholder="操作结果">
<el-option v-for="item in dicData['A37']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......
......@@ -95,7 +95,7 @@
领证人证件类别: <br />
<p class="label-detail">(LZRZJLB)</p>
</span>
<el-select :disabled="$store.state.business.Edit" v-model="ruleForm.LZRZJLB" placeholder="请选择">
<el-select :disabled="$store.state.business.Edit" v-model="ruleForm.LZRZJLB" placeholder="领证人证件类别">
<el-option v-for="item in dicData['A30']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......
......@@ -110,7 +110,7 @@
<p class="label-detail">(CZJG)</p>
</span>
<el-select :disabled="$store.state.business.Edit" v-model="form.auditInfo[index].CZJG"
placeholder="请选择操作结果">
placeholder="操作结果">
<el-option v-for="item in dicData['A37']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......
......@@ -49,7 +49,7 @@
<p class="label-detail">(SJLX)</p>
</span>
<el-select :disabled="$store.state.business.Edit" v-model="form.receivingInfo[index].SJLX"
placeholder="请选择">
placeholder="收件类型">
<el-option v-for="item in dicData['A40']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -88,7 +88,7 @@
<p class="label-detail">(SFSJSY)</p>
</span>
<el-select :disabled="$store.state.business.Edit" v-model="form.receivingInfo[index].SFSJSY"
placeholder="请选择">
placeholder="是否收缴收验">
<el-option v-for="item in dicData['A6']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -102,7 +102,7 @@
<p class="label-detail">(SFEWSJ)</p>
</span>
<el-select :disabled="$store.state.business.Edit" v-model="form.receivingInfo[index].SFEWSJ"
placeholder="请选择">
placeholder="是否额外收件">
<el-option v-for="item in dicData['A6']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -116,7 +116,7 @@
<p class="label-detail">(SFBCSJ)</p>
</span>
<el-select :disabled="$store.state.business.Edit" v-model="form.receivingInfo[index].SFBCSJ"
placeholder="请选择">
placeholder="是否补充收件">
<el-option v-for="item in dicData['A6']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......
......@@ -364,8 +364,9 @@
分摊土地面积: <br />
<p class="label-detail">(FTTDMJ)</p>
</span>
<el-input :disabled="$store.state.business.Edit" : 999999999999999, min: 0, precision: 3 }"
placeholder="分摊土地面积" type="number" v-model.number="ruleForm.fttdmj"></el-input>
<el-input :disabled="$store.state.business.Edit"
v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" placeholder="分摊土地面积" type="number"
v-model.number="ruleForm.fttdmj"></el-input>
</el-form-item>
</el-col>
</el-row>
......
......@@ -110,7 +110,7 @@
状态: <br />
<p class="label-detail">(ZT)</p>
</span>
<el-select :disabled="$store.state.business.Edit" v-model="ruleForm.ZT" placeholder="请选择">
<el-select :disabled="$store.state.business.Edit" v-model="ruleForm.ZT" placeholder="状态">
<el-option v-for="item in ZTOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
......
......@@ -52,7 +52,7 @@
宗海特征码: <br />
<p class="label-detail">(ZHTZM)</p>
</span>
<el-select :disabled="$store.state.business.Edit" v-model="ruleForm.ZHTZM" placeholder="请选择宗海特征码">
<el-select :disabled="$store.state.business.Edit" v-model="ruleForm.ZHTZM" placeholder="宗海特征码">
<el-option v-for="item in dicData['A44']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -77,7 +77,7 @@
项目性质: <br />
<p class="label-detail">(XMXZ)</p>
</span>
<el-select :disabled="$store.state.business.Edit" v-model="ruleForm.XMXZ" placeholder="请选择项目性质">
<el-select :disabled="$store.state.business.Edit" v-model="ruleForm.XMXZ" placeholder="项目性质">
<el-option v-for="item in dicData['A49']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......
......@@ -50,7 +50,7 @@
权利类型: <br />
<p class="label-detail">(QLLX)</p>
</span>
<el-select :disabled="$store.state.business.Edit" v-model="ruleForm.QLLX" placeholder="请选择">
<el-select :disabled="$store.state.business.Edit" v-model="ruleForm.QLLX" placeholder="权利类型">
<el-option v-for="item in dicData['A8']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -63,7 +63,7 @@
登记类型: <br />
<p class="label-detail">(DJLX)</p>
</span>
<el-select :disabled="$store.state.business.Edit" v-model="ruleForm.DJLX" placeholder="请选择">
<el-select :disabled="$store.state.business.Edit" v-model="ruleForm.DJLX" placeholder="登记类型">
<el-option v-for="item in dicData['A21']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -201,7 +201,7 @@
权属状态: <br />
<p class="label-detail">(QSZT)</p>
</span>
<el-select :disabled="$store.state.business.Edit" v-model="ruleForm.QSZT" placeholder="请选择">
<el-select :disabled="$store.state.business.Edit" v-model="ruleForm.QSZT" placeholder="权属状态">
<el-option v-for="item in dicData['A22']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......
......@@ -83,7 +83,7 @@
<p class="label-detail">(SFCZR)</p>
</span>
<el-select :disabled="$store.state.business.Edit" v-model="obligeeForm.obligeeList[index].SFCZR"
placeholder="请选择">
placeholder="是否持证人">
<el-option v-for="item in dicData['A6']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -97,7 +97,7 @@
<p class="label-detail">(ZJZL)</p>
</span>
<el-select :disabled="$store.state.business.Edit" v-model="obligeeForm.obligeeList[index].ZJZL"
placeholder="请选择">
placeholder="证件种类">
<el-option v-for="item in dicData['A30']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -170,7 +170,7 @@
<p class="label-detail">(XB)</p>
</span>
<el-select :disabled="$store.state.business.Edit" v-model="obligeeForm.obligeeList[index].XB"
placeholder="请选择">
placeholder="性别">
<el-option v-for="item in dicData['A43']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -243,7 +243,7 @@
<p class="label-detail">(QLRLX)</p>
</span>
<el-select :disabled="$store.state.business.Edit" v-model="obligeeForm.obligeeList[index].QLRLX"
placeholder="请选择">
placeholder="权利人类型">
<el-option v-for="item in dicData['A36']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......
<template>
<el-dialog
:title="title"
:visible.sync="visible"
:width="width"
:append-to-body="appendToBody"
:modal="modal"
:close-on-click-modal="false"
:fullscreen="fullscreen"
:destroy-on-close="destroyOnClose"
:modal-append-to-body="modalAppendToBody"
:class="customClass"
@close="close"
class="dialog"
>
<el-dialog :title="title" :visible.sync="visible" :width="width" :append-to-body="appendToBody" :modal="modal"
:close-on-click-modal="false" :fullscreen="fullscreen" :destroy-on-close="destroyOnClose"
:modal-append-to-body="modalAppendToBody" :class="customClass" @close="close" class="dialog">
<slot name="content" />
<span slot="footer" class="dialog-footer">
<slot name="footer" />
......@@ -66,21 +55,21 @@ export default {
default: '30%'
}
},
data() {
data () {
return {}
},
computed: {
visible: {
get() {
get () {
return this.show
},
set(val) {
set (val) {
this.$emit('update:show', val) // visible 改变的时候通知父组件
}
}
},
methods: {
close() {
close () {
this.$emit('close')
}
}
......@@ -88,21 +77,23 @@ export default {
</script>
<style lang="scss" scoped>
.dialog {
/deep/.el-dialog{
overflow: hidden;
background: url("~@/image/dialogBg.png") no-repeat !important;
background-size: 100% 100% !important;
/deep/.el-dialog {
overflow: hidden;
background: url("~@/image/dialogBg.png") no-repeat !important;
background-size: 100% 100% !important;
}
.el-dialog__header {
padding: 0;
height: 56px;
line-height: 56px;
border-bottom: none;
.el-dialog__title {
font-weight: 400;
}
.el-dialog__title:before {
display: inline-block;
content: '';
......@@ -114,31 +105,38 @@ overflow: hidden;
position: relative;
top: 2px;
}
.el-dialog__headerbtn {
position: absolute;
// top: 2%;
right: 12px;
}
}
.el-dialog__body {
margin: 0px 12px;
padding: 48px 24px;
background: #fff;
border: 1px solid #dfe7f3;
.el-button {
padding: 8px 16px;
border: none;
}
.el-form {
.el-checkbox {
line-height: 32px;
height: 32px;
}
.form-item-mb0 {
margin-bottom: 0 !important;
}
.el-form-item {
margin-bottom: 24px;
.el-form-item__label {
height: 32px;
line-height: 32px;
......@@ -148,21 +146,25 @@ overflow: hidden;
.el-form-item__content {
// height: 32px;
line-height: 32px;
// date 组件有图标
.has-icon.el-date-editor {
.el-input__inner {
padding-left: 32px;
}
}
.el-input__inner {
padding: 0 8px;
height: 32px;
line-height: 32px;
text-align: left;
}
.el-textarea__inner {
padding: 8px 8px;
}
.el-input .el-input__icon {
font-size: 14px;
color: #747e8c;
......@@ -170,6 +172,7 @@ overflow: hidden;
}
}
}
.el-select,
.el-cascader,
.el-date-editor {
......@@ -183,11 +186,13 @@ overflow: hidden;
height: 56px;
line-height: 56px;
border: none;
.el-button {
padding: 8px 16px;
border: none;
}
.el-button + .el-button {
.el-button+.el-button {
margin-left: 12px;
}
}
......
......@@ -16,9 +16,10 @@
<slot></slot>
</div>
<div slot="footer" class="dialog_footer" v-if="isButton">
<el-button @click="closeDialog" v-if="isReset">取消</el-button>
<el-button type="primary" plain @click="submitForm" v-if="isSave" :disabled="btnDisabled" :loading="saveloding">
{{ saveButton }}</el-button>
<btn nativeType="cz" @click="closeDialog" v-if="isReset">取消</btn>
<btn nativeType="cx" type="primary" plain @click="submitForm" v-if="isSave" :disabled="btnDisabled"
:loading="saveloding">
{{ saveButton }}</btn>
</div>
</el-dialog>
</template>
......
<template>
<!-- 折线图 -->
<Echart
:options="options"
id="bottomLeftChart"
height="100%"
width="100%"
></Echart>
<Echart :options="options" id="bottomLeftChart" height="100%" width="100%"></Echart>
</template>
<script>
import Echart from "@/common/echart";
export default {
data() {
data () {
return {
xAxisData: {},
yAxisData1: {},
......@@ -30,7 +25,7 @@ export default {
},
},
methods: {
hexToRgba(hex, opacity) {
hexToRgba (hex, opacity) {
let rgbaColor = "";
let reg = /^#[\da-f]{6}$/i;
if (reg.test(hex)) {
......@@ -43,7 +38,7 @@ export default {
},
watch: {
cdata: {
handler(newData) {
handler (newData) {
this.xAxisData = newData.echartData.map((v) => v.name);
this.yAxisData1 = newData.echartData.map((v) => v.value1);
this.yAxisData2 = newData.echartData.map((v) => v.value2);
......@@ -65,13 +60,11 @@ export default {
let html = "";
params.forEach((v) => {
html += `<div style="color: #000;font-size: 14px;line-height: 24px background-color: #000000">
<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${
newData.color[v.componentIndex]
};"></span>
<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${newData.color[v.componentIndex]
};"></span>
${v.seriesName}.${v.name}
<span style="color:${
newData.color[v.componentIndex]
};font-weight:700;font-size: 18px">${v.value}</span>
<span style="color:${newData.color[v.componentIndex]
};font-weight:700;font-size: 18px">${v.value}</span>
个`;
});
return html;
......@@ -140,8 +133,8 @@ export default {
{
name: newData.legendItem[0],
type: "line",
smooth: true, //是否平滑
showSymbol: false,
smooth: false, //是否平滑
showSymbol: true,
symbol: "circle",
symbolSize: 6,
zlevel: 3,
......@@ -158,8 +151,8 @@ export default {
{
name: newData.legendItem[1],
type: "line",
smooth: true,
showSymbol: false,
smooth: false,
showSymbol: true,
symbol: "circle",
symbolSize: 8,
zlevel: 3,
......@@ -176,8 +169,8 @@ export default {
{
name: newData.legendItem[2],
type: "line",
smooth: true,
showSymbol: false,
smooth: false,
showSymbol: true,
symbol: "circle",
symbolSize: 8,
zlevel: 3,
......
......@@ -76,7 +76,6 @@ export default {
itemStyle: {
normal: {
// 这里设置圆角
barBorderRadius: [0, 10, 10, 0],
color: "#16F4D2",
}
},
......@@ -89,7 +88,6 @@ export default {
itemStyle: {
normal: {
// 这里设置圆角
barBorderRadius: [0, 10, 10, 0],
color: "#C99E68"
},
},
......
......@@ -25,7 +25,7 @@ export default {
async submitViews () {
try {
let { result: res } = await work.submitViews("A20");
res.filter((item) => {
res.map((item) => {
return (
this.cdata.category.push(item.areaName),
this.cdata.barData.push(item.successCount),
......
......@@ -30,7 +30,7 @@ export default {
XZQDM: "",
};
let res = await work.getDjlxtotal(p);
res.result.filter((item) => {
res.result.map((item) => {
return (
this.cdata.category.push(item.AREACODE),
this.cdata.lineData.push(item.ywtotal)
......
......@@ -10,8 +10,8 @@ export default {
data () {
return {
options: {},
max: "9000", //最大value值
min: "500", // 最小value值
max: "100", //最大value值
min: "1", // 最小value值
};
},
components: {
......@@ -41,41 +41,6 @@ export default {
宁强县: [106.25958, 32.82881, 20],
略阳县: [106.15399, 33.33009, 20],
};
let seriesData = [
{
name: '汉台区',
},
{
name: '南郑区',
},
{
name: '城固县',
},
{
name: '洋县',
},
{
name: '西乡县',
},
{
name: '镇巴县',
},
{
name: '勉县',
},
{
name: '留坝县',
},
{
name: '佛坪县',
},
{
name: '宁强县',
},
{
name: '略阳县'
}
];
let convertData = function (data) {
let scatterData = [];
for (var i = 0; i < data.length; i++) {
......@@ -103,7 +68,7 @@ export default {
},
// 如果需要自定义 tooltip样式,需要使用formatter
formatter: params => {
return `<div style="">${params.name}:${params.value}</div>`
return `<div style="">${params.name}:${params.value + "个"}</div>`
}
},
visualMap: {
......@@ -116,15 +81,32 @@ export default {
itemWidth: 20, // 每个图元的宽度
itemGap: 2, // 每两个图元之间的间隔距离,单位为px
pieces: [ // 自定义每一段的范围,以及每一段的文字
{ gte: 6000, label: '6000以上', color: '#035cf5' }, // 不指定 max,表示 max 为无限大(Infinity)。
{ gte: 2000, lte: 6000, label: '2000-6000', color: '#3375e4' },
{ gte: 1000, lte: 2000, label: '1000-2000', color: '#6797ef' },
{ gte: 500, lte: 1000, label: '500-1000', color: '#96b5ef' },
{ gte: 100, label: '100以上', color: '#035cf5' }, // 不指定 max,表示 max 为无限大(Infinity)。
{ gte: 50, lte: 6000, label: '20-100', color: '#3375e4' },
{ gte: 20, lte: 2000, label: '1-200', color: '#6797ef' },
{ gte: 1, lte: 1000, label: '1-20', color: '#96b5ef' },
],
textStyle: {
color: '#737373'
}
},
geo: {
aspectScale: 1, //长宽比
zoom: 1.1,
mapType: '汉中市', // 自定义扩展图表类型
top: '15%',
left: '10%',
map: '汉中市',
itemStyle: {
normal: {//阴影
areaColor: '#02D9FD ',
shadowColor: '#01271F',
borderWidth: 0,
shadowOffsetX: 2,
shadowOffsetY: 25
}
}
},
series: [
{
type: 'map',
......@@ -135,22 +117,25 @@ export default {
left: '10%',
itemStyle: {
normal: {
areaColor: 'rgba(19,54,162, .5)',
borderColor: 'rgba(0,242,252,.3)',
borderWidth: 1,
areaColor: 'rgba(19,54,162,.5)',
borderColor: 'rgba(0,242,252,.5)',
borderWidth: 2,
shadowBlur: 7,
shadowColor: '#00f2fc',
borderColor: 'rgba(19,54,162,.1)',
shadowColor: '#44f2fc',
},
emphasis: {
areaColor: '#4f7fff',
borderColor: 'rgba(0,242,252,.6)',
borderColor: 'rgba(0,242,252,.5)',
borderWidth: 2,
shadowBlur: 10,
shadowColor: '#00f2fc',
},
},
label: {
formatter: params => `${params.name}`,
formatter: params => {
return `${params.name}\n${params.value+"个"}`;
},
show: true,
position: 'insideRight',
textStyle: {
......@@ -164,29 +149,7 @@ export default {
}
},
data: newData,
},
{
type: 'effectScatter',
coordinateSystem: 'geo',
symbolSize: 7,
effectType: 'ripple',
legendHoverLink: false,
showEffectOn: 'render',
rippleEffect: {
period: 4,
scale: 2.5,
brushType: 'stroke',
},
zlevel: 1,
itemStyle: {
normal: {
color: '#99FBFE',
shadowBlur: 5,
shadowColor: '#fff',
},
},
data: convertData(seriesData),
},
}
],
};
// 重新选择区域
......
......@@ -22,9 +22,9 @@ export default {
async mapViews () {
try {
let { result: res } = await work.mapViews("A20");
res.filter((item) => {
res.map((item) => {
return (
this.cdata.push({ "name": item.areaName, "value": item.areaCode })
this.cdata.push({ "name": item.areaName, "value": item.ywtotal })
)
});
......
<template>
<Echart :options="options" id="centreLeft1Chart" :key="key" height="225px" width="80%"></Echart>
</template>
<script>
import Echart from '@/common/echart'
export default {
components: {
Echart,
},
data() {
return {
key:0
}
},
props: {
cdata: {
type: Object,
default: () => ({})
},
},
watch: {
cdata: {
handler (newData) {
console.log("newData",newData);
this.options = {
grid: {
right:"1%",
bottom:"4%"
},
color: [
"#37a2da",
"#32c5e9",
"#9fe6b8",
"#ffdb5c",
"#ff9f7f",
"#fb7293",
"#e7bcf3",
"#8378ea"
],
tooltip: {
trigger: "item",
formatter: "{a} <br/>{b} : {c} ({d}%)"
},
toolbox: {
show: true
},
calculable: true,
series: [
{
name: "业务量",
type: "pie",
radius: [40,100],
roseType: "area",
data: newData.seriesData
}
],
}
this.key++
},
immediate: true,
deep: true
}
}
};
</script>
<style lang="scss" scoped>
#centreLeft1Chart {
margin-bottom: 10px;
margin-left: 60px;
}
</style>
<template>
<div>
<Chart :cdata="cdata" />
</div>
</template>
<script>
import Chart from "./Chart";
import work from "@/api/work";
export default {
data () {
return {
cdata: {
seriesData: [],
},
};
},
components: {
Chart,
},
mounted () {
this.getdjywltotal();
},
methods: {
// 获取登记业务量玫瑰图数据
async getdjywltotal () {
try {
let p = {
DJLX: "",
QLLX: "",
XZQDM: "",
};
let res = await work.getdjywltotal(p);
console.log("res",res);
// 遍历修改数组键,作为echars图表的参数
res.result.map((item) => {
return (
this.cdata.seriesData.push({ "name": item.AREACODE, "value": item.ywtotal })
)
});
} catch (error) {
console.log(error);
}
},
},
};
</script>
<style lang="scss" scoped>
</style>
<template>
<Echart :options="options" id="centreLeft1Chart" height="200px" width="100%"></Echart>
<Echart :options="options" id="centreLeft1Chart" :key="key" height="225px" width="80%"></Echart>
</template>
<script>
import Echart from '@/common/echart'
......@@ -7,6 +7,11 @@ export default {
components: {
Echart,
},
data () {
return {
key: 0
}
},
props: {
cdata: {
type: Object,
......@@ -18,9 +23,8 @@ export default {
handler (newData) {
this.options = {
grid: {
// 让图表占满容器
top: 20,
right: 0,
right: "1%",
bottom: "4%"
},
color: [
"#37a2da",
......@@ -44,12 +48,14 @@ export default {
{
name: "业务量",
type: "pie",
radius: [0, 80],
radius: [0,100],
roseType: "area",
data: newData.seriesData
}
]
],
}
this.key++
},
immediate: true,
deep: true
......@@ -60,6 +66,7 @@ export default {
<style lang="scss" scoped>
#centreLeft1Chart {
margin-left: -20px;
margin-bottom: 10px;
margin-left: 60px;
}
</style>
......
<template>
<div>
<Chart :cdata="cdata" />
<el-carousel height="40px" indicator-position="none">
<el-carousel-item v-for="item in 4" :key="item">
<div class="rotograph">佛坪县</div>
</el-carousel-item>
</el-carousel>
</div>
</template>
......@@ -24,11 +19,12 @@ export default {
Chart,
},
mounted () {
this.getdjywltotal();
this.getdjywltotal();
},
methods: {
// 获取登记业务量玫瑰图数据
async getdjywltotal () {
try {
let p = {
......@@ -37,16 +33,17 @@ export default {
XZQDM: "",
};
let res = await work.getdjywltotal(p);
console.log("res",res);
res.result.filter((item) => {
// 遍历修改数组键,作为echars图表的参数
res.result.map((item) => {
return (
this.cdata.seriesData.push({ "name": item.AREACODE, "value": item.ywtotal })
)
});
console.log("this.cdata.seriesData",this.cdata.seriesData);
} catch (error) {
this.$refs.msg.messageShow();
}
});
} catch (error) {
console.log(error);
}
},
......@@ -55,16 +52,5 @@ export default {
</script>
<style lang="scss" scoped>
.rotograph {
margin: auto;
width: 200px;
height: 30px;
background-color: rgb(6, 121, 167);
font-size: 20px;
line-height: 30px;
text-align: center;
border-radius: 6px;
font-weight: 600;
color: #02d9fd;
}
</style>
......
......@@ -5,10 +5,10 @@
<template>
<div class='result'>
<p>响应xml</p>
<el-input type="textarea" :rows="6" class="resulttext" placeholder="请输入内容" v-model="REPMSGXML">
<el-input type="textarea" :rows="6" class="resulttext" placeholder="响应xml" v-model="REPMSGXML">
</el-input>
<p>错误信息</p>
<el-input type="textarea" :rows="6" class="resulttext" placeholder="请输入内容" v-model="ERRORINFO">
<el-input type="textarea" :rows="6" class="resulttext" placeholder="错误信息" v-model="ERRORINFO">
</el-input>
</div>
</template>
......
......@@ -3,107 +3,105 @@
<el-dialog :close-on-click-modal="false" top="0" @close="closeDialog"
custom-class="dialogBox editDialogBox mainCenter" :visible.sync="dialogVisible" width="85%">
<div slot="title" class="dialog_title" ref="dialogTitle">
<b>{{ title || '标题' }}</b>
{{ title || '标题' }}
</div>
<el-tabs v-model="titleName" type="card" @tab-click="handleTitleTab">
<el-tab-pane label="数据模型" name="sjmx"></el-tab-pane>
<el-tab-pane v-if="visiableXml" label="xml报文" name="xml"></el-tab-pane>
<el-tab-pane v-if="visiableXml" label="响应结果" name="xyjg"></el-tab-pane>
</el-tabs>
<div v-if="titleName == 'sjmx'" class="sjmx">
<div class="dialog-from">
<div class="editDialogBox-box">
<el-tabs v-model="titleName" type="card" @tab-click="handleTitleTab">
<el-tab-pane label="数据模型" name="sjmx"></el-tab-pane>
<el-tab-pane v-if="visiableXml" label="xml报文" name="xml"></el-tab-pane>
<el-tab-pane v-if="visiableXml" label="响应结果" name="xyjg"></el-tab-pane>
</el-tabs>
<div class="dialog-from" v-if="titleName == 'sjmx'">
<el-row>
<el-col :span="5">
<span>业务报文ID:</span>
<div>{{ dataReport.BizMsgId }}</div>
<p>{{ dataReport.BizMsgId }}</p>
</el-col>
<el-col :span="7">
<span>接入报文ID:</span>
<div>{{ dataReport.ASID }}</div>
<p>{{ dataReport.ASID }}</p>
</el-col>
<el-col :span="5">
<span>行政区划编码:</span>
<div>{{ dataReport.AreaCode }}</div>
<p>{{ dataReport.AreaCode }}</p>
</el-col>
<el-col :span="7">
<span>上次不动产单元号:</span>
<div>{{ dataReport.PreEstateNum }}</div>
<p>{{ dataReport.PreEstateNum }}</p>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<span>业务编码:</span>
<div>{{ dataReport.RecType }}</div>
<p>{{ dataReport.RecType }}</p>
</el-col>
<el-col :span="7">
<span>权利类型:</span>
<div>{{ dataReport.RightType }}</div>
<p>{{ dataReport.RightType }}</p>
</el-col>
<el-col :span="5">
<span>登记类型:</span>
<div>{{ dataReport.RegType }}</div>
<p>{{ dataReport.RegType }}</p>
</el-col>
<el-col :span="7">
<span>不动产权证书数量:</span>
<div>{{ dataReport.CertCount }}</div>
<p>{{ dataReport.CertCount }}</p>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<span>创建时间:</span>
<div>{{ dataReport.createDate }}</div>
<p>{{ dataReport.createDate }}</p>
</el-col>
<el-col :span="7">
<span>业务流水号:</span>
<div>{{ dataReport.RecFlowID }}</div>
<p>{{ dataReport.RecFlowID }}</p>
</el-col>
<el-col :span="5">
<span>登记机构:</span>
<div>{{ dataReport.RegOrgID }}</div>
<p>{{ dataReport.RegOrgID }}</p>
</el-col>
<el-col :span="7">
<span>证明数量:</span>
<div>{{ dataReport.ProofCount }}</div>
<p>{{ dataReport.ProofCount }}</p>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<span>宗地/宗海代码:</span>
<div>{{ dataReport.ParcelID }}</div>
<p>{{ dataReport.ParcelID }}</p>
</el-col>
<el-col :span="7">
<span>不动产单元号:</span>
<div>{{ dataReport.EstateNum }}</div>
<p>{{ dataReport.EstateNum }}</p>
</el-col>
<el-col :span="10">
<el-col :span="11">
<span>上次不动产权证号/不动产登记证明:</span>
<div>{{ dataReport.PreCertID }}</div>
<p>{{ dataReport.PreCertID }}</p>
</el-col>
</el-row>
<!-- <el-row>
<el-col :span="24">
<span>数字签名:</span>
<div>{{ dataReport.digitalsign }}</div>
</el-col>
</el-row> -->
</div>
<el-tabs v-model="activeName" ref="elTabs" type="card" @tab-click="changeList">
<el-tab-pane :name="item.soleurl" v-for="item in headerList" :key="item.soleurl">
<div slot="label" class="tab-pane-item">
<p class="name">{{ item.chinesetable }}</p>
<p class="soleurl" :data-name="item.soleurl">({{ item.datatable }})</p>
</div>
</el-tab-pane>
</el-tabs>
<div class="edit-content">
<component :is="editItem" ref="editItem" :class="{ 'editForm': $store.state.business.Edit }"
:bsmYwsjb="bsmYwsjb" :bsmSjsb="dataReport.bsmReport || dataReport.bsmSjsb" />
</div>
</div>
<div v-if="titleName == 'xyjg'">
<Xyjg :form-data='dataReport'></Xyjg>
<div class="editDialogBox-box">
<div v-if="titleName == 'sjmx'" class="sjmx">
<el-tabs v-model="activeName" ref="elTabs" type="card" @tab-click="changeList">
<el-tab-pane :name="item.soleurl" v-for="item in headerList" :key="item.soleurl">
<div slot="label" class="tab-pane-item">
<p class="name">{{ item.chinesetable }}</p>
<p class="soleurl" :data-name="item.soleurl">({{ item.datatable }})</p>
</div>
</el-tab-pane>
</el-tabs>
<div class="edit-content">
<component :is="editItem" ref="editItem" :class="{ 'editForm': $store.state.business.Edit }"
:bsmYwsjb="bsmYwsjb" :bsmSjsb="dataReport.bsmReport || dataReport.bsmSjsb" />
</div>
</div>
<div v-if="titleName == 'xyjg'">
<Xyjg :form-data='dataReport'></Xyjg>
</div>
<JsonEditor :resultInfo="resultInfo" v-if="titleName == 'xml'" />
</div>
<JsonEditor :resultInfo="resultInfo" v-if="titleName == 'xml'" />
</el-dialog>
</template>
......@@ -281,12 +279,16 @@ export default {
border: 1px solid #224C7C !important;
margin: 0 0 10px 0 !important;
width: 100% !important;
color: #dadde3 !important;
background: transparent !important;
}
/deep/.el-input__inner {
border: 1px solid #224C7C !important;
margin: 0 !important;
width: 100% !important;
color: #dadde3 !important;
background: transparent !important;
}
}
......@@ -296,7 +298,6 @@ export default {
}
/deep/ .el-tabs {
margin: 0 15px 0 15px;
color: #CEF8FF;
}
......@@ -342,6 +343,7 @@ export default {
/deep/.el-tabs__header {
border: none;
margin-bottom: 0;
}
/deep/.el-tabs__item.is-top:not(:last-child) {
......@@ -367,6 +369,7 @@ export default {
.tab-pane-item {
line-height: 20px;
color: #02D9FD;
p {
text-align: center;
......@@ -389,11 +392,14 @@ export default {
height: 825px !important;
.dialog-from {
padding: 15px;
background: #08346F;
padding: 13px;
border-radius: 2px;
box-sizing: border-box;
margin: -3px 15px 15px 15px;
.el-row {
display: flex;
flex-wrap: nowrap;
}
.el-col {
line-height: 18px;
......@@ -401,19 +407,22 @@ export default {
align-items: center;
margin-bottom: 3px;
color: #B5D6DC;
border-radius: 2px;
border: 1px solid #224C7C;
margin: 5px;
span {
display: inline-block;
padding: 3px;
border-radius: 3px;
overflow: hidden;
min-width: 140px;
text-align: right;
margin-right: 5px;
width: 100px;
white-space: nowrap;
text-align: left;
color: #02D9FD;
}
div {
p {
flex: 1;
width: 100%;
padding-left: 5px;
......@@ -421,6 +430,7 @@ export default {
color: #c0c4cc;
cursor: not-allowed;
margin-right: 5px;
text-align: right;
}
}
}
......@@ -428,17 +438,17 @@ export default {
.dialog_title {
display: flex;
position: relative;
top: -2px;
b {
flex: 1;
width: 100%;
@flex-center();
}
font-size: 24px;
top: -11px;
width: 38%;
height: 40px;
margin-left: 28px;
justify-content: center;
}
.el-dialog__header {
height: 50px;
display: flex;
margin-bottom: 15px;
}
.dialog_footer {
......
......@@ -28,7 +28,7 @@
</i>
</el-upload>
<div>
<el-input v-model="iconName" class="icon-name" placeholder="请输入图标代码"></el-input>
<el-input v-model="iconName" class="icon-name" placeholder="图标代码"></el-input>
</div>
<el-button class="confirm" type="primary" @click="changeIconName">确定</el-button>
</el-tab-pane>
......
<template>
<el-input type="textarea" :rows="6" placeholder="请输入内容" v-model="resultInfo">
<el-input type="textarea" :rows="6" placeholder="配置参数" v-model="resultInfo">
</el-input>
</template>
<script>
......
<template>
<div>
<i class="icon-tubiao-242 iconfont" :title="title" @click="openDialog" />
<el-dialog
:key="key"
:title="title"
:inner-dialog="true"
:visible.sync="dialogVisible"
width="600px"
:close-on-click-modal="false"
append-to-body
@cancel="cancel"
>
<vue-json-editor
id="minejson"
v-model="resultInfo"
:mode="'code'"
lang="zh"
@json-change="onJsonChange"
@json-save="onJsonSave"
@has-error="onError"
/>
<el-tooltip
content="全屏缩放"
effect="dark"
placement="bottom"
fullscreen
class="fullScreen"
>
<el-dialog :key="key" :title="title" :inner-dialog="true" :visible.sync="dialogVisible" width="600px"
:close-on-click-modal="false" append-to-body @cancel="cancel">
<vue-json-editor id="minejson" v-model="resultInfo" :mode="'code'" lang="zh" @json-change="onJsonChange"
@json-save="onJsonSave" @has-error="onError" />
<el-tooltip content="全屏缩放" effect="dark" placement="bottom" fullscreen class="fullScreen">
<i class="el-icon-full-screen" @click="enLarge" />
</el-tooltip>
<template slot="footer">
<div class="dialog-footer flex flex-pack-center">
<el-button
type="primary"
class="confirmBtn"
@click="onJsonSave"
>保存</el-button>
<el-button
type="primary"
class="cancelBtn"
@click="cancel"
>关闭</el-button>
<el-button type="primary" class="confirmBtn" @click="onJsonSave">保存</el-button>
<el-button type="primary" class="cancelBtn" @click="cancel">关闭</el-button>
</div>
</template>
</el-dialog>
......@@ -62,7 +33,7 @@ export default {
default: ''
}
},
data() {
data () {
return {
activeNames: [],
resultInfo: {},
......@@ -75,7 +46,7 @@ export default {
},
watch: {
resultInfos: {
handler: function(val) {
handler: function (val) {
++this.key
this.resultInfo =
this.resultInfos === '' ? {} : JSON.parse(this.resultInfos)
......@@ -86,17 +57,17 @@ export default {
}
},
mounted() {
mounted () {
this.resultInfo =
this.resultInfos === '' ? {} : JSON.parse(this.resultInfos)
},
methods: {
onJsonChange(value) {
onJsonChange (value) {
// 只有在格式正确的时候进入此事件
this.hasJsonFlag = true
},
onJsonSave() {
onJsonSave () {
const value = this.resultInfo
console.log(this.resultInfo, 'resultInfo')
if (this.hasJsonFlag === false) {
......@@ -109,19 +80,19 @@ export default {
return true
}
},
onError(value) {
onError (value) {
this.hasJsonFlag = false
},
openDialog() {
openDialog () {
this.dialogVisible = true
},
cancel() {
cancel () {
console.log(this.tmpResultInfo, 'tmpResultInfo')
this.resultInfo = this.tmpResultInfo
this.dialogVisible = false
},
// 放大
enLarge() {
enLarge () {
const fullarea = document.getElementById('minejson')
if (fullarea.requestFullscreen) {
fullarea.requestFullscreen()
......@@ -146,9 +117,11 @@ export default {
top: 1px;
color: #349af3;
}
::v-deep .jsoneditor-vue {
height: 100%;
}
.fullScreen {
position: absolute;
right: 5%;
......@@ -156,22 +129,28 @@ export default {
cursor: pointer;
color: #fff;
}
::v-deep .jsoneditor-modes {
display: none !important;
}
.jsoneditor-poweredBy {
display: none !important;
}
.jsoneditor-menu {
background-color: #9c9e9f !important;
border-bottom: 1px solid #9c9e9f !important;
}
.jsoneditor {
border: 1px solid #9c9e9f !important;
}
.el-collapse {
border: 0;
}
.el-collapse-item__header {
height: 44px;
}
......

33.8 KB | W: | H:

37.1 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

13.3 KB | W: | H:

24.9 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
......@@ -66,13 +66,24 @@ export default {
.sidebarLeft {
position: relative;
top: 13px;
left: 10px;
width: 30%;
}
/deep/.el-menu {
display: flex;
justify-content: space-between;
}
/deep/.el-menu-item {
flex: 1;
width: 100%;
}
.sidebarRight {
position: relative;
left: 10px;
top: 13px;
width: 30%;
padding-left: 20px;
}
// 导航选中背景色
......
<template>
<el-menu router :default-active="activeMenu" mode="horizontal" menu-trigger="click">
<el-menu router :default-active="activeMenu" mode="horizontal">
<!-- 权限菜单 -->
<sidebar-item v-for="route in permission_routes.slice(1, 4)" :key="route.path" :item="route"
:base-path="route.path" />
......
......@@ -38,7 +38,21 @@ let mixin = {
},
// 详情
handleEdit (row) {
this.title = row.rectypeName
let Title = ''
this.dicData['A21'].map(item => {
if (item.DCODE == row.DJLX || item.DCODE == row.djlx) {
Title = item.DNAME
return
}
})
this.dicData['A8'].map(item => {
if (item.DCODE == row.QLLX || item.DCODE == row.qllx) {
Title += '-' + item.DNAME
return
}
})
this.title = Title
this.$refs.editLog.isShow(row);
},
// // 重置表单
......
......@@ -41,22 +41,7 @@ export const constantRoutes = [
* the routes that need to be dynamically loaded based on user roles
*/
export const asyncRoutes = [
// 监管首页
{
path: '/',
component: Layout,
redirect: '/jgHome',
meta: { title: '首页' },
children: [
{
path: 'jgHome',
component: () => import('@/views/home/index'),
name: 'jgHome',
meta: { title: '首页', icon: 'workbench', affix: true }
}
]
},
// // 接收报文查询
// 接收报文查询
{
path: '/jsbwcx',
component: Layout,
......@@ -76,13 +61,13 @@ export const asyncRoutes = [
children: [
{
path: 'sbbwcx',
component: () => import('@/views/sbbwcx/index'),
component: () => import('@/views/sthj/sbbwcx/index'),
name: 'sbbwcx',
meta: { title: '上报报文', icon: 'zsgl' }
},
{
path: 'dbrzcx',
component: () => import('@/views/dbrzcx/index'),
component: () => import('@/views/sthj/dbrzcx/index'),
name: 'dbrzcx',
meta: { title: '登簿日志', icon: 'zsgl' }
}
......@@ -108,71 +93,6 @@ export const asyncRoutes = [
}
]
},
// 接入区域管理
{
path: '/jrqygl',
component: Layout,
children: [
{
path: 'index',
component: () => import('@/views/jrqygl/index'),
name: 'jrqygl',
meta: { title: '接入区域管理', icon: 'zhcx' }
}
]
},
// 接收规则管理
{
path: '/jsgzgl',
component: Layout,
children: [
{
path: 'index',
component: () => import('@/views/jsgzgl/index'),
name: 'jsgzgl',
meta: { title: '接收规则管理', icon: 'zhcx' }
}
]
},
// 接收报文重新入库
{
path: '/jsbwcxrk',
component: Layout,
children: [
{
path: 'index',
component: () => import('@/views/jsbwcxrk/index'),
name: 'jsbwcxrk',
meta: { title: '接收报文重新入库', icon: 'zhcx' }
}
]
},
// 报文重新入库日志
{
path: '/bwcxrkrz',
component: Layout,
children: [
{
path: 'index',
component: () => import('@/views/bwcxrkrz/index'),
name: 'bwcxrkrz',
meta: { title: '报文重新入库日志', icon: 'zhcx' }
}
]
},
// 中心日志
{
path: '/zxrz',
component: Layout,
children: [
{
path: 'index',
component: () => import('@/views/zxrz/index'),
name: 'zxrz',
meta: { title: '中心日志', icon: 'zhcx' }
}
]
},
// 接入业务信息-不动产数据
{
path: '/busineInfo',
......@@ -184,91 +104,91 @@ export const asyncRoutes = [
children: [
{
path: 'tdsyq',
component: () => import('@/views/business-info/tdsyq/index'),
component: () => import('@/views/bdcsj/tdsyq/index'),
name: 'tdsyq',
meta: { title: '土地所有权' }
},
{
path: 'jsydzjdsyq',
component: () => import('@/views/business-info/jsydzjdsyq/index'),
component: () => import('@/views/bdcsj/jsydzjdsyq/index'),
name: 'jsydzjdsyq',
meta: { title: '建设用地、宅基地使用权' }
},
{
path: 'fdcqdz',
component: () => import('@/views/business-info/fdcqdz/index'),
component: () => import('@/views/bdcsj/fdcqdz/index'),
name: 'fdcqdz',
meta: { title: '房地产权(项目内多幢房屋)' }
},
{
path: 'fdcqyz',
component: () => import('@/views/business-info/fdcqyz/index'),
component: () => import('@/views/bdcsj/fdcqyz/index'),
name: 'fdcqyz',
meta: { title: '房地产权(独幢、层、套、间、房屋)' }
},
{
path: 'fdcqqfsyq',
component: () => import('@/views/business-info/fdcqqfsyq/index'),
component: () => import('@/views/bdcsj/fdcqqfsyq/index'),
name: 'fdcqqfsyq',
meta: { title: '建筑物区分所有权业主共有部分' }
},
{
path: 'hysyq',
component: () => import('@/views/business-info/hysyq/index'),
component: () => import('@/views/bdcsj/hysyq/index'),
name: 'hysyq',
meta: { title: '海域(含无居民海岛)使用权' }
},
{
path: 'gzwsyq',
component: () => import('@/views/business-info/gzwsyq/index'),
component: () => import('@/views/bdcsj/gzwsyq/index'),
name: 'gzwsyq',
meta: { title: '构(建)筑物所有权' }
},
{
path: 'nydsyq',
component: () => import('@/views/business-info/nydsyq/index'),
component: () => import('@/views/bdcsj/nydsyq/index'),
name: 'nydsyq',
meta: { title: '农用地使用权(非林地)' }
},
{
path: 'lq',
component: () => import('@/views/business-info/lq/index'),
component: () => import('@/views/bdcsj/lq/index'),
name: 'lq',
meta: { title: '林权' }
},
{
path: 'zxdj',
component: () => import('@/views/business-info/zxdj/index'),
component: () => import('@/views/bdcsj/zxdj/index'),
name: 'zxdj',
meta: { title: '注销登记' }
},
{
path: 'yydj',
component: () => import('@/views/business-info/yydj/index'),
component: () => import('@/views/bdcsj/yydj/index'),
name: 'yydj',
meta: { title: '异议登记' }
},
{
path: 'ygdj',
component: () => import('@/views/business-info/ygdj/index'),
component: () => import('@/views/bdcsj/ygdj/index'),
name: 'ygdj',
meta: { title: '预告登记' }
},
{
path: 'Cfdj',
component: () => import('@/views/business-info/Cfdj/index'),
component: () => import('@/views/bdcsj/cfdj/index'),
name: 'Cfdj',
meta: { title: '查封登记' }
},
{
path: 'dyaq',
component: () => import('@/views/business-info/dyaq/index'),
component: () => import('@/views/bdcsj/dyaq/index'),
name: 'dyaq',
meta: { title: '抵押权登记' }
},
{
path: 'dyiq',
component: () => import('@/views/business-info/dyiq/index'),
component: () => import('@/views/bdcsj/dyiq/index'),
name: 'dyiq',
meta: { title: '地役权登记' }
}
......
......@@ -7,11 +7,18 @@
display: flex;
position: relative;
top: -2px;
b {
@include flex-center;
flex: 1;
width: 100%;
font-weight: 200;
display: inline-block;
position: relative;
font-size: 24px;
top: -11px;
width: 38%;
height: 40px;
margin-left: 28px;
// @include flex-center;
display: flex;
justify-content: center;
}
}
......@@ -28,13 +35,21 @@
}
.dialog_footer {
margin-top: 8px;
margin-bottom: 8px;
@include flex-center;
}
.dialogBox-content {
height: auto
}
.editDialogBox-box {
background: #031A46;
box-shadow: inset 0px 0px 12px 0px #02D9FD;
border-radius: 2px;
border: 1px solid #6BC1FC;
margin: 0 18px 15px 18px;
}
}
.dialog_title {
......@@ -57,13 +72,21 @@
padding-bottom: 0;
}
.el-dialog__headerbtn .el-dialog__close {
color: #FFFFFF !important;
position: relative;
top: -2px;
right: 15px
.el-dialog__headerbtn {
width: 42px;
height: 20px;
background: url("~@/image/closebg.png") no-repeat;
background-size: 100% 100%;
right: 40px;
top: 33px;
&:hover{
box-shadow: inset 0px 0px 12px 0px #02D9FD;
}
}
.el-dialog__close {
font-size: 0;
}
.el-form-item {
@include flex;
......@@ -88,8 +111,9 @@
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
// 展开收起按钮位置
.el-input__suffix{
right: 10px;
}
}
.el-input__suffix {
right: 10px;
}
}
\ No newline at end of file
......
......@@ -66,7 +66,7 @@
// refine element ui upload
.el-input.is-disabled .el-input__inner {
color: #FFFFFF !important;
// background-color: transparent !important;
background-color: transparent !important;
border: 1px solid #224C7C !important;
}
......@@ -180,13 +180,13 @@ table th {
border-bottom: none !important;
}
.el-table__body {
-webkit-border-vertical-spacing: 6px !important; // 垂直间距
}
// .el-table__body {
// -webkit-border-vertical-spacing: 6px !important; // 垂直间距
// }
table td {
box-sizing: border-box;
border-bottom: none !important;
border-bottom: 1px solid #458ACF !important;
}
//去掉最下面的那一条线
......@@ -283,6 +283,24 @@ table td {
// 时间选择框样式
.el-date-picker {
background: url("~@/image/slbg.png") no-repeat;
background-size: 100% 100%;
padding-top: 13px;
padding-bottom: 13px;
border: none;
margin-top: 5px !important;
table {
background: url("~@/image/rqjx.png") no-repeat;
background-size: 100% 100%;
padding: 8px;
}
table td {
box-sizing: border-box;
border-bottom: 0px solid #074487 !important;
}
.el-input__inner {
background-color: #031a46;
}
......@@ -292,6 +310,7 @@ table td {
}
.el-picker-panel__footer {
display: none;
background-color: #031a46;
}
......@@ -299,18 +318,27 @@ table td {
background-color: #074487;
}
background-color: #031a46;
.el-date-picker__header {
margin-bottom: 0px;
}
.el-date-picker__header-label {
color: #A6CFD6;
}
.el-picker-panel__content {
background-color: #074487;
padding-top: 0px;
margin-top: 0px;
.disabled {
background-color: #074487;
div {
span {
color: rgba(172, 239, 250, .5)
}
}
}
}
......@@ -324,7 +352,7 @@ table td {
}
.el-date-table td span {
color: #A6CFD6;
color: #DBFAFF
}
.el-date-table td.current:not(.disabled) span {
......@@ -361,10 +389,6 @@ table td {
background-color: #031a46;
}
.el-picker-panel__footer {
background-color: #031a46;
}
.el-time-panel {
background-color: #074487 !important;
color: #E3F1FF;
......@@ -419,7 +443,7 @@ table td {
[class^="el-icon-"],
[class*=" el-icon-"] {
display: none;
// display: none;
}
.el-range-separator {
......@@ -444,7 +468,7 @@ table td {
}
.el-select-dropdown {
top: 203px !important;
margin-top: 5px !important;
}
.el-menu--horizontal .el-menu--popup .el-menu-item:not(.is-disabled):hover,
......@@ -460,5 +484,4 @@ table td {
.el-select-dropdown__item.hover,
.el-select-dropdown__item:hover {
background-color: transparent !important;
;
}
\ No newline at end of file
......
......@@ -5,16 +5,16 @@
background-color: rgba(0, 0, 0, 0);
.el-table__header-wrapper {
border-right: 1px solid #103E99;
border-right: none;
}
.el-table__row .cell {
color: #DBFAFF !important;
color: #CEF8FF !important;
}
.el-table__row {
background: #0F56A3 !important;
background: rgba(0, 0, 0, 0) !important;
}
thead {
......
import { Message } from "element-ui";
export function removeTreeListItem (treeList, dictId, idName = 'bsmDict') {
if (!treeList || !treeList.length) {
return
}
for (let i = 0; i < treeList.length; i++) {
if (treeList[i][idName] === dictId) {
treeList.splice(i, 1);
break;
}
removeTreeListItem(treeList[i].children, dictId)
}
}
// 创造id
export function getUuid (len, radix) {
var chars = "0123456789abcdefghijklmnopqrstuvwxyz".split(
""
);
var uuid = [],
i;
radix = radix || chars.length;
if (len) {
for (i = 0; i < len; i++) uuid[i] = chars[0 | (Math.random() * radix)];
} else {
var r;
uuid[8] = uuid[13] = uuid[18] = uuid[23] = "-";
uuid[14] = "4";
for (i = 0; i < 36; i++) {
if (!uuid[i]) {
r = 0 | (Math.random() * 16);
uuid[i] = chars[i == 19 ? (r & 0x3) | 0x8 : r];
}
}
}
return uuid.join("");
}
export function judgeSort (arr) {
if (arr.length) {
for (let i in arr) {
arr[i]["isTop"] = false;
arr[i]["isBottom"] = false;
arr[i] == arr[0] && (arr[i].isTop = true);
arr[i] == arr[arr.length - 1] && (arr[i].isBottom = true);
arr[i].children && arr[i].children.length && judgeSort(arr[i].children)
}
}
return arr
}
// 上下移动
export function realMove (bsmDict, operate, data) {
function changeSort (arr, bsmDict) {
if (arr.length) {
let flag = false;
for (let i in arr) {
if (arr[i].bsmDict == bsmDict) {
if (operate === "UP") {
arr[i] = arr.splice(i - 1, 1, arr[i])[0];
} else if (operate === "DOWN") {
let temp = arr.splice(i - 0 + 1, 1, arr[i])
arr[i] = temp[0];
}
flag = true;
break;
}
if (!flag && arr[i].children && arr[i].children.length) {
arr[i].children = changeSort(arr[i].children, bsmDict);
}
}
}
return arr;
}
data = judgeSort(changeSort(data, bsmDict));
}
// 获取所有父节点
export function findParents (treeData, bsmDict) {
if (treeData.length == 0) return
for (let i = 0; i < treeData.length; i++) {
if (treeData[i].bsmDict == bsmDict) {
return []
} else {
if (treeData[i].children) {
let res = findParents(treeData[i].children, bsmDict)
if (res !== undefined) {
return res.concat(treeData[i].bsmDict)
}
}
}
}
}
// 上移下移
export function upward (index, data) {
if (index > 0) {
let upData = data[index - 1];
data.splice(index - 1, 1);
data.splice(index, 0, upData);
} else {
Message({
message: '已经是第一条,上移失败'
});
}
}
export function down (index, data) {
if ((index + 1) == data.length) {
Message({
message: '已经是最后一条,下移失败'
});
} else {
let downData = data[index + 1];
data.splice(index + 1, 1);
data.splice(index, 0, downData);
}
}
......@@ -52,7 +52,7 @@ export function realMove (bsmDict, operate, data) {
if (arr.length) {
let flag = false;
for (let i in arr) {
if (arr[i].bsmDict == bsmDict) {
if (arr[i].dictid == bsmDict) {
if (operate === "UP") {
arr[i] = arr.splice(i - 1, 1, arr[i])[0];
} else if (operate === "DOWN") {
......@@ -109,4 +109,33 @@ export function down (index, data) {
data.splice(index + 1, 1);
data.splice(index, 0, downData);
}
}
export function timeFormat (date, end) {
if (!date || typeof (date) === "string") {
this.error("参数异常,请检查...");
}
var y = date.getFullYear(); //年
var m = date.getMonth() + 1; //月
var d = date.getDate(); //日
if (end) {
return y + "/" + m + "/" + d + ' 23:59:59';
} else {
return y + "/" + m + "/" + d + ' 00:00:00';
}
}
export function getFirstDayOfSeason (d) {
let date = d || new Date()
var month = date.getMonth();
if (month < 3) {
date.setMonth(0);
} else if (2 < month && month < 6) {
date.setMonth(3);
} else if (5 < month && month < 9) {
date.setMonth(6);
} else if (8 < month && month < 11) {
date.setMonth(9);
}
date.setDate(1);
return timeFormat(date);
}
\ No newline at end of file
......
......@@ -7,6 +7,7 @@ class data extends filter {
return [
{
label: "行政区",
width: 80,
render: (h, scope) => {
return (
<div>
......@@ -17,6 +18,7 @@ class data extends filter {
},
{
label: "权属状态",
width: 80,
render: (h, scope) => {
return (
<div>
......
......@@ -2,6 +2,9 @@
<div class="Cfdj from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="130px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="5">
<el-form-item label="行政区" label-width="80px">
......@@ -77,7 +80,7 @@
</lb-table>
</div>
<!-- 编辑 -->
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlCfdj'" />
<dataDetails ref="editLog" title="查封登记" :tabsActiveName="'qlfQlCfdj'" />
</div>
</template>
<script>
......@@ -112,7 +115,7 @@ export default {
}].concat(data.columns()).concat([
{
label: "操作",
width: 170,
width: 80,
render: (h, scope) => {
return (
<div>
......
......@@ -7,6 +7,7 @@ class data extends filter {
return [
{
label: "行政区",
width: 80,
render: (h, scope) => {
return (
<div>
......@@ -17,6 +18,7 @@ class data extends filter {
},
{
label: "权属状态",
width: 80,
render: (h, scope) => {
return (
<div>
......@@ -31,11 +33,13 @@ class data extends filter {
},
{
label: "不动产单元号",
prop: "bdcdyh"
prop: "bdcdyh",
width: 150,
},
{
label: "不动产权证号",
prop: "bdcdjzmh"
prop: "bdcdjzmh",
width: 150,
},
{
label: "抵押类型",
......@@ -63,7 +67,8 @@ class data extends filter {
},
{
label: "被担保主债权数额",
prop: "bdbzzqse"
prop: "bdbzzqse",
width: 135,
},
{
label: "最高债权额",
......@@ -71,11 +76,13 @@ class data extends filter {
},
{
label: "登记时间",
prop: "djsj"
prop: "djsj",
width: 140,
},
{
label: "登记机构",
prop: "djjg"
prop: "djjg",
width: 140,
}
]
}
......
......@@ -2,6 +2,9 @@
<div class="dyaq from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="120px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="5">
<el-form-item label="行政区" label-width="80px">
......@@ -72,7 +75,7 @@
</lb-table>
</div>
<!-- 编辑 -->
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlDyaq'" />
<dataDetails ref="editLog" title="抵押权登记" :tabsActiveName="'qlfQlDyaq'" />
</div>
</template>
......@@ -110,7 +113,7 @@ export default {
}].concat(data.columns()).concat([
{
label: "操作",
width: 170,
width: 80,
render: (h, scope) => {
return (
<div>
......
......@@ -2,6 +2,9 @@
<div class="from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="150px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="5">
<el-form-item label="行政区" label-width="80px">
......@@ -73,7 +76,7 @@
</lb-table>
</div>
<!-- 编辑 -->
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlDyiq'" />
<dataDetails ref="editLog" title="地役权登记" :tabsActiveName="'qlfQlDyiq'" />
</div>
</template>
......
......@@ -7,7 +7,7 @@ class data extends filter {
return [
{
label: "行政区",
width: 150,
width: 80,
render: (h, scope) => {
return (
<div>
......@@ -18,7 +18,7 @@ class data extends filter {
},
{
label: "权属状态",
width: 100,
width: 80,
render: (h, scope) => {
return (
<div>
......@@ -29,8 +29,7 @@ class data extends filter {
},
{
label: "业务号",
prop: "ywh",
width: 150
prop: "ywh"
},
{
label: "不动产单元号",
......@@ -42,7 +41,8 @@ class data extends filter {
},
{
label: "权利人",
prop: "qlrmc"
prop: "qlrmc",
width: 150
},
{
label: "用途",
......@@ -50,6 +50,7 @@ class data extends filter {
},
{
label: "权利类型",
width: 150,
render: (h, scope) => {
return (
<div>
......@@ -73,7 +74,7 @@ class data extends filter {
render: (h, scope) => {
return (
<div>
<span>{this.dicStatus(scope.row.djlx, 'A21')}</span>
<span>{this.dicStatus(scope.row.djlx, 'A21')}</span>
</div>
)
}
......
......@@ -2,6 +2,9 @@
<div class="fdcqdz from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="120px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="6">
<el-form-item label="行政区">
......@@ -34,7 +37,7 @@
<el-col :span="6">
<el-form-item label="登记类型">
<el-select v-model="form.DJLX" clearable class="width100" ref="selectlandDJ"
@visible-change="isShowSelectOptions" placeholder="请选择登记类型">
@visible-change="isShowSelectOptions" placeholder="登记类型">
<el-option v-for="item in dicData['A21']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -63,7 +66,7 @@
:data="tableData.data">
</lb-table>
</div>
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qltFwFdcqDz'"/>
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qltFwFdcqDz'" />
</div>
</template>
......@@ -101,7 +104,7 @@ export default {
}].concat(data.columns()).concat([
{
label: "操作",
width: 170,
width: 90,
render: (h, scope) => {
return (
<div>
......
......@@ -2,6 +2,9 @@
<div class="fdcqqfsyq from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="80px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="5">
<el-form-item label="业务号">
......@@ -11,7 +14,7 @@
<el-col :span="5">
<el-form-item label="权利类型">
<el-select v-model="form.QLLX" ref="selectshareQL" @visible-change="isShowSelectOptions" clearable
placeholder="请选择权利类型">
placeholder="权利类型">
<el-option v-for="item in dicData['A8']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -69,7 +72,7 @@ export default {
}].concat(data.columns()).concat([
{
label: "操作",
width: 170,
width: 80,
render: (h, scope) => {
return (
<div>
......
......@@ -7,7 +7,7 @@ class data extends filter {
return [
{
label: "行政区",
width: 150,
width: 80,
render: (h, scope) => {
return (
<div>
......@@ -18,7 +18,7 @@ class data extends filter {
},
{
label: "权属状态",
width: 100,
width: 80,
render: (h, scope) => {
return (
<div>
......@@ -30,19 +30,21 @@ class data extends filter {
{
label: "业务号",
prop: "ywh",
width: 150
},
{
label: "不动产单元号",
prop: "bdcdyh"
prop: "bdcdyh",
width: 150
},
{
label: "不动产权证号",
prop: "bdcqzh"
prop: "bdcqzh",
width: 150
},
{
label: "权利人",
prop: "qlrmc"
prop: "qlrmc",
width: 150
},
{
label: "用途",
......@@ -67,7 +69,7 @@ class data extends filter {
render: (h, scope) => {
return (
<div>
<span>{this.dicStatus(scope.row.djlx, 'A21')}</span>
<span>{this.dicStatus(scope.row.djlx, 'A21')}</span>
</div>
)
}
......
......@@ -2,6 +2,9 @@
<div class="fdcqyz from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="120px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="6">
<el-form-item label="行政区">
......@@ -34,7 +37,7 @@
<el-col :span="6">
<el-form-item label="登记类型">
<el-select v-model="form.DJLX" clearable class="width100" ref="selectlandDJ"
@visible-change="isShowSelectOptions" placeholder="请选择登记类型">
@visible-change="isShowSelectOptions" placeholder="登记类型">
<el-option v-for="item in dicData['A21']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -63,7 +66,7 @@
:data="tableData.data">
</lb-table>
</div>
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qltFwFdcqYz'"/>
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qltFwFdcqYz'" />
</div>
</template>
......@@ -101,7 +104,7 @@ export default {
}].concat(data.columns()).concat([
{
label: "操作",
width: 170,
width: 80,
render: (h, scope) => {
return (
<div>
......
......@@ -2,6 +2,9 @@
<div class="gzwsyq from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="105px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="6">
<el-form-item label="行政区">
......@@ -21,17 +24,17 @@
</el-col>
<el-col :span="6">
<el-form-item label="坐落">
<el-input v-model="form.ZL" placeholder="请输入坐落"></el-input>
<el-input v-model="form.ZL" placeholder="坐落"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="不动产权证号" label-width="105px">
<el-input v-model="form.BDCQZH" placeholder="请输入不动产权证号"></el-input>
<el-input v-model="form.BDCQZH" placeholder="不动产权证号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="mt-10">
<el-form-item label="权利人">
<el-input v-model="form.QLR" placeholder="请输入权利人"></el-input>
<el-input v-model="form.QLR" placeholder="权利人"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="mt-10">
......@@ -44,7 +47,7 @@
</el-col>
<el-col :span="6" class="mt-10">
<el-form-item label="建筑名称">
<el-input v-model="form.JZWMC" placeholder="请输入建筑名称"></el-input>
<el-input v-model="form.JZWMC" placeholder="建筑名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="btnColRight mt-10">
......
......@@ -2,6 +2,9 @@
<div class="hysyq from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="105px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="6">
<el-form-item label="行政区">
......@@ -21,17 +24,17 @@
</el-col>
<el-col :span="6">
<el-form-item label="坐落">
<el-input v-model="form.ZL" placeholder="请输入坐落"></el-input>
<el-input v-model="form.ZL" placeholder="坐落"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="不动产权证号" label-width="105px">
<el-input v-model="form.BDCQZH" placeholder="请输入不动产权证号"></el-input>
<el-input v-model="form.BDCQZH" placeholder="不动产权证号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="mt-10">
<el-form-item label="权利人">
<el-input v-model="form.QLR" placeholder="请输入权利人"></el-input>
<el-input v-model="form.QLR" placeholder="权利人"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="mt-10">
......@@ -44,7 +47,7 @@
</el-col>
<el-col :span="6" class="mt-10">
<el-form-item label="海岛名称">
<el-input v-model="form.HDMC" placeholder="请输入海岛名称"></el-input>
<el-input v-model="form.HDMC" placeholder="海岛名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="btnColRight mt-10">
......
......@@ -7,7 +7,7 @@ class data extends filter {
return [
{
label: "行政区",
width: 80,
width: 80,
render: (h, scope) => {
return (
<div>
......@@ -18,7 +18,7 @@ class data extends filter {
},
{
label: "权属状态",
width: 80,
width: 80,
render: (h, scope) => {
return (
<div>
......@@ -26,10 +26,10 @@ class data extends filter {
</div>
)
},
},
},
{
label: "权利类型",
width: 200,
width: 80,
render: (h, scope) => {
return (
<div>
......@@ -40,7 +40,7 @@ class data extends filter {
},
{
label: "登记类型",
width: 100,
width: 80,
render: (h, scope) => {
return (
<div>
......@@ -52,16 +52,17 @@ class data extends filter {
{
label: "业务号",
prop: "YWH",
width: 150
width: 95
},
{
label: "不动产单元号",
prop: "BDCDYH",
width: 240,
width: 150,
},
{
label: "不动产权证号",
prop: "BDCQZH"
prop: "BDCQZH",
width: 150,
},
{
label: "权利人",
......@@ -73,13 +74,14 @@ class data extends filter {
},
{
label: "使用权面积",
prop: "SYQMJ"
prop: "SYQMJ",
width: 90,
},
{
label: "坐落",
prop: "zl"
},
{
label: "登记时间",
width: 140,
......
......@@ -2,6 +2,9 @@
<div class="jsydzjdsyq from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="120px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="6">
<el-form-item label="行政区">
......@@ -13,7 +16,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="权属状态">
<el-select class="width100" v-model="form.QSZT" placeholder="权属状态">
<el-select class="width100" v-model="form.QSZT" placeholder="权属状态">
<el-option v-for="item in dicData['A22']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -34,7 +37,7 @@
<el-col :span="6">
<el-form-item label="登记类型">
<el-select v-model="form.DJLX" clearable class="width100" ref="selectlandDJ"
@visible-change="isShowSelectOptions" placeholder="请选择登记类型">
@visible-change="isShowSelectOptions" placeholder="登记类型">
<el-option v-for="item in dicData['A21']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -58,7 +61,7 @@
:data="tableData.data">
</lb-table>
</div>
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlJsydsyq'"/>
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlJsydsyq'" />
</div>
</template>
......@@ -95,7 +98,7 @@ export default {
}].concat(data.columns()).concat([
{
label: "操作",
width: 170,
width: 80,
render: (h, scope) => {
return (
<div>
......
......@@ -2,6 +2,9 @@
<div class="lq from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="105px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="6">
<el-form-item label="行政区">
......
......@@ -36,11 +36,13 @@ class data extends filter {
},
{
label: "不动产单元号",
prop: "BDCDYH"
prop: "BDCDYH",
width: 150,
},
{
label: "不动产权证号",
prop: "BDCQZH"
prop: "BDCQZH",
width: 150,
},
{
label: "地籍号",
......
......@@ -2,6 +2,9 @@
<div class="from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="105px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="6">
<el-form-item label="行政区">
......@@ -21,17 +24,17 @@
</el-col>
<el-col :span="6">
<el-form-item label="坐落">
<el-input v-model="form.ZL" placeholder="请输入坐落"></el-input>
<el-input v-model="form.ZL" placeholder="坐落"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="不动产权证号" label-width="105px">
<el-input v-model="form.BDCQZH" placeholder="请输入不动产权证号"></el-input>
<el-input v-model="form.BDCQZH" placeholder="不动产权证号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="mt-10">
<el-form-item label="权利人">
<el-input v-model="form.QLR" placeholder="请输入权利人"></el-input>
<el-input v-model="form.QLR" placeholder="权利人"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="mt-10">
......@@ -44,7 +47,7 @@
</el-col>
<el-col :span="6" class="mt-10">
<el-form-item label="地籍号">
<el-input v-model="form.xxx" placeholder="请输入地籍号"></el-input>
<el-input v-model="form.xxx" placeholder="地籍号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="btnColRight mt-10">
......
......@@ -7,7 +7,7 @@ class data extends filter {
return [
{
label: "行政区",
width: 150,
width: 80,
render: (h, scope) => {
return (
<div>
......@@ -18,7 +18,7 @@ class data extends filter {
},
{
label: "权属状态",
width: 100,
width: 80,
render: (h, scope) => {
return (
<div>
......@@ -30,7 +30,7 @@ class data extends filter {
{
label: "业务号",
prop: "ywh",
width: 150
width: 80,
},
{
label: "不动产单元号",
......@@ -46,11 +46,13 @@ class data extends filter {
},
{
label: "用途",
prop: "yt"
prop: "yt",
width: 80,
},
{
label: "土地面积",
prop: "nydmj"
prop: "nydmj",
width: 80,
},
{
label: "坐落",
......@@ -58,10 +60,11 @@ class data extends filter {
},
{
label: "登记类型",
width: 80,
render: (h, scope) => {
return (
<div>
<span>{this.dicStatus(scope.row.djlx, 'A21')}</span>
<span>{this.dicStatus(scope.row.djlx, 'A21')}</span>
</div>
)
}
......
......@@ -2,6 +2,9 @@
<div class="tdsyq from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="120px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="6">
<el-form-item label="行政区">
......@@ -13,7 +16,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="权属状态">
<el-select class="width100" v-model="form.QSZT" placeholder="权属状态">
<el-select class="width100" v-model="form.QSZT" placeholder="权属状态">
<el-option v-for="item in dicData['A22']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -33,8 +36,7 @@
<el-row class="mt-10">
<el-col :span="6">
<el-form-item label="登记类型">
<el-select v-model="form.DJLX" clearable class="width100" ref="selectlandDJ"
@visible-change="isShowSelectOptions" placeholder="请选择登记类型">
<el-select v-model="form.DJLX" clearable class="width100" ref="selectlandDJ" placeholder="请选择登记类型">
<el-option v-for="item in dicData['A21']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -94,7 +96,7 @@ export default {
}].concat(data.columns()).concat([
{
label: "操作",
width: 170,
width: 80,
render: (h, scope) => {
return (
<div>
......@@ -123,11 +125,6 @@ export default {
}
},
methods: {
// 是否显示下拉框
isShowSelectOptions (e) {
if (!e) this.$refs.selectlandQL.blur()
if (!e) this.$refs.selectlandDJ.blur()
},
async featchData () {
try {
this.form = Object.assign(this.form, this.formData)
......
......@@ -22,7 +22,7 @@ class data extends filter {
},
{
label: "登记类型",
width: 70,
width: 100,
render: (h, scope) => {
return (
<div>
......
......@@ -2,6 +2,9 @@
<div class="from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="110px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="6">
<el-form-item label="行政区" label-width="106px">
......@@ -34,7 +37,7 @@
<el-col :span="6">
<el-form-item label="预告登记种类" label-width="106px">
<el-select v-model="form.YGDJZL" clearable ref="selectnoticeRegQL" class="width100"
@visible-change="isShowSelectOptions" placeholder="请选择预告登记种类">
@visible-change="isShowSelectOptions" placeholder="预告登记种类">
<el-option v-for="item in dicData['A29']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
......@@ -42,7 +45,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="登记类型">
<el-select v-model="form.DJLX" clearable class="width100" placeholder="请选择登记类型">
<el-select v-model="form.DJLX" clearable class="width100" placeholder="登记类型">
<el-option v-for="item in dicData['A21']" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
......@@ -67,7 +70,7 @@
</lb-table>
</div>
<!-- 编辑 -->
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlYgdj'" />
<dataDetails ref="editLog" title="预告登记" :tabsActiveName="'qlfQlYgdj'" />
</div>
</template>
......
......@@ -2,6 +2,9 @@
<div class="from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="105px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="5">
<el-form-item label="行政区" label-width="80px">
......@@ -57,7 +60,7 @@
</lb-table>
</div>
<!-- 编辑 -->
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlYydj'" />
<dataDetails ref="editLog" title="异议登记" :tabsActiveName="'qlfQlYydj'" />
</div>
</template>
......@@ -93,7 +96,7 @@ export default {
}].concat(data.columns()).concat([
{
label: "操作",
width: 170,
width: 80,
render: (h, scope) => {
return (
<div>
......
......@@ -2,6 +2,9 @@
<div class="cancellationReg from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="105px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="6">
<el-form-item label="行政区">
......@@ -21,17 +24,17 @@
</el-col> -->
<!-- <el-col :span="6">
<el-form-item label="坐落">
<el-input v-model="form.ZL" placeholder="请输入坐落"></el-input>
<el-input v-model="form.ZL" placeholder="坐落"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="6">
<el-form-item label="不动产权证号" label-width="105px">
<el-input v-model="form.BDCQZH" placeholder="请输入不动产权证号"></el-input>
<el-input v-model="form.BDCQZH" placeholder="不动产权证号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="mt-10">
<el-form-item label="权利人">
<el-input v-model="form.QLR" placeholder="请输入权利人"></el-input>
<el-input v-model="form.QLR" placeholder="权利人"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="mt-10">
......@@ -44,7 +47,7 @@
</el-col>
<el-col :span="6" class="mt-10">
<el-form-item label="不动产单元号" label-width="105px">
<el-input v-model="form.BDCDYH" placeholder="请输入不动产单元号"></el-input>
<el-input v-model="form.BDCDYH" placeholder="不动产单元号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="btnColRight mt-10">
......@@ -61,7 +64,7 @@
</lb-table>
</div>
<!-- 编辑 -->
<dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlZxdj'" />
<dataDetails ref="editLog" title="注销登记" :tabsActiveName="'qlfQlZxdj'" />
</div>
</template>
......@@ -94,7 +97,7 @@ export default {
}].concat(data.columns()).concat([
{
label: "操作",
width: 170,
width: 80,
render: (h, scope) => {
return (
<div>
......
import filter from '@/utils/filter.js'
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
prop: "qymc",
label: "区域名称",
},
{
prop: "czyymc",
label: "操作用户名称",
},
{
prop: "bwmc",
label: "报文名称",
},
{
prop: "rksj",
label: "入库时间",
},
{
prop: "rkjg",
label: "入库结果",
},
{
prop: "sbyy",
label: "失败原因",
}
]
}
}
export default new data()
<template>
<!-- 报文重新入库日志 -->
<div class="from-clues">
<!-- 头部搜索 -->
<div class="from-clues-header">
<el-form ref="ruleForm" :model="form" label-width="100px">
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区" prop="pcode">
<el-select v-model="form.pcode" class="width100" clearable placeholder="行政区">
<el-option v-for="item in xzqOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="报文名称" prop="bwmc">
<el-select v-model="form.ywmc" class="width100" clearable placeholder="业务名称">
<el-option v-for="item in []" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="开始日期" prop="startTime">
<el-date-picker type="date" class="width100" placeholder="开始日期" :picker-options="pickerOptionsStart"
clearable v-model="form.startTime" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="结束日期" prop="endTime">
<el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd"
clearable v-model="form.endTime" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="入库结果" prop="rkjg">
<el-select v-model="form.rkjg" class="width100" clearable placeholder="入库结果">
<el-option v-for="item in []" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<!-- 操作按钮 -->
<el-col :span="18" class="btnColRight">
<el-button @click="resetForm">重置</el-button>
<el-button type="primary" @click="handleSubmit">查询</el-button>
</el-col>
</el-row>
</el-form>
</div>
<!-- 列表 -->
<div class="from-clues-content">
<lb-table ref="table" :heightNum="300" :page-size="pageData.size" :current-page.sync="pageData.current"
:total="pageData.total" @size-change="handleSizeChange" @p-current-change="handleCurrentChange"
:column="tableData.columns" :data="tableData.data">
</lb-table>
</div>
</div>
</template>
<script>
// 报文重新入库日志
// 引入列表头部
import data from "./data"
// 引入表格混入方法
import tableMixin from '@/mixins/tableMixin.js'
export default {
name: "bwcxrkrz",
mixins: [tableMixin],
data () {
return {
// 开始结束日期限制
pickerOptionsStart: {
disabledDate: (time) => {
if (this.form.endTime) {
return (
time.getTime() >= new Date(this.form.endTime).getTime()
);
}
}
},
// 结束日期限制
pickerOptionsEnd: {
disabledDate: (time) => {
if (this.form.startTime) {
return (
time.getTime() <= new Date(this.form.startTime).getTime()
);
}
}
},
// 头部表单
form: {
pcode: '',
bwmc: '',
startTime: '',
endTime: '',
rkjg: '',
currentPage: 1
},
// 表单校验
rules: {
pcode: [
{ required: true, message: '响应结果', trigger: 'change' }
],
startTime: [
{ required: true, message: '开始日期', trigger: 'change' }
],
endTime: [
{ required: true, message: '结束日期', trigger: 'change' }
],
},
// 表格
tableData: {
// 表格头部
columns: [{
label: '序号',
type: 'index',
width: '50',
index: this.indexMethod,
}].concat(data.columns()),
// 表格列表
data: []
},
// 分页
pageData: {
total: 0,
pageSize: 15,
current: 1,
},
// 行政区
xzqOptions: [
{
value: '632321',
label: '同仁县'
},
{
value: '632322',
label: '尖扎县'
},
{
value: '632323',
label: '泽库县'
},
{
value: '632324',
label: '河南县'
}
]
}
},
methods: {
// 重置表单
resetForm () {
this.$refs.ruleForm.resetFields();
},
// 数据请求
async featchData () {
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
@import "./index.scss";
</style>
<template>
<div class="centercard">
<div class="card1">
<div class="title">汉中市不动产接入信息</div>
<maps class="map" />
</div>
<div class="card2 mt-10">
......
......@@ -23,7 +23,7 @@
</div>
</template>
<script>
import drawMixin from "../../utils/drawMixin";
import drawMixin from "@/utils/drawMixin";
import screencontent from './screencontent'
export default {
mixins: [drawMixin],
......
......@@ -18,7 +18,7 @@
</p>
<p>
<span>成功率</span>
<span class="cg">{{qxcgl}}</span>
<span class="cg">{{ qxcgl }}</span>
</p>
</div>
</div>
......@@ -41,7 +41,7 @@
</p>
<p>
<span>成功率</span>
<span class="cg">{{stcgl}}</span>
<span class="cg">{{ stcgl }}</span>
</p>
</div>
</div>
......@@ -66,8 +66,8 @@ export default {
stsuccess: "",
qxjrl: "",
stjrl: "",
qxcgl:"",
stcgl:""
qxcgl: "",
stcgl: ""
};
},
mounted () {
......@@ -76,10 +76,10 @@ export default {
components: { columnar },
computed: {
qxjrlList: function () {
return this.qxjrl.toString().split("");
return this.qxjrl && this.qxjrl.toString().split("");
},
stjrlList: function () {
return this.stjrl.toString().split("");
return this.stjrl && this.stjrl.toString().split("");
},
},
methods: {
......@@ -87,23 +87,25 @@ export default {
return new Promise(async (resolve) => {
try {
let p = {
DJLX: "A21",
QLLX: "A8",
XZQDM: "A20",
DJLX: "",
QLLX: "",
XZQDM: "",
};
let res = await work.getsthjqxjrtotal(p);
this.stjrl=Number(res.result.sum)
this.qxjrl=Number(res.result.sum)
this.stjrl=res.result.stsum
this.qxjrl=res.result.qxsum
this.qxerrer=Number(res.result.qxjrerrer)
this.sterrer=Number(res.result.sthjerrer)
if(res.result.sum=="0"){
this.qxcgl="100%"
this.stcgl="100%"
}else{
this.qxcgl=Number(res.result.qxjrsuccess)/this.qxjrl*100+"%"
this.stcgl=Number(res.result.sthjsuccess)/Number(res.result.sum)*100+"%"
}
let qxcglnum=Number(res.result.qxjrsuccess)/this.qxjrl*100
let stcgl=Number(res.result.sthjsuccess)/this.qxjrl*100
this.qxcgl=qxcglnum.toFixed(2)+"%";
this.stcgl=stcgl.toFixed(2)+"%";
}
} catch (error) {
this.$refs.msg.messageShow();
}
......
<template>
<div class="rightcard">
<div class="card1 cardCon d-center">
<div class="cardhead">房屋情况统计表</div>
<div class="cardhead">新建国有房屋信息</div>
<div class="cardcontent" style="margin-top: 70px">
<dv-scroll-board :config="config" class="board" />
</div>
......
......@@ -6,7 +6,7 @@
</div>
</template>
<script>
import drawMixin from "../../utils/drawMixin";
import drawMixin from "@/utils/drawMixin";
import leftcard from "./leftcard";
import centercard from "./centercard";
import rightcard from "./rightcard";
......
<template>
<screencontent />
</template>
<script>
import screencontent from '@/views/dataView/screencontent'
import screencontent from '@/views/home/dataView/screencontent'
export default {
name: "home",
components: {
screencontent
},
data () {
return {
}
},
methods: {
}
}
</script>
<style scoped lang="scss">
@import "../dataView/index.scss";
@import "./dataView/index.scss";
</style>
......
<template>
<div id="barChart"></div>
</template>
<script>
export default {
data () {
return {
};
},
mounted () {
this.drawProvinceMap();
},
methods: {
drawProvinceMap () {
var chartDom = document.getElementById('barChart');
var myChart = this.$echarts.init(chartDom);
var option;
option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
legend: {
data: ['网络断开', '网络正常']
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: [
{
type: 'value'
}
],
yAxis: [
{
type: 'category',
axisTick: {
show: false
},
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
}
],
series: [
{
name: '网络正常',
type: 'bar',
itemStyle: {
color: '#67C23A'
},
label: {
show: true,
position: 'inside'
},
emphasis: {
focus: 'series'
},
data: [200, 170, 240, 244, 200, 220, 210]
},
{
name: '网络断开',
type: 'bar',
itemStyle: {
color: '#F56C6C'
},
label: {
show: true,
position: 'inside'
},
emphasis: {
focus: 'series'
},
data: [-120, -132, -101, -134, -190, -230, -210]
}
],
}
myChart.setOption(option);
window.addEventListener("resize", () => {
this.myChart.resize();
});
}
}
}
</script>
<style scoped lang="scss">
#barChart {
width: 100%;
height: 500px;
}
</style>
<template>
<div id="jgChart" />
</template>
<script>
export default {
data () {
return {
};
},
methods: {
drawInit () {
let datavalue = [26, 300, 2000, 1200, 800];
let ii = -1;
var chartDom = document.getElementById('jgChart');
var myChart = this.$echarts.init(chartDom);
var option;
option = {
radar: {
indicator: [
{ name: '原则监管', max: 2600 },
{ name: '时效监管', max: 2600 },
{ name: '证书监管', max: 3600 },
{ name: '年限监管', max: 2600 },
{ name: '内容监管', max: 2600 },
],
name: {
rich: {
a: {
color: '#606266'
},
b: {
color: '#409EFF',
align: 'center',
}
},
formatter: (a, b) => {
ii++;
return `{a|${a}}\n{b|${datavalue[ii]}}`
}
}
},
series: [
{
type: 'radar',
symbol: 'none',//去掉拐点的圈
itemStyle: {
color: '#409EFF'
},
data: [
{
value: datavalue,
}
]
}
]
};
myChart.setOption(option);
}
},
mounted () {
this.drawInit()
}
}
</script>
<style scoped>
#jgChart {
width: 100%;
height: 330px;
}
</style>
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
(function(root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['exports', 'echarts'], factory);
} else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
// CommonJS
factory(exports, require('echarts'));
} else {
// Browser globals
factory({}, root.echarts);
}
}(this, function(exports, echarts) {
var log = function(msg) {
if (typeof console !== 'undefined') {
console && console.error && console.error(msg);
}
}
if (!echarts) {
log('ECharts is not Loaded');
return;
}
if (!echarts.registerMap) {
log('ECharts Map is not loaded')
return;
}
echarts.registerMap('汉中市', {"type":"FeatureCollection","features":[{"type":"Feature","properties":{"adcode":610702,"name":"汉台区","center":[107.028233,33.077674],"centroid":[107.038163,33.183051],"childrenNum":0,"level":"district","parent":{"adcode":610700},"subFeatureIndex":0,"acroutes":[100000,610000,610700]},"geometry":{"type":"MultiPolygon","coordinates":[[[[107.06999,33.364706],[107.052544,33.365051],[107.043388,33.36136],[107.029598,33.360601],[107.020107,33.355806],[107.014105,33.350339],[107.011621,33.338402],[106.999646,33.330915],[106.999283,33.324324],[106.994593,33.310434],[106.996324,33.303565],[106.994844,33.300355],[106.987726,33.295903],[106.981529,33.294902],[106.969135,33.296161],[106.959756,33.295419],[106.952972,33.297404],[106.940522,33.298595],[106.937452,33.297559],[106.93293,33.288895],[106.920452,33.284442],[106.913641,33.28023],[106.900297,33.286202],[106.894687,33.293072],[106.889411,33.296144],[106.876486,33.29863],[106.872271,33.29749],[106.869508,33.294315],[106.863031,33.281524],[106.861803,33.272599],[106.864985,33.264537],[106.869005,33.260825],[106.877714,33.257509],[106.885642,33.251431],[106.896808,33.255403],[106.906774,33.248582],[106.912831,33.25188],[106.918693,33.25169],[106.926258,33.244541],[106.937284,33.236545],[106.944654,33.234231],[106.954005,33.233885],[106.96277,33.228306],[106.965366,33.220274],[106.965869,33.212828],[106.964166,33.205158],[106.957913,33.190073],[106.956685,33.182936],[106.946943,33.175747],[106.934493,33.160796],[106.938178,33.160001],[106.93815,33.153397],[106.932539,33.149421],[106.931534,33.139652],[106.932511,33.133359],[106.923299,33.119818],[106.933488,33.118608],[106.93734,33.108161],[106.940495,33.106207],[106.954954,33.096555],[106.960788,33.090881],[106.981027,33.080967],[106.984767,33.077472],[106.992248,33.058351],[107.000567,33.050736],[107.004252,33.050805],[107.017651,33.043622],[107.033115,33.053972],[107.043723,33.053609],[107.050674,33.049144],[107.058629,33.038724],[107.059857,33.035348],[107.073731,33.025983],[107.077583,33.025169],[107.088582,33.029462],[107.099496,33.040957],[107.106642,33.051965],[107.108569,33.060376],[107.11591,33.064616],[107.129281,33.061414],[107.160294,33.074202],[107.170427,33.086815],[107.176206,33.1042],[107.169506,33.106657],[107.168613,33.109338],[107.175843,33.11463],[107.177434,33.123623],[107.164621,33.132788],[107.158117,33.135053],[107.162081,33.139739],[107.158759,33.161055],[107.152813,33.164391],[107.148068,33.16408],[107.143183,33.168678],[107.144411,33.17554],[107.148821,33.177821],[107.13411,33.180966],[107.131375,33.186306],[107.131766,33.194998],[107.133608,33.197296],[107.144885,33.201875],[107.14268,33.216474],[107.136539,33.22112],[107.127718,33.23537],[107.121688,33.24891],[107.113258,33.250896],[107.108848,33.26022],[107.108401,33.273324],[107.111527,33.278262],[107.109211,33.281231],[107.104298,33.279522],[107.089559,33.282301],[107.085902,33.300959],[107.082999,33.302444],[107.075992,33.30001],[107.070465,33.29428],[107.056619,33.284666],[107.047491,33.283251],[107.043974,33.285581],[107.043527,33.291311],[107.047575,33.304584],[107.053465,33.32862],[107.062593,33.349632],[107.069097,33.360808],[107.06999,33.364706]]]]}},{"type":"Feature","properties":{"adcode":610703,"name":"南郑区","center":[106.942393,33.003341],"centroid":[106.967343,32.805403],"childrenNum":0,"level":"district","parent":{"adcode":610700},"subFeatureIndex":1,"acroutes":[100000,610000,610700]},"geometry":{"type":"MultiPolygon","coordinates":[[[[107.176206,33.1042],[107.170427,33.086815],[107.160294,33.074202],[107.129281,33.061414],[107.11591,33.064616],[107.108569,33.060376],[107.106642,33.051965],[107.099496,33.040957],[107.088582,33.029462],[107.077583,33.025169],[107.073731,33.025983],[107.059857,33.035348],[107.058629,33.038724],[107.050674,33.049144],[107.043723,33.053609],[107.033115,33.053972],[107.017651,33.043622],[107.004252,33.050805],[107.000567,33.050736],[106.992248,33.058351],[106.984767,33.077472],[106.981027,33.080967],[106.960788,33.090881],[106.954954,33.096555],[106.940495,33.106207],[106.933739,33.107815],[106.925309,33.114111],[106.919726,33.122897],[106.914227,33.126494],[106.912077,33.120597],[106.894798,33.117708],[106.866856,33.109995],[106.853094,33.09915],[106.843268,33.097662],[106.835424,33.10164],[106.827217,33.099911],[106.817335,33.094064],[106.807202,33.091192],[106.800056,33.086452],[106.794808,33.081002],[106.782833,33.08204],[106.774347,33.080068],[106.768931,33.06292],[106.761478,33.056119],[106.753829,33.054128],[106.74392,33.048469],[106.741798,33.044176],[106.754276,33.04293],[106.75891,33.035417],[106.749307,33.032388],[106.752434,33.030137],[106.740347,33.021654],[106.72999,33.010036],[106.731526,33.006036],[106.725049,33.00098],[106.715223,32.99833],[106.719941,32.993394],[106.720834,32.984457],[106.725217,32.985029],[106.729962,32.979642],[106.716591,32.965143],[106.717345,32.957173],[106.724714,32.951975],[106.735154,32.954383],[106.739593,32.95026],[106.739425,32.944316],[106.734345,32.93605],[106.73789,32.931735],[106.730521,32.932168],[106.725915,32.934334],[106.723933,32.928251],[106.717847,32.923901],[106.728734,32.921717],[106.727785,32.915407],[106.72156,32.909566],[106.718322,32.903203],[106.713046,32.907052],[106.696381,32.905665],[106.690435,32.901487],[106.690184,32.895904],[106.669081,32.893043],[106.663358,32.893546],[106.648982,32.899146],[106.640608,32.906081],[106.62866,32.912114],[106.614535,32.917505],[106.604737,32.918944],[106.588686,32.918857],[106.580479,32.916863],[106.554296,32.905873],[106.540115,32.902111],[106.534923,32.897101],[106.522361,32.888865],[106.509186,32.881287],[106.50765,32.877992],[106.509604,32.869026],[106.508711,32.86332],[106.520184,32.855567],[106.51943,32.849999],[106.516164,32.844499],[106.521552,32.839572],[106.517309,32.83435],[106.508488,32.831036],[106.507706,32.827549],[106.510163,32.815523],[106.516499,32.802767],[106.519793,32.792145],[106.524622,32.789263],[106.530317,32.782302],[106.532857,32.76692],[106.536263,32.763447],[106.544581,32.759019],[106.547038,32.75183],[106.555189,32.751656],[106.553877,32.739134],[106.55075,32.738439],[106.544888,32.732516],[106.538552,32.730102],[106.53643,32.723397],[106.529731,32.719123],[106.529787,32.71207],[106.522696,32.704216],[106.527023,32.697092],[106.533778,32.680687],[106.533304,32.671614],[106.566801,32.675872],[106.578218,32.68053],[106.583913,32.687274],[106.588603,32.688612],[106.59748,32.685484],[106.604458,32.685657],[106.613251,32.682546],[106.629358,32.681278],[106.631703,32.683485],[106.645297,32.688629],[106.652555,32.688368],[106.66347,32.690732],[106.670337,32.694572],[106.67525,32.700672],[106.684461,32.70929],[106.695572,32.713407],[106.706737,32.721173],[106.710394,32.725481],[106.719271,32.730189],[106.726724,32.731179],[106.733256,32.739377],[106.747437,32.736095],[106.769489,32.736459],[106.779427,32.737467],[106.783503,32.732794],[106.779678,32.72661],[106.781884,32.71405],[106.780683,32.709446],[106.781772,32.70095],[106.785847,32.696779],[106.788834,32.699056],[106.793245,32.712626],[106.812143,32.711757],[106.821076,32.706058],[106.826687,32.706249],[106.83146,32.711427],[106.83721,32.71167],[106.84324,32.715301],[106.845948,32.721069],[106.855132,32.724283],[106.87255,32.72562],[106.877854,32.721798],[106.886312,32.719766],[106.893961,32.723397],[106.903452,32.721312],[106.905936,32.712174],[106.913054,32.704355],[106.917018,32.703347],[106.927235,32.707448],[106.940355,32.708334],[106.94912,32.716517],[106.957941,32.715996],[106.964808,32.717073],[106.982674,32.711757],[106.988424,32.711792],[106.995765,32.718602],[107.01257,32.721555],[107.018879,32.718776],[107.027756,32.717455],[107.03024,32.712365],[107.036381,32.710819],[107.044114,32.712556],[107.050311,32.710749],[107.056982,32.712],[107.066808,32.708855],[107.063654,32.702409],[107.05969,32.686127],[107.061477,32.677628],[107.068399,32.669997],[107.076578,32.670362],[107.087688,32.667946],[107.092741,32.661932],[107.09905,32.649467],[107.0969,32.633453],[107.097598,32.627018],[107.105693,32.608583],[107.107731,32.600755],[107.098017,32.572674],[107.095616,32.559414],[107.091987,32.552574],[107.080123,32.542391],[107.085344,32.529509],[107.10466,32.51666],[107.124675,32.484094],[107.127104,32.482457],[107.142736,32.478067],[107.150413,32.478625],[107.162472,32.474635],[107.165821,32.47798],[107.178913,32.474392],[107.189633,32.468033],[107.199933,32.455506],[107.210066,32.431981],[107.215091,32.426177],[107.230583,32.416103],[107.243229,32.41157],[107.250738,32.407578],[107.263941,32.403272],[107.270501,32.407073],[107.270138,32.416486],[107.283761,32.434177],[107.286078,32.454548],[107.288004,32.457057],[107.299253,32.463329],[107.300119,32.47913],[107.302073,32.482317],[107.313909,32.490208],[107.336882,32.497714],[107.356897,32.506404],[107.365244,32.516382],[107.370575,32.524809],[107.377917,32.538927],[107.364546,32.557482],[107.359186,32.574292],[107.356981,32.586698],[107.358516,32.595623],[107.359354,32.609609],[107.358293,32.624984],[107.355948,32.630288],[107.347936,32.637035],[107.340372,32.640095],[107.326247,32.641191],[107.309191,32.646215],[107.301403,32.651118],[107.294061,32.664974],[107.288981,32.67031],[107.268854,32.683415],[107.26757,32.6871],[107.26958,32.693495],[107.274856,32.69916],[107.278289,32.708282],[107.282225,32.714432],[107.292414,32.72119],[107.305171,32.725898],[107.308354,32.728782],[107.304976,32.733003],[107.305841,32.73896],[107.31416,32.744935],[107.316393,32.748947],[107.315109,32.753584],[107.309079,32.757526],[107.296909,32.762718],[107.27078,32.763048],[107.268296,32.774767],[107.260815,32.782441],[107.246969,32.783309],[107.229383,32.787232],[107.222851,32.786625],[107.211239,32.789558],[107.208028,32.793273],[107.204762,32.807315],[107.201078,32.814465],[107.184748,32.826872],[107.177573,32.83638],[107.173638,32.843771],[107.166352,32.86783],[107.162388,32.869997],[107.155995,32.881096],[107.167831,32.889368],[107.171349,32.893494],[107.176094,32.894552],[107.187902,32.90511],[107.18659,32.912599],[107.181677,32.917904],[107.172968,32.919637],[107.172242,32.914645],[107.168585,32.912322],[107.167217,32.902267],[107.164593,32.899302],[107.15446,32.896615],[107.152032,32.892645],[107.143853,32.886975],[107.135618,32.88583],[107.130789,32.886957],[107.128862,32.895766],[107.137237,32.903862],[107.141899,32.90433],[107.143769,32.907381],[107.143908,32.919308],[107.135506,32.923641],[107.142234,32.925426],[107.14469,32.931215],[107.149966,32.930487],[107.151752,32.937748],[107.155521,32.943831],[107.164677,32.941804],[107.170539,32.9452],[107.177183,32.951525],[107.175871,32.954072],[107.166352,32.954435],[107.157698,32.957086],[107.150022,32.969352],[107.149687,32.980595],[107.158508,32.995836],[107.157503,32.999144],[107.164593,33.007854],[107.167915,33.010054],[107.168529,33.014798],[107.18017,33.019767],[107.181816,33.023247],[107.190861,33.028649],[107.192424,33.03199],[107.191419,33.038152],[107.185306,33.040957],[107.185557,33.045232],[107.180142,33.047136],[107.179137,33.052155],[107.182598,33.054197],[107.181789,33.058905],[107.18338,33.067869],[107.186227,33.07595],[107.187288,33.084099],[107.198398,33.093545],[107.194825,33.101692],[107.196946,33.106553],[107.193289,33.112157],[107.182347,33.109839],[107.176206,33.1042]]]]}},{"type":"Feature","properties":{"adcode":610722,"name":"城固县","center":[107.329887,33.153098],"centroid":[107.255361,33.218514],"childrenNum":0,"level":"district","parent":{"adcode":610700},"subFeatureIndex":2,"acroutes":[100000,610000,610700]},"geometry":{"type":"MultiPolygon","coordinates":[[[[107.315109,32.753584],[107.317872,32.75697],[107.323009,32.757074],[107.328759,32.753983],[107.342716,32.748929],[107.354552,32.750736],[107.382579,32.751378],[107.387799,32.753618],[107.397597,32.764194],[107.385677,32.780636],[107.385482,32.784993],[107.392879,32.799574],[107.394163,32.810577],[107.385203,32.824009],[107.37024,32.838878],[107.359884,32.852774],[107.356255,32.874836],[107.353966,32.883819],[107.346736,32.891015],[107.335096,32.895506],[107.329485,32.901088],[107.322562,32.911022],[107.327196,32.92449],[107.331969,32.931319],[107.341153,32.939239],[107.349304,32.944282],[107.351063,32.948492],[107.359716,32.950416],[107.360582,32.95842],[107.36248,32.961349],[107.370101,32.966355],[107.37373,32.965403],[107.379927,32.969785],[107.382662,32.974827],[107.392488,32.973822],[107.392712,32.969872],[107.396648,32.961591],[107.402593,32.956324],[107.40625,32.93449],[107.409991,32.93144],[107.420849,32.93014],[107.427214,32.935322],[107.433718,32.946465],[107.436789,32.949393],[107.453175,32.953483],[107.457027,32.956168],[107.461047,32.966425],[107.461214,32.973545],[107.472073,32.986415],[107.473636,32.995802],[107.470314,33.006417],[107.474529,33.01253],[107.490301,33.025325],[107.498257,33.028856],[107.500657,33.033652],[107.486533,33.051671],[107.485025,33.058126],[107.481285,33.060064],[107.472827,33.060012],[107.47171,33.057572],[107.464508,33.05579],[107.461884,33.050788],[107.456217,33.050234],[107.449546,33.053332],[107.443572,33.052951],[107.439469,33.057243],[107.434472,33.065602],[107.43503,33.073129],[107.437961,33.08185],[107.429391,33.084289],[107.423641,33.095673],[107.430955,33.100672],[107.430648,33.105774],[107.435477,33.108888],[107.428303,33.114215],[107.422273,33.114803],[107.419956,33.119421],[107.415881,33.115996],[107.40826,33.114561],[107.412559,33.120579],[107.406557,33.122534],[107.406976,33.125629],[107.412363,33.129278],[107.407339,33.137595],[107.400835,33.140724],[107.408651,33.147087],[107.404324,33.148954],[107.388859,33.15217],[107.375153,33.158583],[107.37105,33.159447],[107.373785,33.170268],[107.36756,33.178028],[107.370603,33.191991],[107.364267,33.196329],[107.365523,33.207473],[107.364322,33.218858],[107.359744,33.220015],[107.355585,33.217165],[107.351761,33.224402],[107.349583,33.237961],[107.350477,33.242313],[107.349835,33.264122],[107.344363,33.277951],[107.343973,33.286444],[107.353519,33.297559],[107.357567,33.308536],[107.352654,33.317198],[107.357065,33.321839],[107.362201,33.330518],[107.355501,33.341248],[107.348634,33.346492],[107.347657,33.349321],[107.340372,33.356531],[107.341907,33.365378],[107.340065,33.36931],[107.342381,33.375552],[107.342716,33.386932],[107.34093,33.39407],[107.33049,33.406809],[107.326805,33.415117],[107.326275,33.430956],[107.329485,33.440778],[107.333756,33.447601],[107.343582,33.457817],[107.344475,33.461469],[107.350365,33.46736],[107.35405,33.473286],[107.352822,33.494624],[107.353324,33.505179],[107.356171,33.510878],[107.360945,33.514941],[107.381099,33.520192],[107.392907,33.521173],[107.399271,33.522929],[107.405301,33.522378],[107.407785,33.524409],[107.417165,33.526096],[107.422189,33.530623],[107.42646,33.537887],[107.426014,33.543394],[107.417472,33.554305],[107.409153,33.563373],[107.394638,33.564267],[107.388887,33.565954],[107.377917,33.566332],[107.35458,33.581076],[107.346987,33.586908],[107.345675,33.589677],[107.347015,33.601115],[107.343358,33.610574],[107.335961,33.612723],[107.325772,33.612379],[107.309833,33.613944],[107.291493,33.617848],[107.278317,33.618226],[107.265142,33.620685],[107.251156,33.621097],[107.231086,33.618862],[107.220953,33.620375],[107.213639,33.624829],[107.202976,33.641041],[107.201999,33.647934],[107.198091,33.659914],[107.193317,33.661031],[107.180142,33.660086],[107.171544,33.655394],[107.164537,33.646542],[107.15728,33.639769],[107.144969,33.625258],[107.13679,33.612311],[107.133887,33.603849],[107.128527,33.595216],[107.120823,33.577205],[107.115128,33.566263],[107.112812,33.558262],[107.105219,33.548729],[107.093271,33.539917],[107.081631,33.532482],[107.072782,33.529367],[107.063403,33.527628],[107.056759,33.524254],[107.053074,33.519468],[107.053521,33.512117],[107.056982,33.505213],[107.057122,33.498326],[107.05983,33.495554],[107.063793,33.485876],[107.069683,33.476403],[107.072279,33.468135],[107.081966,33.457007],[107.085874,33.443896],[107.084534,33.43037],[107.082775,33.423063],[107.079984,33.420564],[107.078979,33.410481],[107.0878,33.397087],[107.092266,33.384415],[107.089391,33.378018],[107.079119,33.368965],[107.06999,33.364706],[107.069097,33.360808],[107.062593,33.349632],[107.053465,33.32862],[107.047575,33.304584],[107.043527,33.291311],[107.043974,33.285581],[107.047491,33.283251],[107.056619,33.284666],[107.070465,33.29428],[107.075992,33.30001],[107.082999,33.302444],[107.085902,33.300959],[107.089559,33.282301],[107.104298,33.279522],[107.109211,33.281231],[107.111527,33.278262],[107.108401,33.273324],[107.108848,33.26022],[107.113258,33.250896],[107.121688,33.24891],[107.127718,33.23537],[107.136539,33.22112],[107.14268,33.216474],[107.144885,33.201875],[107.133608,33.197296],[107.131766,33.194998],[107.131375,33.186306],[107.13411,33.180966],[107.148821,33.177821],[107.144411,33.17554],[107.143183,33.168678],[107.148068,33.16408],[107.152813,33.164391],[107.158759,33.161055],[107.162081,33.139739],[107.158117,33.135053],[107.164621,33.132788],[107.177434,33.123623],[107.175843,33.11463],[107.168613,33.109338],[107.169506,33.106657],[107.176206,33.1042],[107.182347,33.109839],[107.193289,33.112157],[107.196946,33.106553],[107.194825,33.101692],[107.198398,33.093545],[107.187288,33.084099],[107.186227,33.07595],[107.18338,33.067869],[107.181789,33.058905],[107.182598,33.054197],[107.179137,33.052155],[107.180142,33.047136],[107.185557,33.045232],[107.185306,33.040957],[107.191419,33.038152],[107.192424,33.03199],[107.190861,33.028649],[107.181816,33.023247],[107.18017,33.019767],[107.168529,33.014798],[107.167915,33.010054],[107.164593,33.007854],[107.157503,32.999144],[107.158508,32.995836],[107.149687,32.980595],[107.150022,32.969352],[107.157698,32.957086],[107.166352,32.954435],[107.175871,32.954072],[107.177183,32.951525],[107.170539,32.9452],[107.164677,32.941804],[107.155521,32.943831],[107.151752,32.937748],[107.149966,32.930487],[107.14469,32.931215],[107.142234,32.925426],[107.135506,32.923641],[107.143908,32.919308],[107.143769,32.907381],[107.141899,32.90433],[107.137237,32.903862],[107.128862,32.895766],[107.130789,32.886957],[107.135618,32.88583],[107.143853,32.886975],[107.152032,32.892645],[107.15446,32.896615],[107.164593,32.899302],[107.167217,32.902267],[107.168585,32.912322],[107.172242,32.914645],[107.172968,32.919637],[107.181677,32.917904],[107.18659,32.912599],[107.187902,32.90511],[107.176094,32.894552],[107.171349,32.893494],[107.167831,32.889368],[107.155995,32.881096],[107.162388,32.869997],[107.166352,32.86783],[107.173638,32.843771],[107.177573,32.83638],[107.184748,32.826872],[107.201078,32.814465],[107.204762,32.807315],[107.208028,32.793273],[107.211239,32.789558],[107.222851,32.786625],[107.229383,32.787232],[107.246969,32.783309],[107.260815,32.782441],[107.268296,32.774767],[107.27078,32.763048],[107.296909,32.762718],[107.309079,32.757526],[107.315109,32.753584]]]]}},{"type":"Feature","properties":{"adcode":610723,"name":"洋县","center":[107.549962,33.223283],"centroid":[107.609844,33.362941],"childrenNum":0,"level":"district","parent":{"adcode":610700},"subFeatureIndex":3,"acroutes":[100000,610000,610700]},"geometry":{"type":"MultiPolygon","coordinates":[[[[107.308912,33.705121],[107.30573,33.70574],[107.288087,33.703661],[107.284179,33.701411],[107.276894,33.693938],[107.273991,33.685949],[107.268659,33.680742],[107.253697,33.674745],[107.241582,33.672615],[107.229411,33.668885],[107.211518,33.66593],[107.200798,33.665156],[107.193317,33.661031],[107.198091,33.659914],[107.201999,33.647934],[107.202976,33.641041],[107.213639,33.624829],[107.220953,33.620375],[107.231086,33.618862],[107.251156,33.621097],[107.265142,33.620685],[107.278317,33.618226],[107.291493,33.617848],[107.309833,33.613944],[107.325772,33.612379],[107.335961,33.612723],[107.343358,33.610574],[107.347015,33.601115],[107.345675,33.589677],[107.346987,33.586908],[107.35458,33.581076],[107.377917,33.566332],[107.388887,33.565954],[107.394638,33.564267],[107.409153,33.563373],[107.417472,33.554305],[107.426014,33.543394],[107.42646,33.537887],[107.422189,33.530623],[107.417165,33.526096],[107.407785,33.524409],[107.405301,33.522378],[107.399271,33.522929],[107.392907,33.521173],[107.381099,33.520192],[107.360945,33.514941],[107.356171,33.510878],[107.353324,33.505179],[107.352822,33.494624],[107.35405,33.473286],[107.350365,33.46736],[107.344475,33.461469],[107.343582,33.457817],[107.333756,33.447601],[107.329485,33.440778],[107.326275,33.430956],[107.326805,33.415117],[107.33049,33.406809],[107.34093,33.39407],[107.342716,33.386932],[107.342381,33.375552],[107.340065,33.36931],[107.341907,33.365378],[107.340372,33.356531],[107.347657,33.349321],[107.348634,33.346492],[107.355501,33.341248],[107.362201,33.330518],[107.357065,33.321839],[107.352654,33.317198],[107.357567,33.308536],[107.353519,33.297559],[107.343973,33.286444],[107.344363,33.277951],[107.349835,33.264122],[107.350477,33.242313],[107.349583,33.237961],[107.351761,33.224402],[107.355585,33.217165],[107.359744,33.220015],[107.364322,33.218858],[107.365523,33.207473],[107.364267,33.196329],[107.370603,33.191991],[107.36756,33.178028],[107.373785,33.170268],[107.37105,33.159447],[107.375153,33.158583],[107.388859,33.15217],[107.404324,33.148954],[107.408651,33.147087],[107.400835,33.140724],[107.407339,33.137595],[107.412363,33.129278],[107.406976,33.125629],[107.406557,33.122534],[107.412559,33.120579],[107.40826,33.114561],[107.415881,33.115996],[107.419956,33.119421],[107.422273,33.114803],[107.428303,33.114215],[107.435477,33.108888],[107.430648,33.105774],[107.430955,33.100672],[107.423641,33.095673],[107.429391,33.084289],[107.437961,33.08185],[107.43503,33.073129],[107.434472,33.065602],[107.439469,33.057243],[107.443572,33.052951],[107.449546,33.053332],[107.456217,33.050234],[107.461884,33.050788],[107.464508,33.05579],[107.47171,33.057572],[107.472827,33.060012],[107.481285,33.060064],[107.485025,33.058126],[107.486533,33.051671],[107.500657,33.033652],[107.504928,33.036196],[107.526116,33.036248],[107.531056,33.038239],[107.541162,33.039433],[107.562181,33.043415],[107.56849,33.04582],[107.584597,33.047603],[107.593362,33.050217],[107.600843,33.055599],[107.608157,33.063975],[107.61173,33.065516],[107.624319,33.067159],[107.628758,33.069842],[107.634396,33.077784],[107.642129,33.081573],[107.646232,33.081746],[107.66058,33.076244],[107.664935,33.075725],[107.675208,33.070291],[107.692961,33.069565],[107.722383,33.078078],[107.733242,33.086158],[107.749572,33.095967],[107.758226,33.104079],[107.764841,33.117501],[107.772071,33.12243],[107.785135,33.122637],[107.7994,33.126044],[107.808221,33.130454],[107.81051,33.134534],[107.820336,33.146516],[107.821815,33.150838],[107.837699,33.164512],[107.847608,33.168678],[107.859109,33.171426],[107.874909,33.170424],[107.908937,33.162386],[107.91131,33.164236],[107.918037,33.163803],[107.920438,33.167693],[107.928086,33.172135],[107.937661,33.17433],[107.945338,33.172826],[107.959602,33.164668],[107.962338,33.160709],[107.969065,33.159154],[107.973364,33.163959],[107.970796,33.175246],[107.974034,33.179186],[107.981906,33.172221],[107.987321,33.174796],[107.991452,33.180206],[107.994551,33.180949],[108.001334,33.17592],[108.00929,33.177043],[108.00661,33.179808],[108.010183,33.196121],[108.016185,33.192527],[108.024057,33.191058],[108.020791,33.186393],[108.023275,33.179705],[108.026178,33.178633],[108.030533,33.182815],[108.029137,33.186047],[108.033548,33.193771],[108.041001,33.196052],[108.043681,33.209028],[108.048063,33.210203],[108.04463,33.215973],[108.040415,33.219341],[108.044155,33.221846],[108.0465,33.228393],[108.04932,33.229723],[108.048594,33.237944],[108.03874,33.243747],[108.033659,33.242779],[108.029919,33.247442],[108.032738,33.252554],[108.0216,33.258597],[108.018865,33.265435],[108.012668,33.270286],[108.005996,33.270321],[108.003065,33.26174],[107.990922,33.258839],[107.986735,33.261999],[107.977467,33.255973],[107.977746,33.262948],[107.974397,33.265607],[107.975932,33.273083],[107.970768,33.282905],[107.976434,33.289275],[107.976295,33.305878],[107.974313,33.313298],[107.97381,33.325239],[107.968451,33.330156],[107.95896,33.333986],[107.949273,33.340576],[107.946622,33.344284],[107.94637,33.354616],[107.942881,33.367741],[107.929203,33.389105],[107.926635,33.395794],[107.923955,33.408464],[107.909551,33.422942],[107.896654,33.429835],[107.890206,33.430766],[107.875886,33.438624],[107.871978,33.437934],[107.866869,33.432506],[107.863268,33.431421],[107.857434,33.436332],[107.846045,33.430732],[107.837531,33.432903],[107.83326,33.437176],[107.835773,33.442776],[107.829492,33.448617],[107.824132,33.450082],[107.796832,33.451529],[107.761687,33.457903],[107.745692,33.464156],[107.732768,33.473079],[107.728022,33.481191],[107.726626,33.491989],[107.727603,33.49793],[107.726403,33.505299],[107.726738,33.540399],[107.728832,33.559174],[107.730479,33.582074],[107.733158,33.590296],[107.732712,33.594648],[107.736704,33.611571],[107.735392,33.625121],[107.7326,33.633872],[107.726208,33.642004],[107.709319,33.648691],[107.69285,33.650788],[107.683554,33.653211],[107.676631,33.662492],[107.675738,33.671446],[107.676268,33.681292],[107.67504,33.699212],[107.673756,33.699487],[107.670518,33.701462],[107.664935,33.698112],[107.659436,33.697958],[107.650671,33.700603],[107.640342,33.706496],[107.63635,33.711838],[107.628702,33.714466],[107.613265,33.712868],[107.597382,33.702802],[107.58683,33.6977],[107.582168,33.697322],[107.562544,33.702699],[107.553974,33.699865],[107.544735,33.690399],[107.530024,33.681945],[107.525641,33.682031],[107.517071,33.678285],[107.501272,33.68088],[107.492478,33.679883],[107.47612,33.670088],[107.467718,33.660602],[107.455547,33.655772],[107.438464,33.651681],[107.423613,33.649412],[107.406027,33.648742],[107.400332,33.651355],[107.389892,33.665483],[107.386124,33.668971],[107.376493,33.682856],[107.363373,33.686928],[107.351537,33.686602],[107.336156,33.689076],[107.321976,33.695673],[107.311982,33.705877],[107.308912,33.705121]]]]}},{"type":"Feature","properties":{"adcode":610724,"name":"西乡县","center":[107.765858,32.987961],"centroid":[107.746461,32.887127],"childrenNum":0,"level":"district","parent":{"adcode":610700},"subFeatureIndex":4,"acroutes":[100000,610000,610700]},"geometry":{"type":"MultiPolygon","coordinates":[[[[108.04932,33.229723],[108.0465,33.228393],[108.044155,33.221846],[108.040415,33.219341],[108.04463,33.215973],[108.048063,33.210203],[108.043681,33.209028],[108.041001,33.196052],[108.033548,33.193771],[108.029137,33.186047],[108.030533,33.182815],[108.026178,33.178633],[108.023275,33.179705],[108.020791,33.186393],[108.024057,33.191058],[108.016185,33.192527],[108.010183,33.196121],[108.00661,33.179808],[108.00929,33.177043],[108.001334,33.17592],[107.994551,33.180949],[107.991452,33.180206],[107.987321,33.174796],[107.981906,33.172221],[107.974034,33.179186],[107.970796,33.175246],[107.973364,33.163959],[107.969065,33.159154],[107.962338,33.160709],[107.959602,33.164668],[107.945338,33.172826],[107.937661,33.17433],[107.928086,33.172135],[107.920438,33.167693],[107.918037,33.163803],[107.91131,33.164236],[107.908937,33.162386],[107.874909,33.170424],[107.859109,33.171426],[107.847608,33.168678],[107.837699,33.164512],[107.821815,33.150838],[107.820336,33.146516],[107.81051,33.134534],[107.808221,33.130454],[107.7994,33.126044],[107.785135,33.122637],[107.772071,33.12243],[107.764841,33.117501],[107.758226,33.104079],[107.749572,33.095967],[107.733242,33.086158],[107.722383,33.078078],[107.692961,33.069565],[107.675208,33.070291],[107.664935,33.075725],[107.66058,33.076244],[107.646232,33.081746],[107.642129,33.081573],[107.634396,33.077784],[107.628758,33.069842],[107.624319,33.067159],[107.61173,33.065516],[107.608157,33.063975],[107.600843,33.055599],[107.593362,33.050217],[107.584597,33.047603],[107.56849,33.04582],[107.562181,33.043415],[107.541162,33.039433],[107.531056,33.038239],[107.526116,33.036248],[107.504928,33.036196],[107.500657,33.033652],[107.498257,33.028856],[107.490301,33.025325],[107.474529,33.01253],[107.470314,33.006417],[107.473636,32.995802],[107.472073,32.986415],[107.461214,32.973545],[107.461047,32.966425],[107.457027,32.956168],[107.453175,32.953483],[107.436789,32.949393],[107.433718,32.946465],[107.427214,32.935322],[107.420849,32.93014],[107.409991,32.93144],[107.40625,32.93449],[107.402593,32.956324],[107.396648,32.961591],[107.392712,32.969872],[107.392488,32.973822],[107.382662,32.974827],[107.379927,32.969785],[107.37373,32.965403],[107.370101,32.966355],[107.36248,32.961349],[107.360582,32.95842],[107.359716,32.950416],[107.351063,32.948492],[107.349304,32.944282],[107.341153,32.939239],[107.331969,32.931319],[107.327196,32.92449],[107.322562,32.911022],[107.329485,32.901088],[107.335096,32.895506],[107.346736,32.891015],[107.353966,32.883819],[107.356255,32.874836],[107.359884,32.852774],[107.37024,32.838878],[107.385203,32.824009],[107.394163,32.810577],[107.392879,32.799574],[107.385482,32.784993],[107.385677,32.780636],[107.397597,32.764194],[107.387799,32.753618],[107.382579,32.751378],[107.354552,32.750736],[107.342716,32.748929],[107.328759,32.753983],[107.323009,32.757074],[107.317872,32.75697],[107.315109,32.753584],[107.316393,32.748947],[107.31416,32.744935],[107.305841,32.73896],[107.304976,32.733003],[107.308354,32.728782],[107.305171,32.725898],[107.292414,32.72119],[107.282225,32.714432],[107.278289,32.708282],[107.274856,32.69916],[107.26958,32.693495],[107.26757,32.6871],[107.268854,32.683415],[107.288981,32.67031],[107.294061,32.664974],[107.301403,32.651118],[107.309191,32.646215],[107.326247,32.641191],[107.340372,32.640095],[107.347936,32.637035],[107.355948,32.630288],[107.358293,32.624984],[107.359354,32.609609],[107.358516,32.595623],[107.356981,32.586698],[107.359186,32.574292],[107.364546,32.557482],[107.377917,32.538927],[107.38202,32.54025],[107.395587,32.540285],[107.406138,32.539206],[107.416634,32.535393],[107.422329,32.53508],[107.434695,32.530293],[107.432741,32.536612],[107.437263,32.542792],[107.446308,32.542826],[107.45083,32.545298],[107.456608,32.545159],[107.460181,32.548588],[107.466043,32.547665],[107.471487,32.552922],[107.475199,32.559153],[107.485416,32.555324],[107.491083,32.558839],[107.496303,32.558456],[107.497922,32.561224],[107.493902,32.570099],[107.489547,32.576241],[107.49781,32.581635],[107.49647,32.589726],[107.493483,32.593727],[107.490692,32.60693],[107.501467,32.610339],[107.505096,32.613766],[107.51012,32.60773],[107.51936,32.606356],[107.520979,32.614653],[107.528907,32.629975],[107.540659,32.636791],[107.550038,32.634253],[107.554281,32.647519],[107.566592,32.664504],[107.577283,32.669372],[107.594227,32.675038],[107.606566,32.680339],[107.622421,32.685136],[107.631745,32.689585],[107.634061,32.695511],[107.633447,32.703556],[107.635569,32.712695],[107.642268,32.71994],[107.651145,32.727132],[107.659687,32.732065],[107.664712,32.736807],[107.669011,32.745908],[107.672081,32.760547],[107.67236,32.772476],[107.674984,32.779542],[107.6828,32.788378],[107.694692,32.795981],[107.70502,32.805475],[107.720485,32.810456],[107.721741,32.820278],[107.727436,32.824165],[107.747981,32.813146],[107.747786,32.809901],[107.756383,32.797942],[107.757695,32.788499],[107.753145,32.77758],[107.755741,32.765374],[107.761213,32.757751],[107.770899,32.758133],[107.783153,32.76204],[107.800181,32.768899],[107.814055,32.770618],[107.821871,32.770253],[107.830776,32.765687],[107.840769,32.765808],[107.850651,32.771156],[107.857881,32.772198],[107.863436,32.769837],[107.862654,32.764628],[107.874267,32.763881],[107.892104,32.757473],[107.895063,32.75407],[107.899474,32.755372],[107.904778,32.76171],[107.909914,32.763707],[107.913208,32.770965],[107.919405,32.777111],[107.930599,32.780774],[107.933669,32.801917],[107.936712,32.803687],[107.951897,32.80183],[107.956196,32.808634],[107.962645,32.825727],[107.965436,32.828659],[107.974843,32.833778],[107.995388,32.836883],[108.004405,32.841672],[108.010379,32.837803],[108.016269,32.828347],[108.017664,32.818317],[108.017329,32.805232],[108.017971,32.779333],[108.025201,32.758099],[108.030645,32.739065],[108.037735,32.729737],[108.04865,32.71987],[108.056019,32.710332],[108.064449,32.695997],[108.073103,32.687187],[108.081645,32.680669],[108.085581,32.673717],[108.087758,32.663722],[108.09094,32.65536],[108.096774,32.648493],[108.102329,32.64665],[108.112072,32.647033],[108.118129,32.649919],[108.1212,32.646772],[108.137669,32.655656],[108.143029,32.655795],[108.146546,32.668763],[108.151068,32.671562],[108.158075,32.665739],[108.180016,32.665321],[108.185627,32.658577],[108.186269,32.662245],[108.192577,32.668659],[108.189144,32.678445],[108.184203,32.682616],[108.184454,32.687187],[108.190316,32.688142],[108.19509,32.694034],[108.206758,32.691166],[108.214686,32.696623],[108.218343,32.697127],[108.228587,32.693999],[108.22909,32.697857],[108.235594,32.701645],[108.239306,32.706857],[108.240591,32.716135],[108.234756,32.72298],[108.230988,32.729755],[108.223311,32.732864],[108.220492,32.740107],[108.204999,32.752785],[108.203743,32.760026],[108.189283,32.766763],[108.182947,32.763325],[108.1746,32.763239],[108.167733,32.767232],[108.153274,32.766347],[108.150566,32.767805],[108.153636,32.776538],[108.149896,32.782024],[108.144034,32.781122],[108.135408,32.774073],[108.129323,32.773448],[108.128932,32.777024],[108.134013,32.782354],[108.137474,32.78869],[108.127062,32.786538],[108.121758,32.793481],[108.126503,32.793742],[108.1212,32.799956],[108.127927,32.802438],[108.130216,32.807835],[108.127257,32.811879],[108.123265,32.812365],[108.112797,32.819532],[108.107522,32.831245],[108.102636,32.850328],[108.091471,32.864777],[108.084073,32.870223],[108.078211,32.877541],[108.076676,32.890096],[108.078434,32.902336],[108.086446,32.910242],[108.095462,32.914957],[108.116566,32.932307],[108.125471,32.9439],[108.128541,32.962145],[108.125806,32.977165],[108.126811,32.988216],[108.130188,32.995923],[108.134794,33.001378],[108.137921,33.008841],[108.132226,33.023074],[108.11838,33.036993],[108.114444,33.048538],[108.110201,33.055582],[108.105177,33.059424],[108.0951,33.072074],[108.090075,33.093441],[108.09429,33.105999],[108.100627,33.114976],[108.104479,33.134171],[108.102609,33.143041],[108.102329,33.152896],[108.104367,33.16491],[108.097361,33.177475],[108.096188,33.184302],[108.098031,33.190575],[108.107549,33.196],[108.11143,33.200285],[108.107298,33.210911],[108.099231,33.210272],[108.096272,33.214815],[108.094904,33.211913],[108.084101,33.209909],[108.078295,33.205762],[108.07849,33.202065],[108.075085,33.198091],[108.070563,33.203741],[108.077792,33.210842],[108.077485,33.212362],[108.054288,33.223919],[108.046584,33.226648],[108.04932,33.229723]]]]}},{"type":"Feature","properties":{"adcode":610725,"name":"勉县","center":[106.680175,33.155618],"centroid":[106.658007,33.238796],"childrenNum":0,"level":"district","parent":{"adcode":610700},"subFeatureIndex":5,"acroutes":[100000,610000,610700]},"geometry":{"type":"MultiPolygon","coordinates":[[[[106.522361,32.888865],[106.534923,32.897101],[106.540115,32.902111],[106.554296,32.905873],[106.580479,32.916863],[106.588686,32.918857],[106.604737,32.918944],[106.614535,32.917505],[106.62866,32.912114],[106.640608,32.906081],[106.648982,32.899146],[106.663358,32.893546],[106.669081,32.893043],[106.690184,32.895904],[106.690435,32.901487],[106.696381,32.905665],[106.713046,32.907052],[106.718322,32.903203],[106.72156,32.909566],[106.727785,32.915407],[106.728734,32.921717],[106.717847,32.923901],[106.723933,32.928251],[106.725915,32.934334],[106.730521,32.932168],[106.73789,32.931735],[106.734345,32.93605],[106.739425,32.944316],[106.739593,32.95026],[106.735154,32.954383],[106.724714,32.951975],[106.717345,32.957173],[106.716591,32.965143],[106.729962,32.979642],[106.725217,32.985029],[106.720834,32.984457],[106.719941,32.993394],[106.715223,32.99833],[106.725049,33.00098],[106.731526,33.006036],[106.72999,33.010036],[106.740347,33.021654],[106.752434,33.030137],[106.749307,33.032388],[106.75891,33.035417],[106.754276,33.04293],[106.741798,33.044176],[106.74392,33.048469],[106.753829,33.054128],[106.761478,33.056119],[106.768931,33.06292],[106.774347,33.080068],[106.782833,33.08204],[106.794808,33.081002],[106.800056,33.086452],[106.807202,33.091192],[106.817335,33.094064],[106.827217,33.099911],[106.835424,33.10164],[106.843268,33.097662],[106.853094,33.09915],[106.866856,33.109995],[106.894798,33.117708],[106.912077,33.120597],[106.914227,33.126494],[106.919726,33.122897],[106.925309,33.114111],[106.933739,33.107815],[106.940495,33.106207],[106.93734,33.108161],[106.933488,33.118608],[106.923299,33.119818],[106.932511,33.133359],[106.931534,33.139652],[106.932539,33.149421],[106.93815,33.153397],[106.938178,33.160001],[106.934493,33.160796],[106.946943,33.175747],[106.956685,33.182936],[106.957913,33.190073],[106.964166,33.205158],[106.965869,33.212828],[106.965366,33.220274],[106.96277,33.228306],[106.954005,33.233885],[106.944654,33.234231],[106.937284,33.236545],[106.926258,33.244541],[106.918693,33.25169],[106.912831,33.25188],[106.906774,33.248582],[106.896808,33.255403],[106.885642,33.251431],[106.877714,33.257509],[106.869005,33.260825],[106.864985,33.264537],[106.861803,33.272599],[106.863031,33.281524],[106.869508,33.294315],[106.872271,33.29749],[106.864343,33.333813],[106.864706,33.341386],[106.863171,33.34782],[106.866856,33.353133],[106.867581,33.358221],[106.877547,33.367292],[106.873388,33.369689],[106.870903,33.375415],[106.865348,33.380381],[106.862585,33.386174],[106.856639,33.388001],[106.843994,33.402414],[106.832744,33.417461],[106.817,33.42682],[106.815465,33.433489],[106.821801,33.438675],[106.83333,33.441294],[106.838355,33.448118],[106.837852,33.451563],[106.833274,33.456215],[106.822946,33.460918],[106.814572,33.468118],[106.81259,33.482603],[106.809379,33.489509],[106.802903,33.495089],[106.797181,33.497224],[106.792575,33.501391],[106.788723,33.519796],[106.778478,33.532499],[106.769154,33.532138],[106.760306,33.527645],[106.745595,33.514476],[106.710171,33.497086],[106.692808,33.49068],[106.675417,33.481846],[106.6707,33.480916],[106.664223,33.484463],[106.658557,33.491868],[106.656742,33.496793],[106.650434,33.504886],[106.651773,33.506952],[106.664,33.514252],[106.664084,33.520346],[106.667769,33.529952],[106.672123,33.548505],[106.671342,33.552635],[106.675836,33.560861],[106.677957,33.575296],[106.678069,33.584241],[106.680944,33.595233],[106.680498,33.603488],[106.677567,33.610608],[106.67109,33.620977],[106.663163,33.626531],[106.647363,33.634818],[106.629833,33.619567],[106.623105,33.607461],[106.622212,33.600599],[106.617913,33.59193],[106.612805,33.593272],[106.602365,33.586598],[106.600299,33.581248],[106.596754,33.579407],[106.589356,33.58044],[106.583857,33.584396],[106.581457,33.590657],[106.575232,33.583674],[106.580982,33.579511],[106.580591,33.575932],[106.573808,33.575537],[106.559795,33.570857],[106.557785,33.56308],[106.563033,33.543084],[106.558259,33.530744],[106.554798,33.52632],[106.550695,33.525407],[106.543074,33.517351],[106.541148,33.513099],[106.53403,33.516198],[106.528977,33.515802],[106.521775,33.518091],[106.514713,33.513202],[106.509995,33.516938],[106.50899,33.523359],[106.502737,33.52823],[106.494251,33.530468],[106.486798,33.524805],[106.477447,33.5194],[106.480992,33.510912],[106.484062,33.490009],[106.486491,33.486547],[106.48825,33.472769],[106.487663,33.468876],[106.490957,33.442707],[106.493832,33.430973],[106.502458,33.420564],[106.507818,33.409964],[106.508878,33.405361],[106.508209,33.394363],[106.509158,33.380363],[106.514266,33.37457],[106.518788,33.36236],[106.514768,33.343836],[106.504552,33.330863],[106.50123,33.324238],[106.489645,33.311521],[106.484649,33.303082],[106.483755,33.297352],[106.478005,33.291674],[106.47245,33.281628],[106.466923,33.275949],[106.467118,33.268836],[106.464857,33.259685],[106.464745,33.248668],[106.46709,33.23936],[106.478452,33.23012],[106.483476,33.224592],[106.493107,33.219652],[106.48624,33.219255],[106.478926,33.214867],[106.475828,33.217199],[106.466197,33.21269],[106.468346,33.204449],[106.472924,33.202082],[106.457851,33.202912],[106.452044,33.205866],[106.452407,33.200303],[106.455924,33.191525],[106.461842,33.190575],[106.457432,33.179031],[106.451151,33.173362],[106.45143,33.16828],[106.446992,33.157529],[106.437947,33.153241],[106.419942,33.153605],[106.411763,33.155506],[106.399202,33.152377],[106.38463,33.145565],[106.373604,33.13507],[106.373297,33.130263],[106.368328,33.122482],[106.366598,33.113073],[106.371957,33.10273],[106.378768,33.097662],[106.377066,33.090777],[106.366905,33.086019],[106.370171,33.083926],[106.371315,33.078614],[106.364476,33.079358],[106.359061,33.075344],[106.360038,33.072368],[106.364951,33.072022],[106.367407,33.067229],[106.359005,33.069167],[106.361908,33.07043],[106.354036,33.0755],[106.35585,33.080102],[106.347811,33.073666],[106.354008,33.064616],[106.356995,33.067506],[106.361433,33.066813],[106.360959,33.061726],[106.373437,33.052259],[106.387199,33.046876],[106.400905,33.053194],[106.404645,33.050476],[106.41824,33.05219],[106.418882,33.055738],[106.426893,33.057001],[106.427507,33.062608],[106.434151,33.066],[106.439343,33.064079],[106.444563,33.056084],[106.449504,33.054457],[106.450202,33.045249],[106.456092,33.037287],[106.46508,33.032319],[106.467118,33.02574],[106.469379,33.026433],[106.469686,33.020754],[106.473511,33.022087],[106.476023,33.014694],[106.486603,33.018572],[106.502458,33.018365],[106.506227,33.013828],[106.52091,33.015283],[106.530931,33.011041],[106.536849,33.006625],[106.544693,33.003577],[106.580647,32.999508],[106.583746,32.994156],[106.582741,32.990329],[106.571491,32.984873],[106.562363,32.983037],[106.554184,32.9781],[106.553737,32.970825],[106.547736,32.966477],[106.551783,32.961868],[106.539864,32.957745],[106.523757,32.948267],[106.519877,32.942566],[106.519737,32.927662],[106.520742,32.920764],[106.518956,32.905422],[106.522361,32.888865]]]]}},{"type":"Feature","properties":{"adcode":610726,"name":"宁强县","center":[106.25739,32.830806],"centroid":[106.137049,32.906732],"childrenNum":0,"level":"district","parent":{"adcode":610700},"subFeatureIndex":6,"acroutes":[100000,610000,610700]},"geometry":{"type":"MultiPolygon","coordinates":[[[[106.373604,33.13507],[106.371231,33.140932],[106.36389,33.145531],[106.358474,33.153138],[106.353841,33.15637],[106.346276,33.166949],[106.34086,33.172014],[106.335389,33.17433],[106.323972,33.181951],[106.310322,33.188432],[106.287153,33.196778],[106.278415,33.201391],[106.260438,33.20768],[106.245699,33.211187],[106.233138,33.209425],[106.222167,33.203067],[106.212593,33.199456],[106.203855,33.193996],[106.189926,33.190868],[106.17929,33.190488],[106.159359,33.18717],[106.148975,33.182193],[106.145402,33.176006],[106.134432,33.163233],[106.126197,33.155005],[106.094737,33.143906],[106.083264,33.138892],[106.079942,33.135918],[106.067353,33.128603],[106.045663,33.118885],[106.054652,33.11482],[106.05842,33.107988],[106.046891,33.107608],[106.040694,33.110375],[106.035614,33.108715],[106.032069,33.111932],[106.019088,33.110272],[106.01197,33.111067],[106.003317,33.108801],[105.999883,33.113402],[105.998124,33.120562],[105.991341,33.126615],[105.987126,33.139376],[105.990504,33.148159],[105.971633,33.152049],[105.967251,33.151098],[105.962561,33.146067],[105.95709,33.1456],[105.954215,33.149853],[105.946203,33.154452],[105.939504,33.153397],[105.933279,33.154815],[105.928059,33.151236],[105.919908,33.157736],[105.92764,33.164806],[105.924597,33.167572],[105.914604,33.160139],[105.906285,33.156906],[105.898609,33.149594],[105.896404,33.142713],[105.89967,33.138114],[105.904555,33.137647],[105.911394,33.140379],[105.914967,33.143819],[105.923453,33.147709],[105.931632,33.142177],[105.923955,33.137612],[105.920131,33.132114],[105.924793,33.12134],[105.933781,33.12224],[105.937996,33.120078],[105.936824,33.113592],[105.927724,33.112364],[105.918679,33.105411],[105.91921,33.090621],[105.92764,33.080275],[105.933307,33.076988],[105.930236,33.071935],[105.926356,33.069703],[105.918819,33.069478],[105.915106,33.06626],[105.913292,33.053159],[105.92189,33.043951],[105.928059,33.041511],[105.927975,33.03334],[105.930264,33.026692],[105.923509,33.020165],[105.92295,33.005967],[105.917451,32.993827],[105.904862,32.983297],[105.895566,32.972315],[105.87918,32.956532],[105.87262,32.947158],[105.861706,32.938944],[105.85763,32.939412],[105.835633,32.949809],[105.826952,32.950762],[105.810622,32.940261],[105.785582,32.926795],[105.764591,32.919498],[105.745246,32.908976],[105.73542,32.905318],[105.72096,32.903931],[105.713339,32.904625],[105.699438,32.903463],[105.656561,32.895367],[105.644558,32.882744],[105.638277,32.879293],[105.6282,32.879276],[105.60584,32.875825],[105.590599,32.876744],[105.579712,32.886611],[105.576976,32.893789],[105.565559,32.906844],[105.550346,32.909618],[105.541329,32.906827],[105.534155,32.909462],[105.527847,32.918857],[105.524776,32.920244],[105.514001,32.919082],[105.499067,32.911889],[105.498564,32.908959],[105.493484,32.905474],[105.493623,32.893928],[105.491948,32.885536],[105.495521,32.873206],[105.507274,32.861534],[105.513917,32.860718],[105.519389,32.850155],[105.524525,32.847691],[105.525027,32.834142],[105.527623,32.830967],[105.532592,32.819411],[105.529494,32.812695],[105.528237,32.805406],[105.532843,32.7927],[105.535858,32.789871],[105.545712,32.794349],[105.552272,32.795078],[105.556292,32.792041],[105.554701,32.774004],[105.557297,32.769437],[105.565811,32.766659],[105.5681,32.758741],[105.557827,32.752941],[105.555287,32.746776],[105.556292,32.732065],[105.563801,32.724925],[105.569719,32.724491],[105.581052,32.726471],[105.585211,32.729094],[105.590906,32.716326],[105.596349,32.699264],[105.62538,32.702062],[105.631047,32.708456],[105.641124,32.708873],[105.644893,32.711531],[105.649275,32.718724],[105.658571,32.720617],[105.669262,32.727479],[105.678027,32.726558],[105.68174,32.733889],[105.686318,32.736928],[105.689137,32.742573],[105.700108,32.742556],[105.710995,32.755668],[105.719201,32.759714],[105.73595,32.753879],[105.742064,32.762353],[105.750661,32.767927],[105.758003,32.763968],[105.763307,32.767388],[105.768806,32.767527],[105.774165,32.762283],[105.779609,32.750249],[105.784103,32.751396],[105.803085,32.761346],[105.811403,32.772285],[105.817684,32.773014],[105.822513,32.770149],[105.819471,32.786816],[105.816958,32.790374],[105.821313,32.798428],[105.826142,32.80393],[105.822374,32.807853],[105.821453,32.813302],[105.823658,32.816721],[105.825026,32.82472],[105.831167,32.826091],[105.838927,32.821198],[105.850763,32.818109],[105.854476,32.819896],[105.85777,32.827427],[105.873486,32.831071],[105.876333,32.833552],[105.886885,32.835148],[105.891714,32.838237],[105.900591,32.833969],[105.918205,32.831123],[105.927193,32.825952],[105.931381,32.826161],[105.940955,32.829804],[105.956029,32.838722],[105.959016,32.844534],[105.965464,32.848836],[105.969289,32.84901],[105.979617,32.841568],[105.983972,32.841516],[105.995221,32.828017],[106.003763,32.830013],[106.011551,32.829718],[106.013589,32.838688],[106.021238,32.843354],[106.023024,32.851924],[106.021684,32.857562],[106.026011,32.858273],[106.034693,32.85215],[106.036535,32.857336],[106.042146,32.859244],[106.040443,32.863858],[106.044379,32.864604],[106.048901,32.857163],[106.04664,32.852254],[106.049878,32.846963],[106.05641,32.842834],[106.061156,32.835912],[106.07087,32.829041],[106.069949,32.824044],[106.082901,32.824252],[106.086949,32.826004],[106.093648,32.823783],[106.091611,32.816322],[106.094765,32.811098],[106.092923,32.802767],[106.094709,32.795998],[106.09242,32.792943],[106.086363,32.793568],[106.082734,32.791398],[106.080696,32.786382],[106.077207,32.784733],[106.06551,32.7835],[106.062049,32.77607],[106.062021,32.767336],[106.071177,32.767909],[106.072684,32.763881],[106.076732,32.763759],[106.087563,32.77284],[106.088065,32.765583],[106.082231,32.760617],[106.076481,32.759054],[106.07168,32.758168],[106.080808,32.750683],[106.08332,32.747036],[106.090215,32.744727],[106.093927,32.738248],[106.10473,32.735365],[106.109113,32.731995],[106.1109,32.722997],[106.119972,32.719644],[106.134934,32.722302],[106.138479,32.720287],[106.145402,32.720409],[106.148808,32.712017],[106.153693,32.705797],[106.169297,32.709985],[106.17354,32.706823],[106.174322,32.697631],[106.18211,32.695059],[106.193415,32.697214],[106.20754,32.695198],[106.211001,32.698413],[106.218175,32.693669],[106.232189,32.693252],[106.239837,32.695337],[106.243997,32.691983],[106.256419,32.693252],[106.257088,32.689689],[106.262727,32.684858],[106.265714,32.675699],[106.270906,32.671805],[106.278834,32.67071],[106.292512,32.673265],[106.300887,32.679853],[106.305548,32.679661],[106.324391,32.673109],[106.33779,32.673509],[106.347727,32.671162],[106.351161,32.671857],[106.35398,32.66819],[106.367212,32.660054],[106.374749,32.652318],[106.383263,32.646546],[106.382593,32.63747],[106.387226,32.635331],[106.389041,32.626705],[106.394624,32.62154],[106.402384,32.617418],[106.408442,32.619436],[106.420529,32.616653],[106.426893,32.620079],[106.450984,32.640217],[106.450062,32.645659],[106.451681,32.660106],[106.455785,32.659967],[106.46201,32.653135],[106.467034,32.651344],[106.485179,32.649397],[106.498103,32.649362],[106.503184,32.661428],[106.513373,32.664087],[106.517281,32.668016],[106.533304,32.671614],[106.533778,32.680687],[106.527023,32.697092],[106.522696,32.704216],[106.529787,32.71207],[106.529731,32.719123],[106.53643,32.723397],[106.538552,32.730102],[106.544888,32.732516],[106.55075,32.738439],[106.553877,32.739134],[106.555189,32.751656],[106.547038,32.75183],[106.544581,32.759019],[106.536263,32.763447],[106.532857,32.76692],[106.530317,32.782302],[106.524622,32.789263],[106.519793,32.792145],[106.516499,32.802767],[106.510163,32.815523],[106.507706,32.827549],[106.508488,32.831036],[106.517309,32.83435],[106.521552,32.839572],[106.516164,32.844499],[106.51943,32.849999],[106.520184,32.855567],[106.508711,32.86332],[106.509604,32.869026],[106.50765,32.877992],[106.509186,32.881287],[106.522361,32.888865],[106.518956,32.905422],[106.520742,32.920764],[106.519737,32.927662],[106.519877,32.942566],[106.523757,32.948267],[106.539864,32.957745],[106.551783,32.961868],[106.547736,32.966477],[106.553737,32.970825],[106.554184,32.9781],[106.562363,32.983037],[106.571491,32.984873],[106.582741,32.990329],[106.583746,32.994156],[106.580647,32.999508],[106.544693,33.003577],[106.536849,33.006625],[106.530931,33.011041],[106.52091,33.015283],[106.506227,33.013828],[106.502458,33.018365],[106.486603,33.018572],[106.476023,33.014694],[106.473511,33.022087],[106.469686,33.020754],[106.469379,33.026433],[106.467118,33.02574],[106.46508,33.032319],[106.456092,33.037287],[106.450202,33.045249],[106.449504,33.054457],[106.444563,33.056084],[106.439343,33.064079],[106.434151,33.066],[106.427507,33.062608],[106.426893,33.057001],[106.418882,33.055738],[106.41824,33.05219],[106.404645,33.050476],[106.400905,33.053194],[106.387199,33.046876],[106.373437,33.052259],[106.360959,33.061726],[106.361433,33.066813],[106.356995,33.067506],[106.354008,33.064616],[106.347811,33.073666],[106.35585,33.080102],[106.354036,33.0755],[106.361908,33.07043],[106.359005,33.069167],[106.367407,33.067229],[106.364951,33.072022],[106.360038,33.072368],[106.359061,33.075344],[106.364476,33.079358],[106.371315,33.078614],[106.370171,33.083926],[106.366905,33.086019],[106.377066,33.090777],[106.378768,33.097662],[106.371957,33.10273],[106.366598,33.113073],[106.368328,33.122482],[106.373297,33.130263],[106.373604,33.13507]]],[[[106.076732,32.763759],[106.072684,32.763881],[106.07168,32.758168],[106.076481,32.759054],[106.076732,32.763759]]]]}},{"type":"Feature","properties":{"adcode":610727,"name":"略阳县","center":[106.153899,33.329638],"centroid":[106.156482,33.377184],"childrenNum":0,"level":"district","parent":{"adcode":610700},"subFeatureIndex":7,"acroutes":[100000,610000,610700]},"geometry":{"type":"MultiPolygon","coordinates":[[[[106.477447,33.5194],[106.473371,33.520123],[106.460056,33.529642],[106.456036,33.537938],[106.455729,33.562702],[106.453133,33.575571],[106.454026,33.581988],[106.452742,33.591861],[106.446908,33.613222],[106.440376,33.617177],[106.43136,33.619086],[106.416788,33.617349],[106.406906,33.617418],[106.401128,33.615165],[106.392865,33.614752],[106.384882,33.612035],[106.371566,33.59881],[106.363806,33.593341],[106.351384,33.5872],[106.335166,33.587045],[106.325842,33.590984],[106.313001,33.602026],[106.303399,33.604365],[106.298402,33.602319],[106.287962,33.600977],[106.277494,33.596901],[106.264793,33.588473],[106.254269,33.577532],[106.237437,33.564095],[106.227276,33.560706],[106.214379,33.558727],[106.20888,33.556232],[106.199529,33.548264],[106.18719,33.546509],[106.171614,33.551654],[106.158801,33.557092],[106.152939,33.556387],[106.149533,33.561773],[106.143727,33.56487],[106.144844,33.571459],[106.141466,33.574952],[106.148249,33.58001],[106.153888,33.581265],[106.150399,33.584259],[106.147524,33.58185],[106.136023,33.581283],[106.13097,33.579683],[106.133287,33.571889],[106.108499,33.569808],[106.104563,33.573558],[106.111346,33.5872],[106.110844,33.591965],[106.121172,33.590417],[106.131305,33.597159],[106.129574,33.604451],[106.119525,33.602405],[106.114417,33.604469],[106.110565,33.60906],[106.100739,33.609559],[106.086642,33.617125],[106.079803,33.612672],[106.075699,33.611881],[106.070563,33.60679],[106.063919,33.604125],[106.057499,33.607599],[106.045775,33.609731],[106.041783,33.607564],[106.036814,33.601545],[106.029612,33.595904],[106.022075,33.596162],[106.019228,33.598707],[106.019005,33.609714],[106.014147,33.609731],[105.998934,33.604142],[105.992011,33.606223],[105.987489,33.61066],[105.979729,33.612414],[105.956197,33.61274],[105.962115,33.606481],[105.960858,33.599068],[105.953991,33.587148],[105.948743,33.584241],[105.940118,33.570547],[105.924402,33.557041],[105.919461,33.554752],[105.902712,33.556163],[105.896655,33.548832],[105.893528,33.539917],[105.884121,33.535701],[105.882614,33.525528],[105.877924,33.517713],[105.868321,33.509259],[105.855425,33.500823],[105.850763,33.499462],[105.84197,33.490095],[105.843338,33.479762],[105.841412,33.473113],[105.837001,33.468084],[105.830972,33.456422],[105.832842,33.444482],[105.836917,33.431404],[105.83795,33.410757],[105.836275,33.402276],[105.829688,33.382812],[105.827203,33.38007],[105.819275,33.37826],[105.80261,33.378777],[105.788402,33.381794],[105.779665,33.38457],[105.768722,33.383898],[105.752559,33.384157],[105.743264,33.385312],[105.732852,33.391036],[105.723528,33.390588],[105.713367,33.38645],[105.708985,33.380725],[105.728944,33.353202],[105.741003,33.339903],[105.755211,33.328896],[105.7563,33.324531],[105.753285,33.316042],[105.745888,33.310555],[105.747786,33.298854],[105.752978,33.292192],[105.758701,33.287376],[105.767438,33.282543],[105.784912,33.282042],[105.791472,33.27859],[105.790635,33.269423],[105.792812,33.262758],[105.80261,33.257233],[105.814083,33.254436],[105.828794,33.253935],[105.835605,33.251155],[105.847302,33.239187],[105.85495,33.2348],[105.862571,33.234317],[105.882223,33.237236],[105.886047,33.2386],[105.906564,33.240154],[105.921303,33.236234],[105.928142,33.228652],[105.939867,33.21808],[105.956001,33.211654],[105.962533,33.207525],[105.966888,33.200182],[105.967949,33.192147],[105.967083,33.178166],[105.967865,33.170596],[105.967251,33.151098],[105.971633,33.152049],[105.990504,33.148159],[105.987126,33.139376],[105.991341,33.126615],[105.998124,33.120562],[105.999883,33.113402],[106.003317,33.108801],[106.01197,33.111067],[106.019088,33.110272],[106.032069,33.111932],[106.035614,33.108715],[106.040694,33.110375],[106.046891,33.107608],[106.05842,33.107988],[106.054652,33.11482],[106.045663,33.118885],[106.067353,33.128603],[106.079942,33.135918],[106.083264,33.138892],[106.094737,33.143906],[106.126197,33.155005],[106.134432,33.163233],[106.145402,33.176006],[106.148975,33.182193],[106.159359,33.18717],[106.17929,33.190488],[106.189926,33.190868],[106.203855,33.193996],[106.212593,33.199456],[106.222167,33.203067],[106.233138,33.209425],[106.245699,33.211187],[106.260438,33.20768],[106.278415,33.201391],[106.287153,33.196778],[106.310322,33.188432],[106.323972,33.181951],[106.335389,33.17433],[106.34086,33.172014],[106.346276,33.166949],[106.353841,33.15637],[106.358474,33.153138],[106.36389,33.145531],[106.371231,33.140932],[106.373604,33.13507],[106.38463,33.145565],[106.399202,33.152377],[106.411763,33.155506],[106.419942,33.153605],[106.437947,33.153241],[106.446992,33.157529],[106.45143,33.16828],[106.451151,33.173362],[106.457432,33.179031],[106.461842,33.190575],[106.455924,33.191525],[106.452407,33.200303],[106.452044,33.205866],[106.457851,33.202912],[106.472924,33.202082],[106.468346,33.204449],[106.466197,33.21269],[106.475828,33.217199],[106.478926,33.214867],[106.48624,33.219255],[106.493107,33.219652],[106.483476,33.224592],[106.478452,33.23012],[106.46709,33.23936],[106.464745,33.248668],[106.464857,33.259685],[106.467118,33.268836],[106.466923,33.275949],[106.47245,33.281628],[106.478005,33.291674],[106.483755,33.297352],[106.484649,33.303082],[106.489645,33.311521],[106.50123,33.324238],[106.504552,33.330863],[106.514768,33.343836],[106.518788,33.36236],[106.514266,33.37457],[106.509158,33.380363],[106.508209,33.394363],[106.508878,33.405361],[106.507818,33.409964],[106.502458,33.420564],[106.493832,33.430973],[106.490957,33.442707],[106.487663,33.468876],[106.48825,33.472769],[106.486491,33.486547],[106.484062,33.490009],[106.480992,33.510912],[106.477447,33.5194]]],[[[105.924597,33.167572],[105.92764,33.164806],[105.919908,33.157736],[105.928059,33.151236],[105.933279,33.154815],[105.939504,33.153397],[105.946203,33.154452],[105.945561,33.162507],[105.941262,33.167122],[105.945868,33.173033],[105.943691,33.175851],[105.932693,33.174243],[105.931604,33.178322],[105.939169,33.185148],[105.945924,33.18463],[105.945533,33.188138],[105.936601,33.192873],[105.934284,33.198661],[105.927724,33.198437],[105.925072,33.189209],[105.92778,33.186323],[105.921666,33.182867],[105.916949,33.177769],[105.924597,33.167572]]]]}},{"type":"Feature","properties":{"adcode":610728,"name":"镇巴县","center":[107.89531,32.535854],"centroid":[107.877299,32.509853],"childrenNum":0,"level":"district","parent":{"adcode":610700},"subFeatureIndex":8,"acroutes":[100000,610000,610700]},"geometry":{"type":"MultiPolygon","coordinates":[[[[107.434695,32.530293],[107.43704,32.51626],[107.429252,32.50111],[107.43369,32.491026],[107.432964,32.47845],[107.438938,32.476674],[107.437263,32.47474],[107.439329,32.465298],[107.443879,32.46204],[107.444996,32.465768],[107.449992,32.465002],[107.449741,32.462214],[107.458143,32.458416],[107.46113,32.450279],[107.45979,32.44608],[107.461996,32.44134],[107.458813,32.440521],[107.455854,32.434665],[107.45069,32.43219],[107.449574,32.42623],[107.457027,32.424469],[107.455101,32.421367],[107.457194,32.417741],[107.462219,32.417323],[107.461437,32.420164],[107.467579,32.417724],[107.473887,32.419048],[107.477991,32.425062],[107.489743,32.425271],[107.494572,32.411187],[107.502891,32.395688],[107.512382,32.386342],[107.52525,32.382436],[107.533094,32.383657],[107.541022,32.388557],[107.553304,32.393369],[107.562795,32.39527],[107.566285,32.394293],[107.573403,32.396508],[107.571142,32.397676],[107.573375,32.403551],[107.577869,32.402976],[107.598219,32.411605],[107.602909,32.411309],[107.614689,32.405852],[107.6215,32.406881],[107.63635,32.406009],[107.648019,32.413697],[107.650447,32.412895],[107.659771,32.404092],[107.67063,32.397746],[107.679451,32.398303],[107.683861,32.386674],[107.690616,32.380727],[107.695278,32.374711],[107.696144,32.368189],[107.693771,32.36402],[107.694776,32.357026],[107.700498,32.344449],[107.705886,32.339704],[107.707979,32.332044],[107.716745,32.328834],[107.727659,32.329759],[107.736034,32.333929],[107.754569,32.338238],[107.756663,32.330509],[107.761687,32.324454],[107.762078,32.319691],[107.774109,32.308173],[107.780278,32.294664],[107.788709,32.279861],[107.795966,32.274816],[107.804676,32.266034],[107.812296,32.247995],[107.830636,32.227194],[107.835828,32.223036],[107.845599,32.221639],[107.844314,32.216678],[107.855424,32.212223],[107.863938,32.204081],[107.867539,32.202421],[107.879906,32.202351],[107.890513,32.214389],[107.900172,32.207942],[107.905196,32.208012],[107.913571,32.198507],[107.924737,32.197004],[107.930626,32.189263],[107.94263,32.17696],[107.952847,32.168938],[107.954242,32.163904],[107.96298,32.16018],[107.968423,32.156055],[107.976211,32.147401],[107.979365,32.146037],[107.995696,32.147174],[108.00206,32.152943],[108.00781,32.165005],[108.024336,32.177292],[108.023191,32.182046],[108.018585,32.183374],[108.020065,32.187201],[108.017385,32.192199],[108.025285,32.20291],[108.018446,32.209864],[108.018613,32.211803],[108.027099,32.216241],[108.031315,32.22073],[108.034692,32.220783],[108.04329,32.215245],[108.04918,32.217114],[108.051134,32.222076],[108.054595,32.220171],[108.060737,32.220486],[108.06604,32.229657],[108.072628,32.233395],[108.080416,32.230373],[108.089935,32.233691],[108.098533,32.2306],[108.105344,32.225115],[108.117236,32.223525],[108.123098,32.218372],[108.141661,32.218896],[108.145402,32.221901],[108.14864,32.230443],[108.156651,32.239001],[108.159834,32.247699],[108.167929,32.253042],[108.175103,32.254928],[108.180825,32.259032],[108.181244,32.265929],[108.172339,32.280717],[108.167147,32.291749],[108.159359,32.30086],[108.152352,32.305398],[108.136804,32.318103],[108.134152,32.328328],[108.126699,32.34956],[108.119301,32.360497],[108.109476,32.372043],[108.108471,32.380257],[108.112714,32.386831],[108.117012,32.387005],[108.128737,32.380815],[108.133119,32.380065],[108.135939,32.382698],[108.133343,32.395671],[108.118939,32.421018],[108.115561,32.433253],[108.121144,32.439893],[108.131863,32.441915],[108.141298,32.442281],[108.156065,32.439632],[108.167454,32.434107],[108.176415,32.428478],[108.185682,32.426997],[108.191824,32.4286],[108.192717,32.432312],[108.186129,32.438708],[108.190149,32.444354],[108.19883,32.443988],[108.209103,32.449425],[108.213123,32.454635],[108.22306,32.46096],[108.247067,32.473346],[108.258819,32.486411],[108.265016,32.492141],[108.279141,32.497052],[108.283384,32.508912],[108.277912,32.519934],[108.267612,32.52984],[108.256893,32.537448],[108.251589,32.545037],[108.250556,32.558369],[108.253403,32.563138],[108.249467,32.571247],[108.243019,32.57297],[108.239697,32.578973],[108.211699,32.600616],[108.201398,32.605504],[108.187971,32.6082],[108.182109,32.616236],[108.18437,32.619766],[108.197323,32.620706],[108.212927,32.617627],[108.231658,32.612374],[108.238944,32.608061],[108.245029,32.606234],[108.258903,32.605626],[108.265463,32.610009],[108.265993,32.615297],[108.2596,32.637748],[108.259907,32.647589],[108.255385,32.659081],[108.256139,32.664644],[108.253068,32.673665],[108.255162,32.685796],[108.245113,32.692139],[108.228587,32.693999],[108.218343,32.697127],[108.214686,32.696623],[108.206758,32.691166],[108.19509,32.694034],[108.190316,32.688142],[108.184454,32.687187],[108.184203,32.682616],[108.189144,32.678445],[108.192577,32.668659],[108.186269,32.662245],[108.185627,32.658577],[108.180016,32.665321],[108.158075,32.665739],[108.151068,32.671562],[108.146546,32.668763],[108.143029,32.655795],[108.137669,32.655656],[108.1212,32.646772],[108.118129,32.649919],[108.112072,32.647033],[108.102329,32.64665],[108.096774,32.648493],[108.09094,32.65536],[108.087758,32.663722],[108.085581,32.673717],[108.081645,32.680669],[108.073103,32.687187],[108.064449,32.695997],[108.056019,32.710332],[108.04865,32.71987],[108.037735,32.729737],[108.030645,32.739065],[108.025201,32.758099],[108.017971,32.779333],[108.017329,32.805232],[108.017664,32.818317],[108.016269,32.828347],[108.010379,32.837803],[108.004405,32.841672],[107.995388,32.836883],[107.974843,32.833778],[107.965436,32.828659],[107.962645,32.825727],[107.956196,32.808634],[107.951897,32.80183],[107.936712,32.803687],[107.933669,32.801917],[107.930599,32.780774],[107.919405,32.777111],[107.913208,32.770965],[107.909914,32.763707],[107.904778,32.76171],[107.899474,32.755372],[107.895063,32.75407],[107.892104,32.757473],[107.874267,32.763881],[107.862654,32.764628],[107.863436,32.769837],[107.857881,32.772198],[107.850651,32.771156],[107.840769,32.765808],[107.830776,32.765687],[107.821871,32.770253],[107.814055,32.770618],[107.800181,32.768899],[107.783153,32.76204],[107.770899,32.758133],[107.761213,32.757751],[107.755741,32.765374],[107.753145,32.77758],[107.757695,32.788499],[107.756383,32.797942],[107.747786,32.809901],[107.747981,32.813146],[107.727436,32.824165],[107.721741,32.820278],[107.720485,32.810456],[107.70502,32.805475],[107.694692,32.795981],[107.6828,32.788378],[107.674984,32.779542],[107.67236,32.772476],[107.672081,32.760547],[107.669011,32.745908],[107.664712,32.736807],[107.659687,32.732065],[107.651145,32.727132],[107.642268,32.71994],[107.635569,32.712695],[107.633447,32.703556],[107.634061,32.695511],[107.631745,32.689585],[107.622421,32.685136],[107.606566,32.680339],[107.594227,32.675038],[107.577283,32.669372],[107.566592,32.664504],[107.554281,32.647519],[107.550038,32.634253],[107.540659,32.636791],[107.528907,32.629975],[107.520979,32.614653],[107.51936,32.606356],[107.51012,32.60773],[107.505096,32.613766],[107.501467,32.610339],[107.490692,32.60693],[107.493483,32.593727],[107.49647,32.589726],[107.49781,32.581635],[107.489547,32.576241],[107.493902,32.570099],[107.497922,32.561224],[107.496303,32.558456],[107.491083,32.558839],[107.485416,32.555324],[107.475199,32.559153],[107.471487,32.552922],[107.466043,32.547665],[107.460181,32.548588],[107.456608,32.545159],[107.45083,32.545298],[107.446308,32.542826],[107.437263,32.542792],[107.432741,32.536612],[107.434695,32.530293]]]]}},{"type":"Feature","properties":{"adcode":610729,"name":"留坝县","center":[106.924377,33.61334],"centroid":[106.955828,33.608009],"childrenNum":0,"level":"district","parent":{"adcode":610700},"subFeatureIndex":9,"acroutes":[100000,610000,610700]},"geometry":{"type":"MultiPolygon","coordinates":[[[[106.647363,33.634818],[106.663163,33.626531],[106.67109,33.620977],[106.677567,33.610608],[106.680498,33.603488],[106.680944,33.595233],[106.678069,33.584241],[106.677957,33.575296],[106.675836,33.560861],[106.671342,33.552635],[106.672123,33.548505],[106.667769,33.529952],[106.664084,33.520346],[106.664,33.514252],[106.651773,33.506952],[106.650434,33.504886],[106.656742,33.496793],[106.658557,33.491868],[106.664223,33.484463],[106.6707,33.480916],[106.675417,33.481846],[106.692808,33.49068],[106.710171,33.497086],[106.745595,33.514476],[106.760306,33.527645],[106.769154,33.532138],[106.778478,33.532499],[106.788723,33.519796],[106.792575,33.501391],[106.797181,33.497224],[106.802903,33.495089],[106.809379,33.489509],[106.81259,33.482603],[106.814572,33.468118],[106.822946,33.460918],[106.833274,33.456215],[106.837852,33.451563],[106.838355,33.448118],[106.83333,33.441294],[106.821801,33.438675],[106.815465,33.433489],[106.817,33.42682],[106.832744,33.417461],[106.843994,33.402414],[106.856639,33.388001],[106.862585,33.386174],[106.865348,33.380381],[106.870903,33.375415],[106.873388,33.369689],[106.877547,33.367292],[106.867581,33.358221],[106.866856,33.353133],[106.863171,33.34782],[106.864706,33.341386],[106.864343,33.333813],[106.872271,33.29749],[106.876486,33.29863],[106.889411,33.296144],[106.894687,33.293072],[106.900297,33.286202],[106.913641,33.28023],[106.920452,33.284442],[106.93293,33.288895],[106.937452,33.297559],[106.940522,33.298595],[106.952972,33.297404],[106.959756,33.295419],[106.969135,33.296161],[106.981529,33.294902],[106.987726,33.295903],[106.994844,33.300355],[106.996324,33.303565],[106.994593,33.310434],[106.999283,33.324324],[106.999646,33.330915],[107.011621,33.338402],[107.014105,33.350339],[107.020107,33.355806],[107.029598,33.360601],[107.043388,33.36136],[107.052544,33.365051],[107.06999,33.364706],[107.079119,33.368965],[107.089391,33.378018],[107.092266,33.384415],[107.0878,33.397087],[107.078979,33.410481],[107.079984,33.420564],[107.082775,33.423063],[107.084534,33.43037],[107.085874,33.443896],[107.081966,33.457007],[107.072279,33.468135],[107.069683,33.476403],[107.063793,33.485876],[107.05983,33.495554],[107.057122,33.498326],[107.056982,33.505213],[107.053521,33.512117],[107.053074,33.519468],[107.056759,33.524254],[107.063403,33.527628],[107.072782,33.529367],[107.081631,33.532482],[107.093271,33.539917],[107.105219,33.548729],[107.112812,33.558262],[107.115128,33.566263],[107.120823,33.577205],[107.128527,33.595216],[107.133887,33.603849],[107.13679,33.612311],[107.144969,33.625258],[107.15728,33.639769],[107.164537,33.646542],[107.171544,33.655394],[107.180142,33.660086],[107.193317,33.661031],[107.200798,33.665156],[107.211518,33.66593],[107.229411,33.668885],[107.241582,33.672615],[107.253697,33.674745],[107.268659,33.680742],[107.273991,33.685949],[107.276894,33.693938],[107.284179,33.701411],[107.288087,33.703661],[107.30573,33.70574],[107.308912,33.705121],[107.305618,33.710189],[107.30961,33.723998],[107.31416,33.728824],[107.304306,33.733512],[107.302073,33.742269],[107.302519,33.758528],[107.305506,33.766905],[107.312959,33.77154],[107.318738,33.771042],[107.322143,33.774441],[107.322534,33.783091],[107.326135,33.787021],[107.3258,33.793594],[107.328285,33.797609],[107.338194,33.802516],[107.342046,33.814132],[107.333867,33.814338],[107.328955,33.819553],[107.32259,33.818901],[107.320468,33.810426],[107.314634,33.80835],[107.306148,33.796905],[107.299505,33.792787],[107.291996,33.797317],[107.284068,33.797609],[107.276754,33.801161],[107.272818,33.790711],[107.264918,33.787501],[107.254757,33.780173],[107.249621,33.778405],[107.241135,33.772089],[107.236697,33.771214],[107.23117,33.766802],[107.229969,33.757773],[107.220283,33.755043],[107.212578,33.74924],[107.194518,33.752433],[107.187372,33.751764],[107.183771,33.760125],[107.181593,33.76948],[107.17333,33.774612],[107.16317,33.788016],[107.160406,33.788994],[107.151808,33.785494],[107.145248,33.794263],[107.128388,33.77765],[107.129114,33.789921],[107.133887,33.793834],[107.131849,33.800783],[107.136958,33.814149],[107.135171,33.816568],[107.124954,33.814218],[107.121577,33.809517],[107.112114,33.812794],[107.108736,33.81583],[107.105777,33.822469],[107.099385,33.82331],[107.086544,33.820325],[107.080458,33.822092],[107.072056,33.830429],[107.065105,33.842418],[107.063068,33.87042],[107.056843,33.8769],[107.050199,33.876489],[107.044895,33.873797],[107.040373,33.865585],[107.038531,33.854594],[107.040513,33.841972],[107.041183,33.83096],[107.043834,33.808693],[107.04322,33.805021],[107.036772,33.799359],[107.028146,33.794606],[107.01899,33.792392],[107.006568,33.792959],[106.999422,33.794383],[106.978263,33.800972],[106.974718,33.803289],[106.947585,33.816585],[106.930724,33.827255],[106.928435,33.833259],[106.921987,33.83578],[106.909677,33.847734],[106.898902,33.844801],[106.890053,33.848334],[106.89371,33.853942],[106.888685,33.861007],[106.882125,33.860818],[106.872857,33.865928],[106.864678,33.875769],[106.85876,33.87738],[106.85555,33.874346],[106.855718,33.86423],[106.858118,33.861658],[106.85555,33.859],[106.85435,33.848694],[106.847511,33.843327],[106.841063,33.835111],[106.839416,33.826998],[106.831879,33.829811],[106.823532,33.830394],[106.81781,33.834442],[106.816944,33.829451],[106.812562,33.821886],[106.809324,33.819896],[106.805862,33.80986],[106.805164,33.797026],[106.806002,33.779367],[106.804718,33.765618],[106.804439,33.744295],[106.80321,33.735349],[106.803517,33.717695],[106.801396,33.70397],[106.798772,33.69344],[106.799581,33.690914],[106.797265,33.682461],[106.789225,33.677495],[106.781325,33.681481],[106.771778,33.684334],[106.753187,33.691378],[106.73454,33.696584],[106.727394,33.697322],[106.714246,33.701325],[106.683317,33.702029],[106.677929,33.7033],[106.674971,33.701411],[106.677371,33.697872],[106.685578,33.695553],[106.687839,33.692838],[106.694678,33.693405],[106.695488,33.689522],[106.692361,33.687976],[106.69398,33.684282],[106.698503,33.683904],[106.705677,33.676962],[106.69948,33.671188],[106.696967,33.672082],[106.689709,33.668628],[106.68703,33.665551],[106.682228,33.665414],[106.670058,33.661152],[106.66587,33.662939],[106.650769,33.663042],[106.64245,33.659639],[106.645604,33.650186],[106.649401,33.644892],[106.650154,33.639391],[106.647363,33.634818]]]]}},{"type":"Feature","properties":{"adcode":610730,"name":"佛坪县","center":[107.988582,33.520745],"centroid":[107.923214,33.542377],"childrenNum":0,"level":"district","parent":{"adcode":610700},"subFeatureIndex":10,"acroutes":[100000,610000,610700]},"geometry":{"type":"MultiPolygon","coordinates":[[[[108.0216,33.258597],[108.028467,33.263794],[108.033241,33.260997],[108.034469,33.263017],[108.03338,33.271857],[108.039326,33.283112],[108.05292,33.297059],[108.052613,33.307742],[108.046751,33.308001],[108.043178,33.319131],[108.04276,33.324065],[108.046081,33.332864],[108.04985,33.337988],[108.05948,33.341593],[108.05641,33.349235],[108.065817,33.353995],[108.073103,33.355824],[108.080193,33.365568],[108.08706,33.37269],[108.095518,33.373518],[108.10205,33.38076],[108.103976,33.391484],[108.09295,33.400914],[108.097109,33.40462],[108.109978,33.410826],[108.117487,33.416772],[108.128876,33.41248],[108.13432,33.406982],[108.142108,33.404069],[108.143559,33.40562],[108.145011,33.418134],[108.15118,33.423631],[108.158633,33.432403],[108.16148,33.440312],[108.158773,33.454199],[108.151655,33.464019],[108.143196,33.468514],[108.122735,33.481501],[108.111569,33.490456],[108.101659,33.500392],[108.07729,33.503991],[108.06738,33.509087],[108.06043,33.520037],[108.066403,33.540709],[108.065957,33.55353],[108.06096,33.563872],[108.060402,33.57853],[108.067464,33.589832],[108.070339,33.602095],[108.062998,33.610058],[108.058392,33.618811],[108.060932,33.631758],[108.060318,33.642743],[108.065035,33.651647],[108.062076,33.660241],[108.057275,33.66715],[108.052139,33.680004],[108.0532,33.690364],[108.057778,33.696755],[108.058531,33.700861],[108.054232,33.709845],[108.043653,33.712765],[108.031203,33.717609],[108.02026,33.724015],[108.015571,33.724444],[108.008285,33.729013],[108.002535,33.727639],[107.993909,33.732293],[107.988382,33.731709],[107.974815,33.736002],[107.966106,33.734662],[107.951646,33.745823],[107.942602,33.739985],[107.936377,33.738354],[107.931604,33.731279],[107.926411,33.733048],[107.921024,33.732413],[107.914911,33.735727],[107.910249,33.741187],[107.905392,33.742458],[107.903075,33.748948],[107.896961,33.747918],[107.89163,33.743832],[107.88828,33.729837],[107.880017,33.718777],[107.870722,33.715393],[107.864134,33.703936],[107.862264,33.698576],[107.854252,33.69411],[107.844761,33.697425],[107.840183,33.695742],[107.833009,33.696068],[107.824244,33.702373],[107.812631,33.712301],[107.80448,33.708729],[107.797585,33.710154],[107.785163,33.716166],[107.776566,33.716561],[107.765902,33.720219],[107.755267,33.715857],[107.744799,33.718021],[107.737429,33.717918],[107.722244,33.724891],[107.712027,33.726007],[107.692598,33.723191],[107.688746,33.721301],[107.684531,33.715084],[107.682354,33.706839],[107.673756,33.699487],[107.67504,33.699212],[107.676268,33.681292],[107.675738,33.671446],[107.676631,33.662492],[107.683554,33.653211],[107.69285,33.650788],[107.709319,33.648691],[107.726208,33.642004],[107.7326,33.633872],[107.735392,33.625121],[107.736704,33.611571],[107.732712,33.594648],[107.733158,33.590296],[107.730479,33.582074],[107.728832,33.559174],[107.726738,33.540399],[107.726403,33.505299],[107.727603,33.49793],[107.726626,33.491989],[107.728022,33.481191],[107.732768,33.473079],[107.745692,33.464156],[107.761687,33.457903],[107.796832,33.451529],[107.824132,33.450082],[107.829492,33.448617],[107.835773,33.442776],[107.83326,33.437176],[107.837531,33.432903],[107.846045,33.430732],[107.857434,33.436332],[107.863268,33.431421],[107.866869,33.432506],[107.871978,33.437934],[107.875886,33.438624],[107.890206,33.430766],[107.896654,33.429835],[107.909551,33.422942],[107.923955,33.408464],[107.926635,33.395794],[107.929203,33.389105],[107.942881,33.367741],[107.94637,33.354616],[107.946622,33.344284],[107.949273,33.340576],[107.95896,33.333986],[107.968451,33.330156],[107.97381,33.325239],[107.974313,33.313298],[107.976295,33.305878],[107.976434,33.289275],[107.970768,33.282905],[107.975932,33.273083],[107.974397,33.265607],[107.977746,33.262948],[107.977467,33.255973],[107.986735,33.261999],[107.990922,33.258839],[108.003065,33.26174],[108.005996,33.270321],[108.012668,33.270286],[108.018865,33.265435],[108.0216,33.258597]]]]}}]});
}));
<template>
<div class="map">
<div class="map-box" ref="mapContain" />
</div>
</template>
<script>
export default {
data () {
return {
mapName: "汉中市",
listArr: [{
name: '汉台区',
value: '6000'
},
{
name: '南郑区',
value: '8000'
},
{
name: '城固县',
value: '3000'
},
{
name: '洋县',
value: '7000'
},
{
name: '西乡县',
value: '1000'
},
{
name: '镇巴县',
value: '2000'
},
{
name: '勉县',
value: '600'
},
{
name: '留坝县',
value: '3000'
},
{
name: '佛坪县',
value: '1000'
},
{
name: '宁强县',
value: '1000'
},
{
name: '略阳县',
value: '1000'
}], //城市json
max: "9000", //最大value值
min: "500", // 最小value值
};
},
methods: {
drawProvinceMap (mapName) {
this.mapName = mapName;
// 引入区域数据
require('./hanzhong.js');
let _this = this;
let myChart8 = this.$echarts.init(this.$refs.mapContain);
const option = {
visualMap: {
min: 0,
max: _this.max,
top: "bottom",
right: 10,
splitNumber: 6,
seriesIndex: [0],
itemWidth: 20, // 每个图元的宽度
itemGap: 2, // 每两个图元之间的间隔距离,单位为px
pieces: [ // 自定义每一段的范围,以及每一段的文字
{ gte: 6000, label: '6000以上', color: '#035cf5' }, // 不指定 max,表示 max 为无限大(Infinity)。
{ gte: 2000, lte: 6000, label: '2000-6000', color: '#3375e4' },
{ gte: 1000, lte: 2000, label: '1000-2000', color: '#6797ef' },
{ gte: 500, lte: 1000, label: '500-1000', color: '#96b5ef' },
],
textStyle: {
color: '#737373'
}
},
// 数据移入显示
tooltip: {
trigger: "item",
formatter: function (params) {
return params.value ? params.name + ':' + params.value + '件' : params.name + ':' + '0件'
},
// 边框颜色
borderColor: "#CB000C",
// 边框宽度
borderWidth: "1",
},
series: [
{
type: "map",
map: this.mapName,
itemStyle: {
normal: { //正常状态
label: {
show: true,
formatter: '{b}', //地图上显示的数据,分别对应data中的name和value
color: '#fff',
},
areaColor: '#409EFF' //地图区域的颜色
},
emphasis: {
label: { show: true },
areaColor: "#67C23A", //鼠标进入时的颜色
},
},
data: _this.listArr,
},
],
};
myChart8.setOption(option);
},
},
mounted () {
// 初始化数据
this.drawProvinceMap("汉中市");
}
}
</script>
<style scoped>
.map {
width: 100%;
}
.map-box {
display: inline-block;
width: 100%;
height: calc(100vh - 153px);
}
</style>
import filter from '@/utils/filter.js'
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
type: 'index',
label: "序号",
},
{
prop: "xzqmc",
label: "行政区名称",
},
{
prop: "xzqzs",
label: "行政区总数",
},
{
prop: "jrl",
label: "接入量",
},
{
prop: 'jscgl',
label: '接收成功率',
render: (h, scope) => {
return (
<div>
{scope.row.jscgl} %
</div>
)
}
},
{
prop: "dk",
label: "成功率得分",
},
{
prop: "wjrqx",
label: "未接入区县",
},
{
prop: "jrdf",
label: "接入得分",
},
{
prop: "jrdf",
label: "未上传登薄日志区县",
},
{
prop: "jrdf",
label: "登薄日志得分",
},
{
prop: "jrdf",
label: "总评分",
}
]
}
}
export default new data()
.jgHome {
display: flex;
justify-content: space-between;
height: calc(100% - 20px);
.bottom10 {
margin-bottom: 10px;
}
.paddingbtm0 {
/deep/.el-card__body {
padding-bottom: 0;
}
}
&-left,
&-right {
width: 30%;
.fznum {
font-size: 24px;
color: $light-blue;
span {
font-size: 14px;
color: #606266;
}
}
.fzl {
display: flex;
align-items: center;
img {
width: 70px;
margin-right: 15px;
}
p:nth-child(1) {
font-size: 18px;
}
}
.zszm {
justify-content: space-between;
li:nth-child(1) {}
}
}
.barChart {
flex: 1;
margin-top: 10px;
height: calc(100vh - 330px);
}
&-center {
width: 39%;
}
}
\ No newline at end of file
<template>
<div class="jgHome">
<div class="jgHome-left">
<el-card>
<div slot="header">
<span>发证情况</span>
<el-button style="float: right;" type="text">更多</el-button>
</div>
<div class="fzl">
<img src="../../image/zs.png" alt="">
<div>
<p>发证量</p>
<p class="fznum">10000<span></span></p>
</div>
</div>
<ul class="zszm d-flex-center">
<li>
<p>证书</p>
<p class="fznum">600<span></span></p>
</li>
<li>
<p>证明</p>
<p class="fznum">900<span></span></p>
</li>
</ul>
</el-card>
<el-card class="barChart">
<barChart />
</el-card>
</div>
<div class="jgHome-center">
<el-card>
<hzMap />
</el-card>
</div>
<div class="jgHome-right">
<el-card class="bottom10 paddingbtm0">
<jgChart />
</el-card>
<el-card class="box-card paddingbtm0">
<div slot="header">
<span>违规总计</span>
<el-button style="float: right;" type="text">更多</el-button>
</div>
<lb-table ref="table" :pagination="false" :heightNum="546" :column="tableData.columns" :data="tableData.data">
</lb-table>
</el-card>
</div>
</div>
</template>
<script>
// 引入表格数据
import data from "./data"
import barChart from './components/barChart'
import hzMap from './components/map'
import jgChart from './components/jgChart'
export default {
name: "jgHome",
components: { barChart, hzMap, jgChart },
data () {
return {
// 表格数据
tableData: {
// 表格头部信息
columns: data.columns(),
// 表格列表数据
data: [{}]
}
}
},
methods: {}
}
</script>
<style scoped lang="scss">
@import "./index.scss";
</style>
......@@ -2,44 +2,61 @@
<!-- 监控日志 -->
<div class="jktjDetail form-clues">
<!-- 头部搜索 -->
<el-form
ref="form"
:model="form"
:inline="true"
class="from-clues-header"
label-width="100px"
>
<el-row class="rows">
<el-col :span="8">
<el-date-picker
v-model="valueTime"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-col>
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="100px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="4">
<el-form-item label="开始日期" prop="startTime">
<el-date-picker
type="datetime"
placeholder="开始日期"
:picker-options="pickerOptionsStart"
clearable
v-model="form.startTime"
value-format="yyyy/MM/dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="结束日期" prop="endTime">
<el-date-picker
type="datetime"
placeholder="结束日期"
:picker-options="pickerOptionsEnd"
clearable
v-model="form.endTime"
value-format="yyyy/MM/dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-col>
<!-- 操作按钮 -->
<el-col :span="3" class="btnColRight">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx">查询</btn>
<btn nativeType="cx" @click="getProcessCounts">查询</btn>
</el-col>
</el-row>
</el-form>
</el-row>
</el-form>
</div>
<!-- 表格 -->
<div class="form-clues-content echarts-box">
<div class="form-clues-content echarts-box" v-if="pieChartsData.length">
<div id="myChart" class="chart"></div>
<div id="myChart-bar" class="chart-bar"></div>
</div>
<div class="form-clues-content echarts-box center" v-else>暂无数据</div>
</div>
</template>
<script>
import { mapGetters } from "vuex";
import efficient from "@/api/efficient";
import { getFirstDayOfSeason, timeFormat } from "@/utils/operation";
export default {
name: "jktj",
data() {
data () {
return {
// 开始结束日期限制
// 开始日期限制
pickerOptionsStart: {
disabledDate: (time) => {
if (this.form.endTime) {
......@@ -55,78 +72,178 @@ export default {
}
},
},
// 搜索表单
valueTime: "",
form: {
startTime: "",
endTime: "",
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(), true),
},
// 搜索表单
pieChartsData: [],
};
},
created () {},
mounted() {
// 初始化图表
this.echartInit();
this.getProcessCounts();
},
computed: {
...mapGetters(["dicData"]),
},
methods: {
//查询各区县办件数量
async getProcessCounts () {
this.pieChartsData = [];
let { result: res } = await efficient.getProcessCounts(
this.form.startTime,
this.form.endTime
);
//获取图表配置项需要的数据
res.length > 0 &&
res.forEach((item) => {
this.pieChartsData.push({
//登记数量
value: item.counts,
//登记数量
name: item.recTypeName,
//登记类型代码
groupId: item.recType,
});
});
res.length && this.$nextTick(() => {
// 初始化图表
this.echartInit();
this.barChartInit(res[0].recType);
});
},
// 重置
resetForm() {
resetForm () {
this.form = {
startTime: "",
endTime: "",
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(), true),
};
this.getProcessCounts();
},
echartInit() {
//玫瑰图初始化
echartInit () {
let _this = this;
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById("myChart"));
// 绘制图表
myChart.setOption({
color: ["#00bdb1", "#ff6e6e", "#3f99ff", "#ffaf48"],
title: {
show: true,
text: "汉中市接入数量与上报数量统计(单位:个)\n(2022年02月05日~2022年03月07日)",
legend: {
bottom: "2%",
left: "center",
textStyle: {
fontSize: 20,
lineHeight: 30,
height: 60,
color: "#b6b5b5",
color: "#fff",
},
},
legend: {
data: [
"接入成功数量",
"接入失败数量",
"上报成功数量",
"上报失败数量",
],
top: 80,
textStyle: {
fontSize: 20,
lineHeight: 30,
height: 60,
color: "#777",
},
tooltip: {
trigger: "item",
formatter: "{b} : {c}",
},
series: [
{
name: "各业务类型办理数量",
type: "pie",
radius: [0, 250],
center: ["50%", "45%"],
roseType: "area",
itemStyle: {
borderRadius: 8,
},
data: this.pieChartsData,
},
],
});
//添加点击事件
myChart.on("click", function (param) {
_this.barChartInit(param.data.groupId);
});
//默认选中第一个
let index = 1;
myChart.dispatchAction({
type: "highlight",
seriesIndex: 0,
dataIndex: 0,
});
myChart.on("mouseover", function (e) {
if (e.dataIndex != index) {
myChart.dispatchAction({
type: "downplay",
seriesIndex: 0,
dataIndex: index,
});
}
});
myChart.on("mouseout", function (e) {
index = e.dataIndex;
myChart.dispatchAction({
type: "highlight",
seriesIndex: 0,
dataIndex: e.dataIndex,
});
});
},
//柱图初始化
async barChartInit (recType) {
//请求recType对应业务的各区县数据
let { result: res } = await efficient.getProcessDays(
recType,
this.form.startTime,
this.form.endTime
);
//行政区数组
let xzqArr = [];
this.dicData["A20"].forEach((item) => {
xzqArr.push(item.DNAME);
let tempArr = res.filter((i) => {
return i.qxdm == item.DCODE;
});
if (tempArr.length) {
item.avgDay = tempArr[0].avgDay;
item.maxDay = tempArr[0].maxDay;
item.minDay = tempArr[0].minDay;
} else {
item.avgDay = 0;
item.maxDay = 0;
item.minDay = 0;
}
});
//补全无数据行政区后的结果数组
let dealArr = [...this.dicData["A20"]];
let myChartBar = this.$echarts.init(
document.getElementById("myChart-bar")
);
myChartBar.setOption({
color: ["#00bdb1", "#ff6e6e", "#3f99ff", "#ffaf48"],
tooltip: {
show: true,
trigger: "axis",
textStyle: {
fontSize: 20 // 字体大小
},
extraCssText: 'width:220px;height:160px;' // 背景色
textStyle: {
fontSize: 16, // 字体大小
},
extraCssText: "width:220px;height:160px;", // 背景色
},
grid: {
top: 120,
},
legend: {
data: ["最短用时", "平均用时", "最长用时"],
top: 20,
textStyle: {
show: true,
color: "#fff",
fontSize: "16",
},
},
xAxis: [
{
type: "category",
data: ["汉台区", "南郑区", "城固县", "洋县", "西乡县"],
data: xzqArr,
axisLabel: {
interval: 0,
textStyle: {
show: true,
color: "#fff",
fontSize: "20",
fontSize: "16",
},
},
},
......@@ -134,35 +251,38 @@ export default {
yAxis: [
{
type: "value",
name: "单位:天",
nameTextStyle: {
color: "#fff",
fontSize: "16",
},
axisLabel: {
textStyle: {
show: true,
color: "#fff",
fontSize: "20",
fontSize: "16",
},
},
},
],
series: [
{
name: "接入成功数量",
type: "bar",
data: [1000, 1500, 2000, 500, 4000],
},
{
name: "接入失败数量",
type: "bar",
data: [900, 500, 3200, 800, 4500],
barMaxWidth: '60',
name: "最短用时",
data: dealArr.map((item) => item.minDay),
},
{
name: "上报成功数量",
type: "bar",
data: [1000, 1500, 2000, 500, 4000],
barMaxWidth: '60',
name: "平均用时",
data: dealArr.map((item) => item.avgDay),
},
{
name: "上报失败数量",
type: "bar",
data: [900, 500, 3200, 800, 4500],
barMaxWidth: '60',
name: "最长用时",
data: dealArr.map((item) => item.maxDay),
},
],
});
......@@ -177,24 +297,35 @@ export default {
height: 100%;
display: flex;
flex-direction: column;
.rows {
.rows {
margin-left: 100px;
}
.center {
line-height: 50vh;
text-align: center;
}
.echarts-box {
display: flex;
justify-content: center;
height: 500px;
.chart {
width: 100%;
width: 40%;
height: 100%;
float: left;
}
.chart-bar {
width: 60%;
}
}
.form-clues-content {
flex: 1;
height: 100%;
color: #b6b5b5
color: #b6b5b5;
}
}
</style>
......
<template>
<!-- 监控日志 -->
<div class="jktjDetail form-clues">
<!-- 头部搜索 -->
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="100px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="4">
<el-form-item label="行政区">
<el-select
v-model="form.qxdm"
class="width100"
clearable
placeholder="行政区"
>
<el-option
v-for="item in dicData['A20']"
:key="item.DCODE"
:label="item.DNAME"
:value="item.DCODE"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="开始日期" prop="startTime">
<el-date-picker
type="datetime"
placeholder="开始日期"
:picker-options="pickerOptionsStart"
clearable
v-model="form.startTime"
value-format="yyyy/MM/dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="结束日期" prop="endTime">
<el-date-picker
type="datetime"
placeholder="结束日期"
:picker-options="pickerOptionsEnd"
clearable
v-model="form.endTime"
value-format="yyyy/MM/dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-col>
<!-- 操作按钮 -->
<el-col :span="3" class="btnColRight">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx" @click="getSuucessRate">查询</btn>
</el-col>
</el-row>
</el-form>
</div>
<!-- 图表 -->
<div class="form-clues-content echarts-box" v-if="chartData.length">
<div id="myChart" class="chart"></div>
</div>
<div class="form-clues-content echarts-box center" v-else>暂无数据</div>
</div>
</template>
<script>
import { mapGetters } from "vuex";
import { getFirstDayOfSeason, timeFormat } from "@/utils/operation";
import business from "@/api/business";
export default {
name: "jktj",
data () {
return {
// 开始日期限制
pickerOptionsStart: {
disabledDate: (time) => {
if (this.form.endTime) {
return time.getTime() >= new Date(this.form.endTime).getTime();
}
},
},
// 结束日期限制
pickerOptionsEnd: {
disabledDate: (time) => {
if (this.form.startTime) {
return time.getTime() <= new Date(this.form.startTime).getTime();
}
},
},
recTypeArr: [],
chartData: [],
// 搜索表单
form: {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(),true),
qxdm: "",
},
};
},
mounted () {
// 查询成功率
this.getSuucessRate();
},
computed: {
...mapGetters(["dicData"]),
},
methods: {
async getSuucessRate () {
this.recTypeArr = [];
this.chartData = [];
let { result: res } = await business.getSuucessRate(
this.form.startTime,
this.form.endTime,
this.form.qxdm
);
this.chartData = res;
//行政区代码过滤
res.length > 0 &&
res.forEach((item) => {
this.recTypeArr.push(item.recTypeName);
});
this.$nextTick(() => {
// 初始化图表
this.chartData.length && this.echartInit();
});
},
// 重置
resetForm () {
this.form = {
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(),true),
};
this.getSuucessRate();
},
echartInit () {
let _this = this;
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById("myChart"));
// 绘制图表
myChart.setOption({
color: ["#13E5FF", "#C99E68", "#E873B2", "#ffaf48"],
tooltip: {
trigger: "axis",
formatter: '{b}<br/>{a0}:{c0}个<br/>{a1}:{c1}个<br/>{a2}:{c2}%',
axisPointer: {
type: "cross",
crossStyle: {
color: "#fff",
},
},
},
legend: {
data: ["成功", "失败", "成功率"],
top: '16',
textStyle: {
show: true,
color: "#fff",
fontSize: "16",
},
},
xAxis: [
{
type: "category",
data: _this.recTypeArr,
axisPointer: {
type: "shadow",
},
axisLabel: {
textStyle: {
show: true,
color: "#fff",
fontSize: "16",
},
formatter: function (val) {
let c = document.createElement("canvas");
const ctx = c.getContext("2d");
const arr = val.split("");
arr
.map((item) => ctx.measureText(item).width)
.reduce((pre, next, index) => {
const nLen = pre + next;
if (nLen > 40) {
arr[index - 1] += "...";
return next;
} else {
return nLen;
}
});
c = null;
let ind = arr.findIndex((i) => {
return i.indexOf("...") > -1;
});
let newArr = ind > 0 ? arr.splice(0, ind + 1) : arr;
return newArr.join("");
},
},
},
],
yAxis: [
{
type: "value",
name: "数量/个",
nameTextStyle: {
color: "#fff",
fontSize: "16",
},
interval: 50,
axisLabel: {
formatter: "{value}",
textStyle: {
show: true,
color: "#fff",
fontSize: "16",
},
},
},
{
type: "value",
name: "成功率",
nameTextStyle: {
color: "#fff",
fontSize: "16",
},
splitNumber:2,
axisLabel: {
formatter: "{value} %",
textStyle: {
show: true,
color: "#fff",
fontSize: "16",
},
},
},
],
series: [
{
name: "成功",
type: "bar",
barMaxWidth: '60',
data: this.chartData.map((item) => {
return item.success;
}),
},
{
name: "失败",
type: "bar",
barMaxWidth: '60',
data: this.chartData.map((item) => {
return item.failure;
}),
},
{
name: "成功率",
type: "line",
barMaxWidth: '60',
yAxisIndex: 1,
data: this.chartData.map((item) => {
return item.rate;
}),
},
],
});
},
},
};
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
.jktjDetail {
height: 100%;
display: flex;
flex-direction: column;
.rows {
margin-left: 100px;
}
.center {
line-height: 50vh;
text-align: center;
color: #b6b5b5
}
.echarts-box {
display: flex;
justify-content: center;
height: 500px;
.chart {
width: 100%;
height: 100%;
}
}
.form-clues-content {
flex: 1;
height: 100%;
}
}
</style>
<style scoped lang="scss">
@import "~@/styles/public.scss";
</style>
......@@ -2,44 +2,79 @@
<!-- 监控日志 -->
<div class="jktjDetail form-clues">
<!-- 头部搜索 -->
<el-form
ref="form"
:model="form"
:inline="true"
class="from-clues-header"
label-width="100px"
>
<el-row class="rows">
<el-col :span="8">
<el-date-picker
v-model="valueTime"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-col>
<!-- 操作按钮 -->
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="100px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="4">
<el-form-item label="行政区">
<el-select
v-model="form.qxdm"
class="width100"
clearable
placeholder="行政区"
>
<el-option
v-for="item in dicData['A20']"
:key="item.DCODE"
:label="item.DNAME"
:value="item.DCODE"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="开始日期" prop="startTime">
<el-date-picker
type="datetime"
placeholder="开始日期"
:picker-options="pickerOptionsStart"
clearable
v-model="form.startTime"
value-format="yyyy/MM/dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="结束日期" prop="endTime">
<el-date-picker
type="datetime"
placeholder="结束日期"
:picker-options="pickerOptionsEnd"
clearable
v-model="form.endTime"
value-format="yyyy/MM/dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-col>
<!-- 操作按钮 -->
<el-col :span="3" class="btnColRight">
<btn nativeType="cz" @click="resetForm">重置</btn>
<btn nativeType="cx">查询</btn>
<btn nativeType="cx" @click="getProcessCounts">查询</btn>
</el-col>
</el-row>
</el-form>
<!-- 表格 -->
<div class="form-clues-content echarts-box">
</el-row>
</el-form>
</div>
<!-- 图表 -->
<div class="form-clues-content echarts-box" v-if="chartData.length">
<div id="myChart" class="chart"></div>
</div>
<div class="form-clues-content echarts-box center" v-else>暂无数据</div>
</div>
</template>
<script>
import { mapGetters } from "vuex";
import efficient from "@/api/efficient";
import { getFirstDayOfSeason, timeFormat } from "@/utils/operation";
export default {
name: "jktj",
data() {
data () {
return {
// 开始结束日期限制
// 开始日期限制
pickerOptionsStart: {
disabledDate: (time) => {
if (this.form.endTime) {
......@@ -57,63 +92,57 @@ export default {
},
// 搜索表单
valueTime: "",
// 搜索表单
form: {
startTime: "",
endTime: "",
startTime: getFirstDayOfSeason(),
endTime: timeFormat(new Date(),true),
qxdm: "",
},
chartData:[]
};
},
mounted() {
// 初始化图表
this.echartInit();
// 查询业务量
this.getProcessCounts();
},
computed: {
...mapGetters(["dicData"]),
},
methods: {
async getProcessCounts(){
this.chartData = [];
let { result: res } = await efficient.getProcessCounts(
this.form.startTime,
this.form.endTime,
this.form.qxdm
);
//获取图表配置项需要的数据
this.chartData = res;
this.$nextTick(() => {
// 初始化图表
this.chartData.length && this.echartInit(this.chartData)
});
},
// 重置
resetForm() {
resetForm () {
this.form = {
startTime: "",
endTime: "",
};
},
echartInit() {
//图表渲染
echartInit(chartArr) {
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById("myChart"));
// 绘制图表
myChart.setOption({
color: ["#00bdb1", "#ff6e6e", "#3f99ff", "#ffaf48"],
title: {
show: true,
text: "汉中市接入数量与上报数量统计(单位:个)\n(2022年02月05日~2022年03月07日)",
left: "center",
textStyle: {
fontSize: 20,
lineHeight: 30,
height: 60,
color: "#b6b5b5",
},
},
legend: {
data: [
"接入成功数量",
"接入失败数量",
"上报成功数量",
"上报失败数量",
],
top: 80,
textStyle: {
fontSize: 20,
lineHeight: 30,
height: 60,
color: "#777",
},
},
color: ["#13E5FF"],
tooltip: {
show: true,
trigger: "axis",
textStyle: {
fontSize: 20 // 字体大小
},
extraCssText: 'width:220px;height:160px;' // 背景色
textStyle: {
fontSize: 16, // 字体大小
},
},
grid: {
top: 120,
......@@ -121,12 +150,35 @@ export default {
xAxis: [
{
type: "category",
data: ["汉台区", "南郑区", "城固县", "洋县", "西乡县"],
data: chartArr.map(item=>item.recTypeName),
axisLabel: {
interval: 0,
formatter: function (val) {
let c = document.createElement("canvas");
const ctx = c.getContext("2d");
const arr = val.split("");
arr
.map((item) => ctx.measureText(item).width)
.reduce((pre, next, index) => {
const nLen = pre + next;
if (nLen > 60) {
arr[index - 1] += "...";
return next;
} else {
return nLen;
}
});
c = null;
let ind = arr.findIndex((i) => {
return i.indexOf("...") > -1;
});
let newArr = ind > 0 ? arr.splice(0, ind + 1) : arr;
return newArr.join("");
},
textStyle: {
show: true,
color: "#fff",
fontSize: "20",
fontSize: "16",
},
},
},
......@@ -134,35 +186,25 @@ export default {
yAxis: [
{
type: "value",
name: "数量/个",
nameTextStyle: {
color: "#fff",
fontSize: "16",
},
axisLabel: {
textStyle: {
show: true,
color: "#fff",
fontSize: "20",
fontSize: "16",
},
},
},
],
series: [
{
name: "接入成功数量",
type: "bar",
data: [1000, 1500, 2000, 500, 4000],
},
{
name: "接入失败数量",
data: chartArr.map(item=>item.counts),
type: "bar",
data: [900, 500, 3200, 800, 4500],
},
{
name: "上报成功数量",
type: "bar",
data: [1000, 1500, 2000, 500, 4000],
},
{
name: "上报失败数量",
type: "bar",
data: [900, 500, 3200, 800, 4500],
barMaxWidth: '60',
},
],
});
......@@ -177,9 +219,15 @@ export default {
height: 100%;
display: flex;
flex-direction: column;
.rows {
.rows {
margin-left: 100px;
}
.center {
line-height: 50vh;
text-align: center;
color:#b6b5b5
}
.echarts-box {
display: flex;
justify-content: center;
......
<template>
<!-- 编辑 -->
<dialogBox :title="title" @closeDialog="closeDialog" @submitForm="handleSubmit" v-model="myValue">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
<el-row>
<el-col :span="6">
<el-form-item label="接入点代码" prop="jrddm">
<el-input v-model="ruleForm.jrddm" placeholder="接入点代码"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="接入点名称" prop="jrdmc">
<el-input v-model="ruleForm.jrdmc" placeholder="接入点名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="队列名称" prop="dlmc">
<el-input v-model="ruleForm.dlmc" placeholder="队列名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="ip地址" prop="ip">
<el-input v-model="ruleForm.ip" placeholder="ip地址"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="负责人" prop="fzr">
<el-input v-model="ruleForm.fzr" placeholder="负责人"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</dialogBox>
</template>
<script>
export default {
props: {
value: { type: Boolean, default: false },
title: { type: String, default: '详情' }
},
data () {
return {
myValue: this.value,
ruleForm: {
jrddm: '',
jrdmc: '',
dlmc: '',
ywmc: '',
czsj: ''
},
rules: {
jrddm: [
{ required: true, message: '接入点代码', trigger: 'blur' }
],
jrdmc: [
{ required: true, message: '行政区名称', trigger: 'blur' }
],
dlmc: [
{ required: true, message: '队列名称', trigger: 'blur' }
],
ip: [
{ required: true, message: 'ip地址', trigger: 'blur' }
],
fzr: [
{ required: true, message: '负责人', trigger: 'blur' }
],
}
}
},
watch: {
value (val) {
this.myValue = val
}
},
methods: {
closeDialog () {
this.$emit('input', false)
},
handleSubmit () {
this.$emit('input', false)
}
}
}
</script>
\ No newline at end of file
import filter from '@/utils/filter.js'
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
type: 'selection'
},
{
prop: "jrddm",
label: "接入点代码",
},
{
prop: "jrdmc",
label: "接入点名称",
},
{
prop: "dlmc",
label: "队列名称",
},
{
prop: "ip",
label: "ip地址",
},
{
prop: "dk",
label: "端口号",
},
{
prop: "fzr",
label: "负责人",
},
{
prop: 'status',
label: '状态',
render: (h, scope) => {
return (
<div>
{
scope.row.status
? <el-tag type='warning'>中断</el-tag>
: <el-tag type='warning'>中断1</el-tag>
}
</div>
)
}
},
]
}
}
export default new data()
<template>
<!-- 接入区域管理 -->
<div class="from-clues">
<!-- 头部搜索 -->
<div class="from-clues-header">
<el-form ref="ruleForm" :model="form" label-width="100px">
<el-row>
<el-col :span="6">
<el-form-item label="负责人" label-width="60px" prop="fzr">
<el-input v-model="form.fzr" placeholder="负责人"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="接入点名称" prop="jrdmc">
<el-select v-model="form.jrdmc" class="width100" clearable placeholder="接入点名称">
<el-option v-for="item in []" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<!-- 操作按钮 -->
<el-col :span="12" class="btnColRight">
<el-form-item>
<el-button type="primary">删除</el-button>
<el-button @click="resetForm">重置</el-button>
<el-button type="primary">新增</el-button>
<el-button type="primary" @click="handleSubmit">查询</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- 列表数据 -->
<div class="from-clues-content">
<lb-table ref="table" @selection-change="handleSelectionChange" :page-size="pageData.size"
:current-page.sync="pageData.current" :total="pageData.total" @size-change="handleSizeChange"
@p-current-change="handleCurrentChange" :column="tableData.columns" :data="tableData.data">
</lb-table>
</div>
<!-- 修改弹框 -->
<detailDialog v-model="isShow" />
</div>
</template>
<script>
// 接入区域管理
// 引入table数据
import data from "./data"
// 引入混入方法
import tableMixin from '@/mixins/tableMixin.js'
// 引入修改弹框
import detailDialog from './components/detailDialog'
export default {
name: "jrqygl",
mixins: [tableMixin],
// 注册组件
components: {
detailDialog
},
data () {
return {
isShow: false,
// 搜索表单
form: {
fzr: '',
jrdmc: '',
currentPage: 1
},
// 表单校验
rules: {
fzr: [
{ required: true, message: '负责人', trigger: 'change' }
],
jrdmc: [
{ required: true, message: '接入点名称', trigger: 'change' }
]
},
// 列表数据
tableData: {
// 列表头部
columns: data.columns().concat([
{
label: "操作",
width: '80',
render: (h, scope) => {
return (
<div>
<el-button
type="text"
size="mini"
onClick={() => { this.handleEdit(scope.row) }}
>
修改
</el-button>
</div>
)
}
}
]),
// 列表数据
data: [{}]
},
// 分页
pageData: {
total: 0,
pageSize: 15,
}
}
},
methods: {
// 多选
handleSelectionChange (val) {
},
// 重置表单
resetForm () {
this.$refs.ruleForm.resetFields();
},
// 初始化数据
async featchData () {
},
// 修改
handleEdit (row) {
this.isShow = true
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
@import "./index.scss";
</style>
......@@ -5,10 +5,10 @@
<template>
<div class='result'>
<p>响应xml</p>
<el-input type="textarea" :rows="6" class="resulttext" placeholder="请输入内容" v-model="REPMSGXML">
<el-input type="textarea" :rows="6" class="resulttext" placeholder="响应xml" v-model="REPMSGXML">
</el-input>
<p>错误信息</p>
<el-input type="textarea" :rows="6" class="resulttext" placeholder="请输入内容" v-model="ERRORINFO">
<el-input type="textarea" :rows="6" class="resulttext" placeholder="错误信息" v-model="ERRORINFO">
</el-input>
</div>
</template>
......
......@@ -36,16 +36,17 @@ class data extends filter {
{
prop: "areacode",
label: "行政区代码",
width: 70,
width: 90,
},
{
prop: "areaName",
label: "行政区名称",
width: 70,
width: 90,
},
{
prop: "bizMsgid",
label: "业务报文ID",
width: 90,
},
{
prop: "createdate",
......@@ -65,7 +66,7 @@ class data extends filter {
{
prop: "rectype",
label: "业务编码",
width: 70,
width: 80,
},
{
prop: "rectypeName",
......
......@@ -17,13 +17,13 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="接收开始日期" prop="startTime">
<el-form-item label="接收日期" prop="receiveStartTime">
<el-date-picker type="date" class="width100" placeholder="开始日期" :picker-options="pickerOptionsStart"
clearable v-model="form.receiveStartTime" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="接收结束日期" prop="endTime">
<el-form-item label="至" prop="receiveEndTime" label-width="35px">
<el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd"
clearable v-model="form.receiveEndTime" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
......@@ -116,19 +116,25 @@ export default {
},
data () {
return {
// 开始结束日期限制
pickerOptionsStart: {
disabledDate: (time) => {
if (this.form.endTime) {
return time.getTime() >= new Date(this.form.endTime).getTime();
let endDateVal = this.form.receiveEndTime;
if (endDateVal) {
return (
time.getTime() >
new Date(endDateVal).getTime() - 1 * 24 * 60 * 60 * 1000
);
}
},
},
// 结束日期限制
pickerOptionsEnd: {
disabledDate: (time) => {
if (this.form.startTime) {
return time.getTime() <= new Date(this.form.startTime).getTime();
let beginDateVal = this.form.receiveStartTime;
if (beginDateVal) {
return (
time.getTime() <
new Date(beginDateVal).getTime() + 1 * 24 * 60 * 60 * 1000
);
}
},
},
......
import filter from '@/utils/filter.js'
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
prop: "qygh",
label: "区域规划",
},
{
prop: "rkkssj",
label: "入库开始时间",
},
{
prop: "rkjssh",
label: "入库结束时间",
},
{
prop: "zjrksj",
label: "最近入库时间",
},
{
prop: "rksbsl",
label: "入库失败熟练",
},
{
prop: "rkcgsl",
label: "入库成功数量",
},
{
prop: "zsl",
label: "总数量",
},
{
prop: 'cxrkzt',
label: '重新入库状态',
render: (h, scope) => {
return (
<div>
{
scope.row.cxrkzt
? <el-tag type='success'>入库</el-tag>
: <el-tag type='primary'>入库1</el-tag>
}
</div>
)
}
}
]
}
}
export default new data()
<template>
<!-- 接收报文重新入库 -->
<div class="from-clues">
<!-- 头部搜索 -->
<div class="from-clues-header">
<el-form ref="ruleForm" :model="form" label-width="55px">
<el-row class="mb-5">
<el-col :span="6">
<el-form-item label="行政区" prop="pcode">
<el-select v-model="form.pcode" class="width100" clearable placeholder="行政区">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="状态" prop="status">
<el-select v-model="form.jcjg" class="width100" clearable placeholder="检查结果">
<el-option v-for="item in []" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<!-- 操作按钮 -->
<el-col :span="12" class="btnColRight">
<el-form-item>
<el-button @click="resetForm">重置</el-button>
<el-button type="primary" @click="handleSubmit">查询</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- 列表 -->
<div class="from-clues-content">
<lb-table ref="table" :page-size="pageData.size" :current-page.sync="pageData.current" :total="pageData.total"
@size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns"
:data="tableData.data">
</lb-table>
</div>
</div>
</template>
<script>
// 接收报文重新入库
// 引入列表头部数据
import data from "./data"
// 引入混入方法
import tableMixin from '@/mixins/tableMixin.js'
export default {
name: "reportLog",
mixins: [tableMixin],
data () {
return {
// 表单
form: {
pcode: '',
status: '',
currentPage: 1
},
// 表单校验
rules: {
pcode: [
{ required: true, message: '请选择行政区', trigger: 'change' }
],
},
// 列表
tableData: {
// 列表头部
columns: [{
label: '序号',
type: 'index',
width: '50',
index: this.indexMethod,
}].concat(data.columns()).concat([
{
label: "操作",
width: '80',
render: (h, scope) => {
return (
<div>
<el-button
type="text"
size="mini"
onClick={() => { this.handleEdit(scope.row) }}
>
编辑
</el-button>
</div>
)
}
}
]),
// 列表数据
data: [{}]
},
// 分页
pageData: {
total: 0,
pageSize: 15,
current: 1,
}
}
},
methods: {
// 重置
resetForm () {
this.$refs.ruleForm.resetFields();
},
// 数据请求
async featchData () {
},
handleEdit (row) {
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
@import "./index.scss";
</style>
<template>
<!-- 编辑 -->
<dialogBox title="编辑" @closeDialog="closeDialog" @submitForm="handleSubmit" v-model="myValue">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
<el-row>
<el-col :span="6">
<el-form-item label="规则编码" prop="gzbm">
<el-input v-model="ruleForm.gzbm" placeholder="规则编码"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="规则名称" prop="gzmc">
<el-input v-model="ruleForm.gzmc" placeholder="规则名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="是否启用" prop="isqy">
<el-radio-group v-model="ruleForm.isqy">
<el-radio :label="1"></el-radio>
<el-radio :label="2"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
</dialogBox>
</template>
<script>
export default {
props: {
value: { type: Boolean, default: false },
},
data () {
return {
myValue: this.value,
ruleForm: {
gzbm: '',
xzqmc: '',
isqy: 1
},
rules: {
gzbm: [
{ required: true, message: '规则编码', trigger: 'blur' }
],
gzmc: [
{ required: true, message: '规则名称', trigger: 'blur' }
]
}
}
},
watch: {
value (val) {
this.myValue = val
}
},
methods: {
closeDialog () {
this.$emit('input', false)
},
handleSubmit () {
this.$emit('input', false)
}
}
}
</script>
\ No newline at end of file
import filter from '@/utils/filter.js'
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
prop: "gzbm",
label: "规则编码",
},
{
prop: "gzmc",
label: "规则名称",
},
{
prop: 'isqy',
label: '是否启用',
render: (h, scope) => {
return (
<div>
{
scope.row.isqy
? <el-tag type='success'>启用</el-tag>
: <el-tag type='success'>启用1</el-tag>
}
</div>
)
}
},
]
}
}
export default new data()
.jsgzgl {
background-color: #fff;
padding: 5px;
}
\ No newline at end of file
<template>
<!-- 接收规则管理 -->
<div class="jsgzgl from-clues">
<lb-table ref="table" :heightNum="195" :total="pageData.total" :page-size="pageData.size"
:current-page.sync="pageData.current" @size-change="handleSizeChange" @p-current-change="handleCurrentChange"
:column="tableData.columns" :data="tableData.data">
</lb-table>
<detailDialog v-model="isShow" />
</div>
</template>
<script>
// 引入表格数据
import data from "./data"
// 引入表格混入方法
import tableMixin from '@/mixins/tableMixin.js'
import detailDialog from './components/detailDialog'
export default {
name: "jsgzgl",
mixins: [tableMixin],
components: {
detailDialog
},
data () {
return {
isShow: false,
form: {
currentPage: 1
},
// 列表数据
tableData: {
// 列表头部
columns: [{
label: '序号',
type: 'index',
width: '50',
index: this.indexMethod,
}].concat(data.columns()).concat([
{
label: "操作",
width: '80',
render: (h, scope) => {
return (
<div>
<el-button
type="text"
size="mini"
onClick={() => { this.handleEdit(scope.row) }}
>
修改
</el-button>
</div>
)
}
}
]),
// 列表数据
data: [{}]
},
// 分页
pageData: {
total: 0,
pageSize: 15,
current: 1,
}
}
},
methods: {
// 重置表单
resetForm () {
this.$refs.ruleForm.resetFields();
},
async featchData () {
},
// 修改
handleEdit (row) {
this.isShow = true
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
@import "./index.scss";
</style>
......@@ -51,6 +51,7 @@ class data {
},
{
label: "业务类型数量",
width: '120',
render: (h, scope) => {
return (
<div class={'difference'}>
......
......@@ -9,9 +9,9 @@
</el-form-item>
<el-row>
<el-col :span="6">
<el-form-item label="行政区">
<el-select v-model="form.areacode" class="width100" filterable placeholder="请选择行政区">
<el-option v-for="item in dicData['XZQ']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
<el-form-item label="行政区">
<el-select v-model="form.areacode" class="width100" clearable placeholder="行政区">
<el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
</el-form-item>
......
......@@ -29,9 +29,8 @@ class data extends filter {
<div>
<span v-show={scope.row.exchangeState == 0} class='warehousing'>未上报</span>
<span v-show={scope.row.exchangeState == 1} class='warehousing'>上报成功未响应</span>
<span v-show={scope.row.exchangeState == 2} class='warehousing'>上报失败</span>
<span v-show={scope.row.exchangeState == 3} class='adopt'>上报成功响应成功</span>
<span v-show={scope.row.exchangeState == 4} class='warehousing'>响应失败</span>
<span v-show={scope.row.exchangeState == 2} class='warehousing'>上报响应失败</span>
<span v-show={scope.row.exchangeState == 3} class='adopt'>上报响应成功</span>
</div>
)
}
......@@ -39,7 +38,7 @@ class data extends filter {
{
prop: "areacode",
label: "行政区代码",
width: 80,
width: 90,
},
{
prop: "areaName",
......@@ -49,23 +48,26 @@ class data extends filter {
{
prop: "bizMsgid",
label: "业务报文ID",
width: 150,
},
{
prop: "createdate",
label: "创建时间",
width: 140,
},
{
prop: "recflowid",
label: "业务流水号",
width: 100,
},
{
prop: "estatenum",
label: "不动产单元号",
width: 240,
},
{
prop: "rectype",
label: "业务编码",
width: 90,
},
{
prop: "rectypeName",
......@@ -74,6 +76,7 @@ class data extends filter {
{
prop: "uploadtime",
label: "汇交时间",
width: 140,
}
]
}
......
......@@ -7,4 +7,9 @@
left: 50%;
transform: translateX(-50%);
}
}
.zhi {
color: #FFFFFF;
text-align: center;
}
\ No newline at end of file
......
......@@ -16,24 +16,24 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="汇交时间" prop="startTime">
<el-row :gutter="20">
<el-col :span="12">
<el-date-picker type="date" class="width100" placeholder="开始日期" :picker-options="pickerOptionsStart"
clearable v-model="form.exchangeStartTime" value-format="yyyy-MM-dd"></el-date-picker>
</el-col>
<el-col :span="12">
<el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd"
clearable v-model="form.exchangeEndTime" value-format="yyyy-MM-dd"></el-date-picker>
</el-col>
</el-row>
<el-col :span="6">
<el-form-item label="汇交时间" prop="exchangeStartTime">
<el-date-picker type="date" class="width100" placeholder="开始日期" clearable
:picker-options="pickerOptionsStart" v-model="form.exchangeStartTime"
value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="至" prop="exchangeStartTime" label-width="35px">
<el-date-picker type="date" class="width100" placeholder="结束日期" clearable
:picker-options="pickerOptionsEnd" v-model="form.exchangeEndTime"
value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="汇交状态" prop="state">
<el-select v-model="form.state" class="width100" clearable placeholder="响应结果">
<el-option v-for="item in []" :key="item.value" :label="item.label" :value="item.value">
<el-select v-model="form.hjjg" class="width100" clearable placeholder="汇交状态">
<el-option v-for="item in dicData['sbhjzt']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
</el-option>
</el-select>
</el-form-item>
......@@ -104,20 +104,16 @@ export default {
// 开始结束日期限制
pickerOptionsStart: {
disabledDate: (time) => {
if (this.form.reportEndTime) {
return (
time.getTime() >= new Date(this.form.reportEndTime).getTime()
);
if (this.form.exchangeEndTime) {
return time.getTime() >= new Date(this.form.exchangeEndTime).getTime();
}
},
},
// 结束日期限制
pickerOptionsEnd: {
disabledDate: (time) => {
if (this.form.reportStartTime) {
return (
time.getTime() <= new Date(this.form.reportStartTime).getTime()
);
if (this.form.exchangeStartTime) {
return time.getTime() <= new Date(this.form.exchangeStartTime).getTime();
}
},
},
......
<template>
<!-- 编辑 -->
<dialogBox submitForm="submitForm" class="tableClass" @closeDialog="closeDialog" @submitForm="handleSubmit" width="80%" v-model="myValue"
:isSave="details.ISENABLE == 1" title="字典信息">
<el-form :model="ruleForm" ref="ruleForm" label-width="100px">
<el-row :gutter="20">
<el-col :span="4">
<el-form-item label="字典类型编码">
{{ ruleForm.DCODE }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="字典类型名称">
{{ ruleForm.DNAME }}
</el-form-item>
</el-col>
</el-row>
</el-form>
<lb-table :column="column" class="loadingtext" :heightNum="420" :key="key" :expand-row-keys="keyList"
row-key="dictid" :tree-props="{ children: 'children' }" :pagination="false" :data="tableData">
</lb-table>
<dialogBox submitForm="submitForm" class="tableClass" @closeDialog="closeDialog" @submitForm="handleSubmit"
width="60%" v-model="myValue" :isMain="true" title="字典信息">
<div class="editDialogBox-box ">
<el-form :model="ruleForm" ref="ruleForm" label-width="100px">
<el-row :gutter="20">
<el-col :span="4">
<el-form-item label="字典类型编码">
{{ ruleForm.DCODE }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="字典类型名称">
{{ ruleForm.DNAME }}
</el-form-item>
</el-col>
</el-row>
</el-form>
<lb-table :column="column" class="loadingtext opacity-input" :heightNum="600" :key="key"
:expand-row-keys="keyList" row-key="dictid" :tree-props="{ children: 'children' }" :pagination="false"
:data="tableData">
</lb-table>
</div>
</dialogBox>
</template>
<script>
import { getUuid, judgeSort, realMove, findParents, removeTreeListItem } from '@/utils/operation'
import { editDictNode, getChildDictList } from '@/api/dict'
import {
getUuid,
judgeSort,
realMove,
findParents,
removeTreeListItem,
} from "@/utils/operation";
import { editDictNode, getChildDictList } from "@/api/dict";
export default {
props: {
value: { type: Boolean, default: false },
details: {
type: Object,
default: {}
}
default: {},
},
},
data () {
return {
......@@ -39,132 +48,169 @@ export default {
myValue: this.value,
keyList: [],
ruleForm: {
DCODE: '',
DNAME: ''
DCODE: "",
DNAME: "",
},
column: [],
columns: [
{
width: '70',
width: "70",
renderHeader: (h, scope) => {
return (<div>
{
this.details.ISENABLE === '0' ?
<span>序号</span> :
<i class="el-icon-plus" onClick={() => { this.handleAdd() }} style="cursor:pointer;color:#409EFF"></i>
}
</div>)
return (
<div>
{this.details.ISENABLE === "0" ? (
<span>序号</span>
) : (
<i
class="el-icon-plus"
onClick={() => {
this.handleAdd();
}}
style="cursor:pointer;color:#409EFF"
></i>
)}
</div>
);
},
render: (h, scope) => {
return (
<span>{scope.row.index}</span>
)
}
return <span>{scope.row.index}</span>;
},
},
{
prop: 'DCODE',
width: '100',
label: '字典项编码',
prop: "DCODE",
width: "100",
label: "字典项编码",
render: (h, scope) => {
return (
<div>
<el-input placeholder="字典项编码" disabled={this.details.isenable == 2} v-show={scope.row.codeShow} v-fo value={scope.row[scope.column.property]}
onFocus={() => { this.itemShowFalse(); scope.row.codeShow = true; }}
onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }} maxlength='8'></el-input>
<el-input
placeholder="字典项编码"
v-show={scope.row.codeShow}
v-fo
value={scope.row[scope.column.property]}
onFocus={() => {
this.itemShowFalse();
scope.row.codeShow = true;
}}
onInput={(val) => {
scope.row[scope.column.property] = val;
this.itemShowFalse();
scope.row.codeShow = true;
}}
maxlength="8"
></el-input>
<el-input placeholder="字典项编码" disabled={this.details.isenable == 2} v-show={!scope.row.codeShow} value={scope.row[scope.column.property]}
onFocus={() => { this.itemShowFalse(); scope.row.codeShow = true; }}
onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }} maxlength='8'></el-input>
<el-input
placeholder="字典项编码"
v-show={!scope.row.codeShow}
value={scope.row[scope.column.property]}
onFocus={() => {
this.itemShowFalse();
scope.row.codeShow = true;
}}
onInput={(val) => {
scope.row[scope.column.property] = val;
this.itemShowFalse();
scope.row.codeShow = true;
}}
maxlength="8"
></el-input>
</div>
)
}
);
},
},
{
prop: 'DNAME',
label: '字典项名称',
prop: "DNAME",
label: "字典项名称",
render: (h, scope) => {
return (
<div>
<el-input placeholder="字典项编码" disabled={this.details.isenable == 2} v-show={scope.row.nameShow} v-fo value={scope.row[scope.column.property]}
onFocus={() => { this.itemShowFalse(); scope.row.nameShow = true; }}
onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }}></el-input>
<el-input
placeholder="字典项编码"
v-show={scope.row.nameShow}
v-fo
value={scope.row[scope.column.property]}
onFocus={() => {
this.itemShowFalse();
scope.row.nameShow = true;
}}
onInput={(val) => {
scope.row[scope.column.property] = val;
this.itemShowFalse();
scope.row.codeShow = true;
}}
></el-input>
<el-input placeholder="字典项名称" disabled={this.details.isenable == 2} v-show={!scope.row.nameShow} value={scope.row[scope.column.property]}
onFocus={() => { this.itemShowFalse(); scope.row.nameShow = true; }}
onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }}></el-input>
<el-input
placeholder="字典项名称"
v-show={!scope.row.nameShow}
value={scope.row[scope.column.property]}
onFocus={() => {
this.itemShowFalse();
scope.row.nameShow = true;
}}
onInput={(val) => {
scope.row[scope.column.property] = val;
this.itemShowFalse();
scope.row.codeShow = true;
}}
></el-input>
</div>
)
}
);
},
},
// {
// prop: 'normcode',
// label: '部标编码',
// width: '100',
// render: (h, scope) => {
// return (
// <div>
// <el-input placeholder="部标编码" disabled={this.details.isenable == 2} v-show={scope.row.normcodeShow} v-fo value={scope.row[scope.column.property]}
// onFocus={() => { this.itemShowFalse(); scope.row.normcodeShow = true; }}
// onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }} maxlength='8'></el-input>
// <el-input placeholder="部标编码" disabled={this.details.isenable == 2} v-show={!scope.row.normcodeShow} value={scope.row[scope.column.property]}
// onFocus={() => { this.itemShowFalse(); scope.row.normcodeShow = true; }}
// onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }} maxlength='8'></el-input>
// </div>
// )
// }
// },
// {
// prop: 'normname',
// label: '部标名称',
// render: (h, scope) => {
// return (
// <div>
// <el-input placeholder="部标名称" disabled={this.details.isenable == 2} v-show={scope.row.normnameShow} v-fo value={scope.row[scope.column.property]}
// onFocus={() => { this.itemShowFalse(); scope.row.normnameShow = true; }}
// onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }}></el-input>
// <el-input placeholder="部标名称" disabled={this.details.isenable == 2} v-show={!scope.row.normnameShow} value={scope.row[scope.column.property]}
// onFocus={() => { this.itemShowFalse(); scope.row.normnameShow = true; }}
// onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }}></el-input>
// </div>
// )
// }
// },
// {
// prop: 'isenable',
// width: '160',
// label: '是否禁用',
// render: (h, scope) => {
// return (
// <el-radio-group disabled={this.details.isenable == 2} v-model={scope.row.isenable}>
// <el-radio label="1">启用</el-radio>
// <el-radio label="0">禁用</el-radio>
// </el-radio-group>
// )
// }
// },
{
width: '130',
label: '移动',
width: "130",
label: "移动",
render: (h, scope) => {
return (
<div>
<el-button type='text' disabled={scope.row.isTop} onClick={() => { this.moveUpward(scope.$index, scope.row) }}>上移</el-button>
<el-button type='text' disabled={scope.row.isBottom} onClick={() => { this.moveDown(scope.$index, scope.row) }}>下移</el-button >
</div >
)
}
<el-button
type="text"
disabled={scope.row.isTop}
onClick={() => {
this.moveUpward(scope.$index, scope.row);
}}
>
上移
</el-button>
<el-button
type="text"
disabled={scope.row.isBottom}
onClick={() => {
this.moveDown(scope.$index, scope.row);
}}
>
下移
</el-button>
</div>
);
},
},
{
width: '150',
label: '操作',
width: "100",
label: "操作",
render: (h, scope) => {
return (
<div>
<el-button type="text" style="margin-right:10px" onClick={() => { this.handleAddSubordinate(scope.row) }}>增加下级</el-button>
<el-button type="text" style="margin-left:0" onClick={() => { this.handleMinus(scope.$index, scope.row) }}>删除</el-button>
<el-button
type="text"
style="margin-right:10px"
onClick={() => {
this.handleAddSubordinate(scope.row);
}}
>
增加下级
</el-button>
<el-button
type="text"
style="margin-left:0"
onClick={() => {
this.handleMinus(scope.$index, scope.row);
}}
>
删除
</el-button>
</div>
)
}
......@@ -177,17 +223,17 @@ export default {
value (val) {
this.myValue = val
},
'details.dictid': {
"details.dictid": {
handler: function (newValue) {
if (!this.value) return
this.$startLoading();
getChildDictList(newValue).then(res => {
if (!this.value) return;
getChildDictList(newValue).then((res) => {
this.$endLoading();
let { result } = res
this.tableData = result ? result : []
let { result } = res;
this.tableData = result ? result : [];
this.tableData.forEach((item, index) => {
item.index = index + 1
item.index = index + 1;
})
this.tableData = judgeSort(this.tableData)
})
},
immediate: true
......@@ -195,138 +241,136 @@ export default {
details: {
handler: function (newValue) {
if (newValue.ISENABLE == 2) {
this.column = this.columns.slice(0, 6)
this.column = this.columns.slice(0, 6);
} else {
this.column = this.columns
this.column = this.columns;
}
this.ruleForm = newValue.rowData
this.addIndexes()
this.key++
this.ruleForm = newValue.rowData;
this.addIndexes();
this.key++;
},
deep: true
}
deep: true,
},
},
methods: {
// 添加索引
addIndexes (data = this.tableData, isAdd = true) {
data.forEach((item, index) => {
if (index == 0) {
item.codeShow = true
item.nameShow = false
item.normcodeShow = false
item.normnameShow = false
item.codeShow = true;
item.nameShow = false;
item.normcodeShow = false;
item.normnameShow = false;
} else {
item.codeShow = false
item.nameShow = false
item.normcodeShow = false
item.normnameShow = false
item.codeShow = false;
item.nameShow = false;
item.normcodeShow = false;
item.normnameShow = false;
}
if (isAdd) {
item.index = index + 1
item.index = index + 1;
}
if (item.children) {
this.addIndexes(item.children, false)
this.addIndexes(item.children, false);
}
})
});
},
itemShowFalse () {
this.tableData.forEach((item, index) => {
item.codeShow = false
item.nameShow = false
item.normcodeShow = false
item.normnameShow = false
})
item.codeShow = false;
item.nameShow = false;
item.normcodeShow = false;
item.normnameShow = false;
});
},
handleMinus (index, row) {
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
removeTreeListItem(this.tableData, row.dictid)
this.$message({
type: 'success',
message: '删除成功!'
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
this.$confirm("此操作将永久删除, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
removeTreeListItem(this.tableData, row.dictid);
this.$message({
type: "success",
message: "删除成功!",
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
handleSubmit () {
editDictNode({
dictid: this.details.rowData.dictid,
typeid: this.details.rowData.typeid,
children: this.tableData
}).then(res => {
children: this.tableData,
}).then((res) => {
if (res.code === 200) {
this.$message({
message: '修改成功',
type: 'success'
})
this.$emit('input', false)
message: "修改成功",
type: "success",
});
this.$emit("input", false);
}
})
});
},
closeDialog () {
this.$emit('input', false)
this.$emit("input", false);
},
// 增加下级
handleAddSubordinate (row) {
if (!row.children) {
row.children = []
row.children = [];
}
row.children.push(
{
DCODE: '',
DNAME: '',
ISENABLE: '1',
NORMCODE: '',
NORMNAME: '',
dictid: getUuid(32),
typeid: row.typeid,
}
)
row.children.push({
DCODE: "",
DNAME: "",
ISENABLE: "1",
NORMCODE: "",
NORMNAME: "",
dictid: getUuid(32),
typeid: row.typeid,
});
this.keyList = [];
this.keyList.push(row.dictid)
this.keyList.push(row.dictid);
},
// 增加
handleAdd () {
this.$nextTick(() => {
let container = this.$el.querySelector('.el-table__body-wrapper');
let container = this.$el.querySelector(".el-table__body-wrapper");
container.scrollTop = container.scrollHeight;
})
this.tableData.push(
{
DCODE: '',
DNAME: '',
ISENABLE: '1',
normcode: '',
normname: '',
dictid: getUuid(32),
typeid: this.ruleForm.typeid,
}
)
this.addIndexes()
this.key++
});
this.tableData.push({
DCODE: "",
DNAME: "",
ISENABLE: "1",
normcode: "",
normname: "",
dictid: getUuid(32),
typeid: this.ruleForm.typeid,
});
this.addIndexes();
this.key++;
},
// 上移下移
moveUpward (index, row) {
realMove(row.dictid, 'UP', this.tableData)
this.key++
let id = findParents(this.tableData, row.dictid)
this.keyList = id
realMove(row.dictid, "UP", this.tableData);
let id = findParents(this.tableData, row.dictid);
this.keyList = id;
this.key++;
},
moveDown (index, row) {
realMove(row.dictid, 'DOWN', this.tableData)
this.key++
let id = findParents(this.tableData, row.dictid)
this.keyList = id
}
}
}
realMove(row.dictid, "DOWN", this.tableData);
let id = findParents(this.tableData, row.dictid);
this.keyList = id;
this.key++;
},
},
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
@import "~@/styles/public.scss";
......@@ -340,10 +384,29 @@ export default {
display: block;
}
/deep/.el-form-item__label {
color: #fff;
}
/deep/.el-form-item {
color: #fff;
margin-bottom: 10px;
}
/deep/.el-radio-group {
display: flex;
align-items: center;
justify-content: center;
}
</style>
.editDialogBox-box {
margin: 14px 18px 30px 18px !important
}
.opacity-input {
/deep/ .el-input__inner {
background-color: transparent;
border: 1px solid #458ACF;
}
}
</style>
......
......@@ -29,25 +29,9 @@ class data extends filter {
{
prop: "DNAME",
label: "字典类型名称",
},
// {
// label: "是否允许修改",
// width: '150',
// render: (h, scope) => {
// return (
// <div>
// {
// scope.row.ISENABLE == '1' ?
// <div class='allow'>允许</div> :
// <div class='prohibit'>禁止</div>
// }
// </div>
// )
// }
// }
}
]
}
}
let datas = new data()
export {
......
......@@ -3,6 +3,9 @@
<!-- 表单部分 -->
<div class="from-clues-header">
<el-form @submit.native.prevent :model="ruleForm" label-width="120px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="字典类型编码">
......@@ -18,7 +21,7 @@
<el-col :span="12" class="btnColRight">
<btn nativeType="cx" @click="queryClick">查询</btn>
<btn nativeType="sb" @click="handleRefresh">刷新缓存</btn>
<btn nativeType="cx" @click="handleRefresh">刷新缓存</btn>
</el-col>
</el-row>
</el-form>
......@@ -65,19 +68,12 @@ export default {
columns: datas.columns().concat([
{
label: "操作",
width: 170,
render: (h, scope) => {
return (
<div>
{
scope.row.isenable == '1' ?
<el-button type="text" icon="el-icon-edit-outline" onClick={() => { this.editClick(scope.row, 1) }}>修改</el-button> :
<el-button type="text" icon="el-icon-view" onClick={() => { this.editClick(scope.row, 2) }}>查看</el-button>
}
</div>
);
},
},
<el-button type="text" icon="el-icon-edit-outline" onClick={() => { this.editClick(scope.row, 1) }}>修改</el-button>
)
}
}
]),
data: []
}
......@@ -86,7 +82,6 @@ export default {
methods: {
// 初始化数据
queryClick () {
// this.$startLoading();
getQlxxDictList({ ...this.ruleForm, ...this.pageData }).then(res => {
// this.$endLoading();
let { records, total } = res.result
......@@ -100,7 +95,6 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$startLoading()
refreshDictCache().then(res => {
if (res.code == 200) {
let refech = this.$store.dispatch('dict/generateDic')
......
<template>
<Dialog :title="title" class="tableClass" :show.sync="visible" :width="'715px'" @close="close()">
<template slot="content">
<lb-table ref="multipleTable"
:pagination="false"
:column="tableData.column"
:data="tableData.data"
@selection-change="handleSelectionChange">
</lb-table>
</template>
<template slot="footer">
<el-button type="primary" class="save" @click="handleSaveMember()"
>保存</el-button
>
<el-button class="cancel-button" @click="close()">取消</el-button>
</template>
</Dialog>
</template>
<script>
import Dialog from "@/components/Dialog/";
export default {
name: "",
components: { Dialog },
props: {},
data() {
return {
title: "人员配置",
visible: false,
tableData: {
column: [
{
type: 'selection'
},
{
prop: 'name',
label: '角色名称'
},
{
prop: 'type',
label: '角色类型'
},
{
prop: 'departmentName',
label: '角色描述'
},
],
data: [
{
id: "3127e455-43ba-45ff-9326-0e02ef89485e",
createdAt: null,
updatedAt: "2022-08-04T03:38:27.626+0000",
createdBy: null,
updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
sort: 1,
name: "超级管理员",
loginName: "admin",
password: "05eb15777e8fd1d61c840472e7267f61d432f63340d86b59",
passwordSalt: "5178114777136485",
email: null,
lastLoginTime: null,
mobilePhone: "18291003568",
status: "ACTIVE",
passwordChangeTime: "2021-12-10T08:01:01.569+0000",
idCard: "612725202111021521",
departmentId: "2eae5304-544f-4f5b-b354-8f5d47433c9b",
organizationId: "0bca67ae-1d9e-4b41-b057-f165586d24aa",
sex: "0",
isDuty: true,
type:"",
code: "123324",
jobLevel: null,
telephone: "028-87720898",
address: "办公地点修改测试",
isLocked: false,
departmentName: "研发部",
_X_ROW_KEY: "row_276",
},
{
name: '数据管理员',
type:"1",
},
{
name: '数据管理员2',
type:"d",
}
]
},
multipleSelection: []
}
},
computed: {},
watch: {},
created() {},
mounted() {},
methods: {
authorization() {
this.visible = true;
},
close() {
// this.resetForm()
this.visible = false;
},
// 保存事件
handleSaveMember() {
// if (this.memberList.length === 0) {
// this.$message.warning("请添加待选人员");
// return false;
// }
// const idList = this.memberList.map(item => item.id)
// updateUser(this.roleId, idList).then(res => {
// if (res.status === 1) {
// this.$message.success({ message: '保存成功', showClose: true })
// this.showMemberConfigDialog = false
// this.$emit('setUsers', this.roleId)
// this.resetMemberConfig()
// } else this.$message.error({ message: res.message, showClose: true })
// })
},
handleSelectionChange (val) {
console.log("vadddl",val);
this.multipleSelection = val
}
}
};
</script>
<style scoped lang="scss">
/deep/.el-dialog__header{
text-align: center;
margin-bottom: 10px;
.el-dialog__title{
color: white;
}
}
</style>
......@@ -11,14 +11,14 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="菜单名称:" prop="name" label-width="124px">
<el-input v-model="form.name" placeholder="请输入菜单名称" />
<el-input v-model="form.name" placeholder="菜单名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="图标:" label-width="54px">
<el-input
v-model="form.icon"
placeholder="请选择图标"
placeholder="图标"
:prefix-icon="form.icon"
clearable
@focus="getIconList"
......@@ -34,7 +34,7 @@
v-model="form.parentId"
:options="parentMenuList"
:props="setProps"
placeholder="请选择上级菜单"
placeholder="上级菜单"
clearable
@change="handleChange"
/>
......@@ -44,7 +44,7 @@
<el-form-item label="代码:" prop="code" label-width="54px">
<el-input
v-model="codeComputed"
placeholder="请输入菜单代码"
placeholder="菜单代码"
:disabled="type === 1"
/>
</el-form-item>
......@@ -53,7 +53,7 @@
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="链接路径:" label-width="124px">
<el-input v-model="form.uri" placeholder="请输入链接路径" />
<el-input v-model="form.uri" placeholder="链接路径" />
</el-form-item>
</el-col>
</el-row>
......@@ -62,7 +62,7 @@
<el-form-item label="浏览器跳转模式:" label-width="124px">
<el-select
v-model="form.jumpMode"
placeholder="请选择浏览器跳转模式"
placeholder="浏览器跳转模式"
>
<el-option
v-for="item in jumpModeList"
......@@ -204,22 +204,14 @@ export default {
// this.form.jumpMode = 1
},
edit(record) {
// this.type = 1
// // 若有id为编辑
// if (record.id) {
// this.$nextTick(() => {
// this.form = Object.assign({}, record)
// this.getParentMenuList(this.productId)
// })
// }
this.visible = true;
},
addChild(record) {
// this.getParentMenuList(this.productId)
// 若有id为编辑
if (record.id) {
this.$nextTick(() => {
this.form = Object.assign({}, record)
// this.getParentMenuList(this.productId)
})
}
this.visible = true;
// this.type = 2
// this.form.jumpMode = 1
// this.form.parentId = record.id
},
handleChange(value) {
// this.form.parentId = value
......@@ -289,12 +281,16 @@ export default {
};
</script>
<style scoped lang="scss">
.el-form {
.el-input {
.el-input__icon {
font-size: 14px;
// color: #3AA3F8 !important;
}
}
/deep/.el-input__inner {
background: #07388B;
border-radius: 2px;
border: 1px solid #6BC1FC;
}
/deep/.el-textarea__inner{
background: #07388B;
color: #fff;
}
/deep/.el-form-item__label{
color:#fff;
}
</style>
......
......@@ -12,7 +12,7 @@
<div class="from-clues-content">
<lb-table
:column="tableData.columns"
:data="tabledata11"
:data="tabledata"
row-key="id"
default-expand-all
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
......@@ -20,27 +20,30 @@
</lb-table>
</div>
<edit-dialog ref="dialogForm" />
<authorizationdiglog ref="rolesForm" />
</div>
</template>
<script>
// 定时任务
import data from "./data";
import EditDialog from "./edit-dialog.vue";
import authorizationdiglog from "./authorizationdiglog.vue";
export default {
name: "menus",
components: {
EditDialog,
authorizationdiglog,
},
data() {
return {
tabledata11: [
tabledata: [
{
id: "c6221838-187b-4a7a-b173-b0543022f560",
createdAt: "2021-08-26T07:00:07.101+0000",
updatedAt: "2021-08-26T07:00:07.101+0000",
createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
sort: 135,
sort: 35,
name: "概览",
code: "GL",
description: null,
......@@ -293,14 +296,14 @@ export default {
// 修改
handleEdit(record) {
localStorage.setItem("record", JSON.stringify(record));
this.$refs.dialogForm.edit(record);
this.$refs.dialogForm.title = "修改";
},
// 授权
authorizationQuery(record) {
this.$refs.authorizationList.open(record, 'menu')
this.$refs.authorizationList.emptyJudge = true
this.$refs.rolesForm.authorization(record);
this.$refs.rolesForm.title = "授权查询";
},
// 删除
handleDelete(row, id) {
......@@ -340,4 +343,7 @@ export default {
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/public.scss";
/deep/.el-table__expand-icon{
color: #fff;
}
</style>
......
......@@ -6,17 +6,17 @@ class data extends filter {
columns () {
return [
{
prop: "job_name",
prop: "name",
label: "角色名称",
width: 330
},
{
prop: "description",
prop: "type",
label: "类别",
width: 400
},
{
prop: "cron_expression",
prop: "description",
label: "备注"
}
]
......
......@@ -7,19 +7,17 @@ class data extends filter {
return [
{
prop: "name",
label: "用户名称",
label: "角色名称",
width: 330
},
{
prop: "sj",
label: "时间",
prop: "type",
label: "类别",
width: 400
},
{
prop: "czlx",
label: "操作类型",
},
{
prop: "ywh",
label: "业务号",
prop: "address",
label: "备注"
}
]
}
......
......@@ -14,13 +14,13 @@
<el-input
v-model="dialogForm.roleName"
clearable
placeholder="请输入角色名称"
placeholder="角色名称"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="角色类型:" prop="roleType">
<!-- <el-select v-model="dialogForm.roleType.value" placeholder="请输入角色类型">
<!-- <el-select v-model="dialogForm.roleType.value" placeholder="角色类型">
<el-option
v-for="item in roleTypeOptions"
:key="item.value"
......@@ -31,7 +31,7 @@
<el-input
v-model="dialogForm.roleType"
clearable
placeholder="请输入角色类型"
placeholder="角色类型"
/>
</el-form-item>
</el-col>
......@@ -43,7 +43,7 @@
<el-input
v-model="dialogForm.roleTextArea"
type="textarea"
placeholder="请输入内容"
placeholder="备注"
/>
</el-form-item>
</el-col>
......@@ -171,4 +171,17 @@ export default {
}
}
</script>
<style scoped lang="scss"></style>
<style scoped lang="scss">
/deep/.el-input__inner {
background: #07388B;
border-radius: 2px;
border: 1px solid #6BC1FC;
}
/deep/.el-textarea__inner{
background: #07388B;
color: #fff;
}
/deep/.el-form-item__label{
color:#fff;
}
</style>
......
<template>
<div class="timedTask from-clues">
<div class="from-clues-header">
<div class="from-clues-header">
<el-form ref="ruleForm" :model="form" label-width="100px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row class="mb-5">
<el-col :span="2" class="btnColRight">
<btn nativeType="cx" @click="handleAdd">增加角色</btn>
</el-col>
</el-row>
</el-form>
</div>
......@@ -14,177 +16,239 @@
<lb-table :page-size="pageData.size" :current-page.sync="pageData.current" :total="pageData.total"
@size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns"
:data="tableData.data">
</lb-table>
</lb-table>
</div>
<EditDialog ref="dialogForm" />
<Roleslistdiglog ref="rolesForm" />
<EditDialog ref="addEditDialog" />
<Roleslistdiglog ref="rolesForm" />
</div>
</template>
<script>
// 定时任务
import data from "./data"
import sjsbTask from '@/api/sjsbTask.js'
import tableMixin from '@/mixins/tableMixin.js'
import data from "./data";
import sjsbTask from "@/api/sjsbTask.js";
import tableMixin from "@/mixins/tableMixin.js";
import EditDialog from "./edit-dialog.vue";
import Roleslistdiglog from "./roleslistdiglog.vue";
export default {
name: "menus",
mixins: [tableMixin],
components: {
EditDialog,Roleslistdiglog
EditDialog,
Roleslistdiglog,
},
data () {
return {
taskData: null,
form: {
job_name: '',
currentPage: 1
job_name: "",
currentPage: 1,
},
title: '',
// 当前所选角色id
roleId: "",
title: "",
queryParam: {},
selectType: '0',
queryName: '',
organizationId: '', // 组织机构ID
departmentId: '', // 部门ID
selectType: "0",
queryName: "",
organizationId: "", // 组织机构ID
departmentId: "", // 部门ID
departmentList: [], // 部门列表
levelList: [], // 职务级别
tableData: [],
sexList: [],
typeOptions: [
{
value: '0',
label: '姓名'
value: "0",
label: "姓名",
},
{
value: '1',
label: '工号'
value: "1",
label: "工号",
},
{
value: '2',
label: '部门'
value: "2",
label: "部门",
},
{
value: '3',
label: '机构'
}
value: "3",
label: "机构",
},
],
selectionList: [],
tableData: {
columns: [{
label: '序号',
type: 'index',
width: '50',
index: this.indexMethod,
}].concat(data.columns()).concat([ {
label: "操作",
width: 380,
render: (h, scope) => {
return (
<div>
<el-button type="text" size="mini"
icon="el-icon-video-pause"
onClick={() => { this.personnel(scope.row) }}>人员
</el-button>
<el-button type="text" size="mini"
icon="el-icon-edit"
onClick={() => { this.handleEdit(scope.row) }}>修改
</el-button>
<el-button type="text" size="mini"
icon="el-icon-delete" style="color:#F56C6C"
onClick={() => { this.handleDel(scope.row) }}>删除
</el-button>
</div>
);
},
columns: [
{
label: "序号",
type: "index",
width: "50",
index: this.indexMethod,
},
]),
data: []
]
.concat(data.columns())
.concat([
{
label: "排序",
width: 380,
render: (h, scope) => {
return (
<div>
<el-button
type="text"
size="mini"
icon="el-icon-video-pause"
onClick={() => {
this.personnel(scope.row);
}}
>
人员
</el-button>
<el-button
type="text"
size="mini"
icon="el-icon-edit"
onClick={() => {
this.handleEdit(scope.row);
}}
>
修改
</el-button>
</div>
);
},
},
])
.concat([
{
label: "操作",
width: 380,
render: (h, scope) => {
return (
<div>
<el-button
type="text"
size="mini"
icon="el-icon-video-pause"
onClick={() => {
this.personnel(scope.row);
}}
>
人员
</el-button>
<el-button
type="text"
size="mini"
icon="el-icon-edit"
onClick={() => {
this.handleEdit(scope.row);
}}
>
修改
</el-button>
<el-button
type="text"
size="mini"
icon="el-icon-delete"
style="color:#F56C6C"
onClick={() => {
this.handleDel(scope.row);
}}
>
删除
</el-button>
</div>
);
},
},
]),
data: [],
},
pageData: {
total: 5,
pageSize: 15,
current: 1,
},
}
};
},
created () {
this.featchData();
},
methods: {
// 新增角色
handleAdd() {
// this.$refs.addEditDialog.menuType = this.menuType
// 新增角色
handleAdd () {
// this.$refs.addEditDialog.roleId = value.id
// this.roleSort = value.sort ? value.sort : 0
// if (value.id) {
// this.$refs.addEditDialog.dialogForm.roleName = value.name
// this.$refs.addEditDialog.dialogForm.roleType = value.type
// this.$refs.addEditDialog.dialogForm.roleTextArea = value.description
// }
this.$refs.dialogForm.showAddEditDialog = true
// this.$refs.addEditDialog.dialogTitle = value.id ? '修改' : '新增'
this.$refs.addEditDialog.showAddEditDialog = true;
this.$refs.addEditDialog.dialogTitle = "新增";
},
// 修改角色
handleEdit(row) {
// this.$refs.addEditDialog.menuType = this.menuType
// this.$refs.addEditDialog.roleId = row.id
// this.roleSort = row.sort ? row.sort : 0
// if (row.id) {
// this.$refs.addEditDialog.dialogForm.roleName = row.name
// this.$refs.addEditDialog.dialogForm.roleType = row.type
// this.$refs.addEditDialog.dialogForm.roleTextArea = row.description
// }
this.$refs.dialogForm.showAddEditDialog = true
// this.$refs.addEditDialog.dialogTitle = row.id ? '修改' : '新增'
handleEdit (row) {
this.$refs.addEditDialog.roleId = row.id;
this.roleSort = row.sort ? row.sort : 0;
if (row.id) {
this.$refs.addEditDialog.dialogForm.roleName = row.name;
this.$refs.addEditDialog.dialogForm.roleType = row.type;
this.$refs.addEditDialog.dialogForm.roleTextArea = row.description;
}
this.$refs.addEditDialog.showAddEditDialog = true;
this.$refs.addEditDialog.dialogTitle = "修改";
},
featchData () {
this.tableData.data = [
featchData () {
this.tableData.data = [
{
job_name: "人事部材料管理员",
description: "材料管理员",
cron_expression: "管理内部材料",
id: "2176e915-fdb4-414a-b8d6-6cf63171cffc",
createdAt: "2022-10-31T07:08:29.293+0000",
updatedAt: "2022-10-31T07:08:29.293+0000",
createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
sort: 29,
name: "人事部材料管理员",
type: "材料管理员",
category: 2,
description: "管理内部材料",
_X_ROW_KEY: "row_365",
},
]
];
},
personnel(){
personnel () {
this.$refs.rolesForm.adds();
// this.$refs.rolesForm.title = "人员配置";
this.$refs.rolesForm.title = "人员配置";
},
handleDel (row) {
this.$confirm('此操将进行删除操作, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
this.$confirm("此操将进行删除操作, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
sjsbTask.sjsbTaskRemove(row.id)
sjsbTask
.sjsbTaskRemove(row.id)
.then((res) => {
if ((res.code = 200)) {
this.$message({
type: 'success',
type: "success",
message: res.message,
})
this.featchData()
});
this.featchData();
}
})
.catch((error) => {
this.$alert(error, '提示', {
confirmButtonText: '确定',
type: 'error'
})
})
this.$alert(error, "提示", {
confirmButtonText: "确定",
type: "error",
});
});
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消',
})
})
}
}
}
type: "info",
message: "已取消",
});
});
},
},
};
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
......
<template>
<Dialog :title="title" :show.sync="visible" :width="'715px'" @close="close()">
<Dialog
:title="title"
class="tableClass"
:show.sync="visible"
:width="'715px'"
@close="close()"
>
<template slot="content">
<vxe-table
show-overflow
:data="memberList"
border
class="header-bg-type1"
auto-resize
:checkbox-config="{ highlight: true, range: true }"
highlight-hover-row
max-height="500px"
:empty-render="{ name: 'NotData' }"
<lb-table
ref="multipleTable"
:pagination="false"
:column="tableData.column"
:data="tableData.data"
@selection-change="handleSelectionChange"
>
<template #empty>
<table-empty />
</template>
<vxe-table-column
type="checkbox"
width="60"
align="left"
fixed="left"
/>
<vxe-table-column
field="code"
title="工号"
fixed="left"
min-width="100"
show-header-overflow="tooltip"
show-overflow="tooltip"
align="left"
/>
<vxe-table-column
title="姓名"
fixed="left"
show-header-overflow="tooltip"
show-overflow="tooltip"
>
<template slot-scope="scope">
<svg-icon
:icon-class="
scope.row.sex === '0'
? 'male'
: scope.row.sex === '1'
? 'female'
: 'secrecy'
"
/>
{{ scope.row.name }}
</template>
</vxe-table-column>
<vxe-table-column
field="loginName"
title="用户名"
fixed="left"
show-header-overflow="tooltip"
show-overflow="tooltip"
/>
<vxe-table-column
field="departmentName"
title="部门"
show-header-overflow="tooltip"
show-overflow="tooltip"
/>
</vxe-table>
</lb-table>
</template>
<template slot="footer">
<el-button type="primary" class="save" @click="submitForm(1)"
<el-button type="primary" class="save" @click="handleSaveMember()"
>保存</el-button
>
<el-button class="cancel-button" @click="close()">取消</el-button>
......@@ -81,57 +33,92 @@ export default {
props: {},
data() {
return {
form: {
sex: "0",
},
memberList: [
title: "人员配置",
visible: false,
hasSelectList: [
{
id: "3127e455-43ba-45ff-9326-0e02ef89485e",
createdAt: null,
updatedAt: "2022-08-04T03:38:27.626+0000",
createdBy: null,
updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
sort: 1,
name: "超级管理员",
loginName: "admin",
password: "05eb15777e8fd1d61c840472e7267f61d432f63340d86b59",
passwordSalt: "5178114777136485",
email: null,
lastLoginTime: null,
mobilePhone: "18291003568",
status: "ACTIVE",
passwordChangeTime: "2021-12-10T08:01:01.569+0000",
idCard: "612725202111021521",
departmentId: "2eae5304-544f-4f5b-b354-8f5d47433c9b",
organizationId: "0bca67ae-1d9e-4b41-b057-f165586d24aa",
sex: "0",
isDuty: true,
code: "123324",
name: "管理员",
loginName: "admin1",
departmentName: "研发部",
jobLevel: null,
telephone: "028-87720898",
address: "办公地点修改测试",
isLocked: false,
},
{
name: "测试账号",
loginName: "admin2",
departmentName: "研发部",
_X_ROW_KEY: "row_276",
jobLevel: null,
},
],
title: "",
type: "",
visible: false,
showLoginName: false,
options: [],
setProps: {
value: "id",
label: "name",
children: "children",
expandTrigger: "hover",
checkStrictly: true, // 可取消关联,选择任意一级选项
emitPath: false,
], //已经选择的id组成的数组
tableData: {
column: [
{
type: "selection",
},
{
prop: "name",
label: "姓名",
},
{
prop: "loginName",
label: "用户名",
},
{
prop: "departmentName",
label: "部门",
},
{
prop: "jobLevel",
label: "职务",
},
],
data: [
{
id: "3127e455-43ba-45ff-9326-0e02ef89485e",
createdAt: null,
updatedAt: "2022-08-04T03:38:27.626+0000",
createdBy: null,
updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
sort: 1,
name: "超级管理员",
loginName: "admin",
password: "05eb15777e8fd1d61c840472e7267f61d432f63340d86b59",
passwordSalt: "5178114777136485",
email: null,
lastLoginTime: null,
mobilePhone: "18291003568",
status: "ACTIVE",
passwordChangeTime: "2021-12-10T08:01:01.569+0000",
idCard: "612725202111021521",
departmentId: "2eae5304-544f-4f5b-b354-8f5d47433c9b",
organizationId: "0bca67ae-1d9e-4b41-b057-f165586d24aa",
sex: "0",
isDuty: true,
code: "123324",
jobLevel: null,
telephone: "028-87720898",
address: "办公地点修改测试",
isLocked: false,
departmentName: "研发部",
_X_ROW_KEY: "row_276",
},
{
name: "管理员",
loginName: "admin1",
departmentName: "研发部",
jobLevel: null,
selectStatus: 0,
},
{
name: "测试账号",
loginName: "admin2",
departmentName: "研发部",
jobLevel: null,
selectStatus: 0,
},
],
},
sexList: [],
levelList: [],
organizationId: "", // 组织机构ID
departmentId: "", // 部门ID
multipleSelection: [],
};
},
computed: {},
......@@ -141,33 +128,49 @@ export default {
methods: {
adds() {
this.visible = true;
this.tableData.data.forEach((item, index) => {
if (item.selectStatus === 0) {
this.$nextTick(() => {
this.$refs.multipleTable.toggleRowSelection(
this.tableData.data[index],
true
);
});
}
});
},
edit(record) {
this.visible = true;
},
handleChange(value) {
this.form.departmentId = value;
},
close() {
// this.resetForm()
this.visible = false;
},
// 保存事件
handleSaveMember() {
// if (this.memberList.length === 0) {
// this.$message.warning("请添加待选人员");
// return false;
// }
// const idList = this.memberList.map(item => item.id)
// updateUser(this.roleId, idList).then(res => {
// if (res.status === 1) {
// this.$message.success({ message: '保存成功', showClose: true })
// this.showMemberConfigDialog = false
// this.$emit('setUsers', this.roleId)
// this.resetMemberConfig()
// } else this.$message.error({ message: res.message, showClose: true })
// })
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
},
};
</script>
<style scoped lang="scss">
.el-form {
.el-form-item__content {
.el-radio {
margin-right: 6px;
}
}
.el-checkbox {
line-height: 40px;
}
.col-pd0 {
padding: 0 !important;
}
/deep/.el-dialog__header{
text-align: center;
margin-bottom: 10px;
.el-dialog__title{
color: white;
}
}
</style>
......
......@@ -2,15 +2,18 @@
<div class="timedTask from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="80px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="6">
<el-form-item label="搜索标题">
<el-input v-model="form.job_name" placeholder="请输入标题"></el-input>
<el-input v-model="form.job_name" placeholder="标题"></el-input>
</el-form-item>
</el-col>
<el-col :span="18" class="btnColRight">
<btn nativeType="cx" @click="handleSubmit">搜索</btn>
<btn nativeType="sb" @click="handleAdd">新增</btn>
<btn nativeType="cx" @click="handleSubmit">搜索</btn>
<btn nativeType="cx" @click="handleAdd">新增</btn>
</el-col>
</el-row>
</el-form>
......
......@@ -5,7 +5,7 @@
<el-row :gutter="24">
<el-col :span="11">
<el-form-item label="姓名:" prop="name" label-width="100px">
<el-input v-model="form.name" placeholder="请输入姓名" />
<el-input v-model="form.name" placeholder="姓名" />
</el-form-item>
</el-col>
<el-col :span="13">
......@@ -28,7 +28,7 @@
<el-row :gutter="24">
<el-col :span="11">
<el-form-item label="工号:" prop="code" label-width="100px">
<el-input v-model="form.code" placeholder="请输入工号" />
<el-input v-model="form.code" placeholder="工号" />
</el-form-item>
</el-col>
<el-col :span="13">
......@@ -36,7 +36,7 @@
<el-input
v-model="form.loginName"
:disabled="showLoginName"
placeholder="请输入用户名"
placeholder="用户名"
/>
</el-form-item>
</el-col>
......@@ -44,7 +44,7 @@
<el-row :gutter="24">
<el-col :span="11">
<el-form-item label="身份证号码:" label-width="100px">
<el-input v-model="form.idCard" placeholder="请输入身份证号码" />
<el-input v-model="form.idCard" placeholder="身份证号码" />
</el-form-item>
</el-col>
<el-col :span="13">
......@@ -55,7 +55,7 @@
>
<el-input
v-model="form.mobilePhone"
placeholder="请输入手机号码"
placeholder="手机号码"
/>
</el-form-item>
</el-col>
......@@ -65,7 +65,7 @@
<el-form-item label="最高职务级别:" label-width="100px">
<el-select
v-model="form.jobLevel"
placeholder="请选择最高职务级别"
placeholder="最高职务级别"
>
<el-option
v-for="item in levelList"
......@@ -78,7 +78,7 @@
</el-col>
<el-col :span="13">
<el-form-item label="办公电话:" prop="telephone" label-width="72px">
<el-input v-model="form.telephone" placeholder="请输入办公电话" />
<el-input v-model="form.telephone" placeholder="办公电话" />
</el-form-item>
</el-col>
</el-row>
......@@ -89,7 +89,7 @@
label-width="100px"
class="form-item-mb0"
>
<el-input v-model="form.address" placeholder="请输入办公地点" />
<el-input v-model="form.address" placeholder="办公地点" />
</el-form-item>
</el-col>
</el-row>
......@@ -222,17 +222,16 @@ export default {
};
</script>
<style scoped lang="scss">
.el-form {
.el-form-item__content {
.el-radio {
margin-right: 6px;
}
}
.el-checkbox {
line-height: 40px;
}
.col-pd0 {
padding: 0 !important;
}
/deep/.el-input__inner {
background: #07388B;
border-radius: 2px;
border: 1px solid #6BC1FC;
}
/deep/.el-textarea__inner{
background: #07388B;
color: #fff;
}
/deep/.el-form-item__label{
color:#fff;
}
</style>
......
......@@ -2,30 +2,23 @@
<div class="timedTask from-clues">
<div class="from-clues-header">
<el-form ref="ruleForm" :model="form" label-width="100px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row class="mb-5">
<!-- 按钮操作 -->
<el-col :span="2" class="btnColRight">
<el-form-item>
<btn nativeType="cx" @click="handleAdd">添加人员</btn>
<!-- <btn nativeType="cx" @click="resetPassword(selectionRows)"
>重置密码</btn
>
<btn nativeType="cx" @click="resetSearch()">重置</btn> -->
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div class="from-clues-content">
<lb-table
:page-size="pageData.size"
:current-page.sync="pageData.current"
:total="pageData.total"
@size-change="handleSizeChange"
@p-current-change="handleCurrentChange"
:column="tableData.columns"
:data="tableData.data"
>
<lb-table :page-size="pageData.size" :current-page.sync="pageData.current" :total="pageData.total"
@size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns"
:data="tableData.data">
</lb-table>
</div>
<edit-dialog ref="dialogForm" />
......@@ -33,6 +26,13 @@
</template>
<script>
// 定时任务
import {
getUuid,
judgeSort,
realMove,
findParents,
removeTreeListItem,
} from "@/utils/operation";
import data from "./data";
import sjsbTask from "@/api/sjsbTask.js";
import tableMixin from "@/mixins/tableMixin.js";
......@@ -43,7 +43,7 @@ export default {
components: {
EditDialog,
},
data() {
data () {
return {
taskData: null,
form: {
......@@ -94,7 +94,28 @@ export default {
label: "排序",
width: 380,
render: (h, scope) => {
return <div></div>;
return (
<div>
<el-button
type="text"
disabled={scope.row.isTop}
onClick={() => {
this.moveUpward(scope.$index, scope.row);
}}
>
上移
</el-button>
<el-button
type="text"
disabled={scope.row.isBottom}
onClick={() => {
this.moveDown(scope.$index, scope.row);
}}
>
下移
</el-button>
</div>
);
},
},
{
......@@ -159,12 +180,12 @@ export default {
};
},
methods: {
handleAdd() {
handleAdd () {
this.taskData = null;
this.$refs.dialogForm.add();
this.$refs.dialogForm.title = "添加";
},
featchData() {
featchData () {
this.tableData.data = [
{
id: "6a269fa4-49ee-40ed-be72-302ebdf7b9d6",
......@@ -213,7 +234,7 @@ export default {
address: null,
_X_ROW_KEY: "row_43",
switch: true,
}
},
];
},
// 重置搜索
......@@ -227,7 +248,7 @@ export default {
// },
// 更新用户解锁状态
updateLock(id, name) {
updateLock (id, name) {
this.$confirm(
`<div class="customer-message-wrapper">
<h5 class="title">确定要更新用户解锁状态吗</h5>
......@@ -254,10 +275,25 @@ export default {
// }
// })
})
.catch(() => {});
.catch(() => { });
},
// 上移下移
moveUpward (index, row) {
console.log("index", index);
console.log("row", row);
realMove(row.bsmDict, "UP", this.tableData);
this.key++;
let id = findParents(this.tableData, row.bsmDict);
this.keyList = id;
},
moveDown (index, row) {
realMove(row.bsmDict, "DOWN", this.tableData);
this.key++;
let id = findParents(this.tableData, row.bsmDict);
this.keyList = id;
},
// 重置用户密码
resetPassword(data) {
resetPassword (data) {
const ids = [];
if (data instanceof Array) {
data.forEach((item) => {
......@@ -300,15 +336,15 @@ export default {
// }
// })
})
.catch(() => {});
.catch(() => { });
},
// 修改人员信息
handleEdit(row) {
handleEdit (row) {
this.$refs.dialogForm.edit(row);
this.$refs.dialogForm.title = "修改";
},
// 删除
handleDelete(id, content) {
handleDelete (id, content) {
this.$confirm("此操将进行删除操作, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
......@@ -324,7 +360,7 @@ export default {
// this.getTableList()
// })
})
.catch(() => {});
.catch(() => { });
},
},
};
......
<template>
<div class="dictionary-config from-clues">
<div class="from-clues-header">
<el-form ref="form" :model="form" label-width="125px">
<el-form ref="form" :model="form" label-width="90px">
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row>
<el-col :span="6">
<el-form-item label="数据表名">
<el-input
v-model="form.DATATABLE"
placeholder="数据表名"
></el-input>
<el-input v-model="form.DATATABLE" placeholder="数据表名"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="中文名称">
<el-input
v-model="form.CHINESETABLE"
placeholder="中文名称"
></el-input>
<el-input v-model="form.CHINESETABLE" placeholder="中文名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="tab表头链接标识">
<el-input
v-model="form.SOLEURL"
placeholder="tab表头链接标识"
></el-input>
<el-form-item label="tab表头链接标识" label-width="130px">
<el-input v-model="form.SOLEURL" placeholder="tab表头链接标识"></el-input>
</el-form-item>
</el-col>
<!-- 操作按钮 -->
<el-col :span="6" class="btnColRight">
<btn nativeType="sb" @click="handleUpdateDic">刷新缓存</btn>
<btn nativeType="cx" @click="handleUpdateDic">刷新缓存</btn>
<btn nativeType="cx" @click="handleSubmit">查询</btn>
</el-col>
</el-row>
</el-form>
</div>
<div class="from-clues-content">
<lb-table
:page-size="pageData.size"
:current-page.sync="pageData.current"
:total="pageData.total"
@size-change="handleSizeChange"
@p-current-change="handleCurrentChange"
:column="tableData.columns"
:data="tableData.data"
>
<lb-table :page-size="pageData.size" :current-page.sync="pageData.current" :total="pageData.total"
@size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns"
:data="tableData.data">
</lb-table>
<message-tips ref="msg" :message="message" />
</div>
......@@ -65,7 +53,7 @@ export default {
components: {
editValidRule,
},
data() {
data () {
return {
message: "",
form: {
......@@ -129,7 +117,7 @@ export default {
};
},
methods: {
async featchData() {
async featchData () {
try {
this.form = Object.assign(this.form, this.formData);
let {
......@@ -146,7 +134,7 @@ export default {
this.$refs.msg.messageShow();
}
},
async handleEdit(index, row) {
async handleEdit (index, row) {
try {
let { result: res } = await ruleConfig.eidtConfigRule(row.BSM_YWSJB);
this.ruleData = res;
......@@ -158,7 +146,7 @@ export default {
});
}
},
handleDel(index, row) {
handleDel (index, row) {
let _this = this;
this.$confirm("此操作将进行删除校验规则, 是否继续?", "提示", {
cancelButtonText: "取消",
......@@ -192,7 +180,7 @@ export default {
});
});
},
handleUpdateDic() {
handleUpdateDic () {
this.$store.dispatch("dictionaries/generateDic").then((res) => {
if (res) {
this.$message({
......
<template>
<!-- 编辑 -->
<dialogBox title="操作内容" @closeDialog="closeDialog" @submitForm="handleSubmit" v-model="myValue">
<p>2222222222222222222222</p>
</dialogBox>
</template>
<script>
export default {
props: {
value: { type: Boolean, default: false },
},
data () {
return {
myValue: this.value,
}
},
watch: {
value (val) {
this.myValue = val
}
},
methods: {
closeDialog () {
this.$emit('input', false)
},
handleSubmit () {
this.$emit('input', false)
}
}
}
</script>
\ No newline at end of file
<template>
<!-- 中心日志 -->
<div class="from-clues">
<!-- 头部搜索 -->
<div class="from-clues-header">
<el-form ref="ruleForm" :model="form" label-width="80px">
<el-row>
<el-col :span="5">
<el-form-item label="用户名称" prop="name">
<el-input v-model="form.name" class="width100" placeholder="用户名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="开始日期" prop="startTime">
<el-date-picker type="date" class="width100" placeholder="开始日期" :picker-options="pickerOptionsStart"
clearable v-model="form.startTime" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="结束日期" prop="endTime">
<el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd"
clearable v-model="form.endTime" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="操作类型" prop="czlx">
<el-select v-model="form.czlx" class="width100" clearable placeholder="操作类型">
<el-option v-for="item in []" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<!-- 操作按钮 -->
<el-col :span="4" class="btnColRight">
<el-button @click="resetForm">重置</el-button>
<el-button type="primary" @click="handleSubmit">查询</el-button>
</el-col>
</el-row>
</el-form>
</div>
<!-- 列表 -->
<div class="from-clues-content">
<lb-table ref="table" :page-size="pageData.size" :current-page.sync="pageData.current" :total="pageData.total"
@size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns"
:data="tableData.data">
</lb-table>
</div>
<detailDialog v-model="isShow" />
</div>
</template>
<script>
// 中心日志
// 引入列表头部数据
import data from "./data"
// 引入列表混入方法
import tableMixin from '@/mixins/tableMixin.js'
// 引入详情
import detailDialog from './components/detailDialog.vue'
export default {
name: "zxrz",
mixins: [tableMixin],
// 注册组件
components: {
detailDialog
},
data () {
return {
isShow: false,
// 开始结束日期限制
pickerOptionsStart: {
disabledDate: (time) => {
if (this.form.endTime) {
return (
time.getTime() >= new Date(this.form.endTime).getTime()
);
}
}
},
// 结束日期限制
pickerOptionsEnd: {
disabledDate: (time) => {
if (this.form.startTime) {
return (
time.getTime() <= new Date(this.form.startTime).getTime()
);
}
}
},
// 表单
form: {
name: '',
startTime: '',
endTime: '',
ywmc: '',
czlx: '',
currentPage: 1
},
// 表单校验
rules: {
name: [
{ required: true, message: '用户名称', trigger: 'change' }
],
startTime: [
{ required: true, message: '开始日期', trigger: 'change' }
],
endTime: [
{ required: true, message: '结束日期', trigger: 'change' }
],
czlx: [
{ required: true, message: '操作类型', trigger: 'change' }
]
},
// 列表
tableData: {
// 列表头部数据
columns: [{
label: '序号',
type: 'index',
width: '50',
index: this.indexMethod,
}].concat(data.columns()).concat([
{
label: "操作",
width: '80',
render: (h, scope) => {
return (
<div>
<el-button
type="text"
size="mini"
onClick={() => { this.handleDetails(scope.row) }}
>
详情
</el-button>
</div>
)
}
}
]),
// 列表
data: [{}]
},
// 分页
pageData: {
total: 0,
pageSize: 15,
current: 1,
}
}
},
methods: {
// 重置表单
resetForm () {
this.$refs.ruleForm.resetFields();
},
async featchData () {
},
handleDetails (row) {
this.isShow = true
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
@import "./index.scss";
</style>