庞东旭 3 лет назад
Родитель
Сommit
98788136ad
8 измененных файлов: 562 добавлений и 20 удалений
  1. +16
    -0
      package-lock.json
  2. +3
    -0
      package.json
  3. +137
    -1
      src/main.js
  4. +27
    -0
      src/router/index.js
  5. +19
    -19
      src/views/onlineHome/homestead/homeApplication/applicationForm.vue
  6. +183
    -0
      src/views/onlineHome/homestead/task/taskCloseCaseAdd.vue
  7. +98
    -0
      src/views/onlineHome/homestead/task/taskCloseCaseList.vue
  8. +79
    -0
      src/views/onlineHome/homestead/task/taskLssueAdd.vue

+ 16
- 0
package-lock.json Просмотреть файл

@@ -4343,6 +4343,16 @@
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz",
"integrity": "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA=="
},
"font-awesome": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz",
"integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM="
},
"font-awesome.css": {
"version": "4.7.2",
"resolved": "https://registry.npmjs.org/font-awesome.css/-/font-awesome.css-4.7.2.tgz",
"integrity": "sha1-B1pCARQo8gJyVO9phgx1ergWyVI="
},
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
@@ -12085,6 +12095,12 @@
"integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==",
"dev": true
},
"vue-html5-editor": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/vue-html5-editor/-/vue-html5-editor-1.1.1.tgz",
"integrity": "sha1-WRAhCoMNjI00eaHx/shHMZKqA7M=",
"dev": true
},
"vue-lazyload": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/vue-lazyload/-/vue-lazyload-1.2.3.tgz",


+ 3
- 0
package.json Просмотреть файл

@@ -12,6 +12,8 @@
"dependencies": {
"axios": "^0.21.1",
"element-ui": "^2.15.6",
"font-awesome": "^4.7.0",
"font-awesome.css": "^4.7.2",
"global": "^4.4.0",
"jquery": "^3.6.0",
"js-cookie": "^2.2.1",
@@ -61,6 +63,7 @@
"shelljs": "^0.7.6",
"uglifyjs-webpack-plugin": "^1.1.1",
"url-loader": "^0.5.8",
"vue-html5-editor": "^1.1.1",
"vue-loader": "^13.3.0",
"vue-style-loader": "^3.0.1",
"vue-template-compiler": "^2.5.2",


+ 137
- 1
src/main.js Просмотреть файл

@@ -11,7 +11,8 @@ import './config/flexible'
import store from './store/'
import './permission' // permission control
import SearchTree from 'vue-search-tree'

import VueHtml5Editor from 'vue-html5-editor'
import "font-awesome/css/font-awesome.css"

import global from '@/utils/global';

@@ -32,6 +33,141 @@ import Vant from 'vant';
import 'vant/lib/index.css';
Vue.use(Vant)
Vue.use(SearchTree)
Vue.use(VueHtml5Editor,{
// 全局组件名称,使用new VueHtml5Editor(options)时该选项无效
// global component name
name: "vue-html5-editor",
// 是否显示模块名称,开启的话会在工具栏的图标后台直接显示名称
// if set true,will append module name to toolbar after icon
showModuleName: false,
// 自定义各个图标的class,默认使用的是font-awesome提供的图标
// custom icon class of built-in modules,default using font-awesome
icons: {
text: "fa fa-pencil",
color: "fa fa-paint-brush",
font: "fa fa-font",
align: "fa fa-align-justify",
list: "fa fa-list",
link: "fa fa-chain",
unlink: "fa fa-chain-broken",
tabulation: "fa fa-table",
image: "fa fa-file-image-o",
hr: "fa fa-minus",
eraser: "fa fa-eraser",
undo: "fa-undo fa",
"full-screen": "fa fa-arrows-alt",
info: "fa fa-info",
},
// 配置图片模块
// config image module
image: {
// 文件最大体积,单位字节 max file size
sizeLimit: 512 * 1024,
// 上传参数,默认把图片转为base64而不上传
// upload config,default null and convert image to base64
upload: {
url: null,
headers: {},
params: {},
fieldName: {}
},
// 压缩参数,默认使用localResizeIMG进行压缩,设置为null禁止压缩
// compression config,default resize image by localResizeIMG (https://github.com/think2011/localResizeIMG)
// set null to disable compression
compress: {
width: 1600,
height: 1600,
quality: 80
},
// 响应数据处理,最终返回图片链接
// handle response data,return image url
uploadHandler(responseText){
//default accept json data like {ok:false,msg:"unexpected"} or {ok:true,data:"image url"}
var json = JSON.parse(responseText)
if (!json.ok) {
alert(json.msg)
} else {
return json.data
}
}
},
// 语言,内建的有英文(en-us)和中文(zh-cn)
//default en-us, en-us and zh-cn are built-in
language: "zh-cn",
// 自定义语言
i18n: {
//specify your language here
"zh-cn": {
"align": "对齐方式",
"image": "图片",
"list": "列表",
"link": "链接",
"unlink": "去除链接",
"table": "表格",
"font": "文字",
"full screen": "全屏",
"text": "排版",
"eraser": "格式清除",
"info": "关于",
"color": "颜色",
"please enter a url": "请输入地址",
"create link": "创建链接",
"bold": "加粗",
"italic": "倾斜",
"underline": "下划线",
"strike through": "删除线",
"subscript": "上标",
"superscript": "下标",
"heading": "标题",
"font name": "字体",
"font size": "文字大小",
"left justify": "左对齐",
"center justify": "居中",
"right justify": "右对齐",
"ordered list": "有序列表",
"unordered list": "无序列表",
"fore color": "前景色",
"background color": "背景色",
"row count": "行数",
"column count": "列数",
"save": "确定",
"upload": "上传",
"progress": "进度",
"unknown": "未知",
"please wait": "请稍等",
"error": "错误",
"abort": "中断",
"reset": "重置"
}
},
// 隐藏不想要显示出来的模块
// the modules you don't want
hiddenModules: [],
// 自定义要显示的模块,并控制顺序
// keep only the modules you want and customize the order.
// can be used with hiddenModules together
visibleModules: [
"text",
"color",
"font",
"align",
"list",
"link",
"unlink",
"tabulation",
"image",
"hr",
"eraser",
"undo",
"full-screen",
"info",
],
// 扩展模块,具体可以参考examples或查看源码
// extended modules
modules: {
//omit,reference to source code of build-in modules
}
});

/*解决手动点击与真正触发click事件会存在300ms的延迟*/
if ('addEventListener' in document) {


+ 27
- 0
src/router/index.js Просмотреть файл

@@ -851,6 +851,33 @@ export const constantRoutes = [
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/task/taskRelease'], resolve)
},
{
path: '/taskLssueAdd',
name: 'taskLssueAdd',
meta: {
title: '添加任务下发',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/task/taskLssueAdd'], resolve)
},
{
path: '/taskCloseCaseAdd',
name: 'taskCloseCaseAdd',
meta: {
title: '结案',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/task/taskCloseCaseAdd'], resolve)
},
{
path: '/taskCloseCaseList',
name: 'taskCloseCaseList',
meta: {
title: '上报明细',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/task/taskCloseCaseList'], resolve)
}
];



+ 19
- 19
src/views/onlineHome/homestead/homeApplication/applicationForm.vue Просмотреть файл

@@ -23,26 +23,26 @@
<p class="main_title">申请用户信息</p>
<div class="main_box">
<van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.memberName" label="姓名" placeholder="姓名" input-align="right"/>
<van-field
readonly
clickable
v-model="sexValue"
label="性别"
placeholder="选择性别"
@click=" auditStatus==true ? '' : showSex = true"
input-align="right"
right-icon="arrow-down"
:rules="[{ required: true }]" required
<van-field
readonly
clickable
v-model="sexValue"
label="性别"
placeholder="选择性别"
@click=" auditStatus==true ? '' : showSex = true"
input-align="right"
right-icon="arrow-down"
:rules="[{ required: true }]" required
/>
<van-popup v-model="showSex" position="bottom">
<van-picker
show-toolbar
:columns="userSex"
@confirm="onConfirmSex"
@cancel="showSex = false"
:readonly="auditStatus"
/>
<van-popup v-model="showSex" position="bottom">
<van-picker
show-toolbar
:columns="userSex"
@confirm="onConfirmSex"
@cancel="showSex = false"
:readonly="auditStatus"
/>
</van-popup>
</van-popup>
<van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.age" label="年龄" placeholder="年龄" input-align="right"/>
<van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.phone" label="联系电话" placeholder="联系电话" input-align="right"/>
<van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.idcard" label="身份证号" placeholder="身份证号" input-align="right"/>


+ 183
- 0
src/views/onlineHome/homestead/task/taskCloseCaseAdd.vue Просмотреть файл

@@ -0,0 +1,183 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">结案</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
clickable
label="是否在建建筑物"
placeholder="请选择"
@click="showZjd = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showZjd" position="bottom">
<van-picker
show-toolbar
@cancel="showZjd = false"
/>
</van-popup>
<van-field
readonly
clickable
label="宅基地代码"
placeholder="请选择"
@click="showZjd = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showZjd" position="bottom">
<van-picker
show-toolbar
@cancel="showZjd = false"
/>
</van-popup>
<van-field
readonly
clickable
label="监管类型"
placeholder="请选择"
@click="showZjd = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showZjd" position="bottom">
<van-picker
show-toolbar
@cancel="showZjd = false"
/>
</van-popup>
<van-field
readonly
clickable
label="立案时间"
placeholder="请选择立案时间"
@click="showlzjsrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlzjsrq" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
/>
</van-popup>
<van-field label="巡查人" placeholder="请输入巡查人" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="巡查时间"
placeholder="请选择巡查时间"
@click="showlzjsrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlzjsrq" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
/>
</van-popup>
</div>

<p class="main_title">违法信息</p>
<div class="main_box">
<van-field
readonly
clickable
label="违法用地类型"
placeholder="请选择"
@click="showZjd = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showZjd" position="bottom">
<van-picker
show-toolbar
@cancel="showZjd = false"
/>
</van-popup>
<van-field label="违法用地面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field label="罚没款金额" placeholder="请输入金额" input-align="right" label-width="auto"/>
<van-field label="没收面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field label="没收面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goEdit">取<i style="margin-right: 1em;"></i>消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">上<i style="margin-right: 1em;"></i>报</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
export default {
name: "taskRelease",
data() {
return {
showZjd:false,
showlzjsrq:false,
minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),

};
},
created() {

},
methods: {
onConfirmApplyTime(date){
this.time = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
this.showApplyTime = false;
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}
</style>

+ 98
- 0
src/views/onlineHome/homestead/task/taskCloseCaseList.vue Просмотреть файл

@@ -0,0 +1,98 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">结案</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field readonly label="部门名称" input-align="right" value="桥头村" label-width="auto" />
<van-field readonly label="宅基地代码" input-align="right" value="12774784333443" label-width="auto" />
<van-field readonly label="监管类型" input-align="right" value="违法用地查处" label-width="auto" />
<van-field readonly label="立案时间" input-align="right" value="2014-09-10" label-width="auto" />
<van-field readonly label="违法用地类型" input-align="right" value="2014-09-10" label-width="auto" />
<van-field readonly label="违法用地面积" input-align="right" value="2014-09-10" label-width="auto"/>
<van-field readonly label="结案时间" input-align="right" value="2014-09-10" label-width="auto"/>
<van-field readonly label="巡查人" input-align="right" value="2014-09-10" label-width="auto"/>
<van-field readonly label="巡查时间" input-align="right" value="2014-09-10" label-width="auto" />
</div>
<div class="main_box">
<van-field readonly label="部门名称" input-align="right" value="桥头村" label-width="auto" />
<van-field readonly label="宅基地代码" input-align="right" value="12774784333443" label-width="auto" />
<van-field readonly label="监管类型" input-align="right" value="违法用地查处" label-width="auto" />
<van-field readonly label="立案时间" input-align="right" value="2014-09-10" label-width="auto" />
<van-field readonly label="违法用地类型" input-align="right" value="2014-09-10" label-width="auto" />
<van-field readonly label="违法用地面积" input-align="right" value="2014-09-10" label-width="auto"/>
<van-field readonly label="结案时间" input-align="right" value="2014-09-10" label-width="auto"/>
<van-field readonly label="巡查人" input-align="right" value="2014-09-10" label-width="auto"/>
<van-field readonly label="巡查时间" input-align="right" value="2014-09-10" label-width="auto" />
</div>
<div class="main_box">
<van-field readonly label="部门名称" input-align="right" value="桥头村" label-width="auto" />
<van-field readonly label="宅基地代码" input-align="right" value="12774784333443" label-width="auto" />
<van-field readonly label="监管类型" input-align="right" value="违法用地查处" label-width="auto" />
<van-field readonly label="立案时间" input-align="right" value="2014-09-10" label-width="auto" />
<van-field readonly label="违法用地类型" input-align="right" value="2014-09-10" label-width="auto" />
<van-field readonly label="违法用地面积" input-align="right" value="2014-09-10" label-width="auto"/>
<van-field readonly label="结案时间" input-align="right" value="2014-09-10" label-width="auto"/>
<van-field readonly label="巡查人" input-align="right" value="2014-09-10" label-width="auto"/>
<van-field readonly label="巡查时间" input-align="right" value="2014-09-10" label-width="auto" />
</div>
</div>
</template>

<script>
export default {
name: "taskRelease",
data() {
return {
showZjd:false,
showlzjsrq:false,
minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),

};
},
created() {

},
methods: {
onConfirmApplyTime(date){
this.time = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
this.showApplyTime = false;
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
margin-bottom: 2%;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}
</style>

+ 79
- 0
src/views/onlineHome/homestead/task/taskLssueAdd.vue Просмотреть файл

@@ -0,0 +1,79 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加任务下发</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-row type="flex" justify="space-between" align="center" style="margin-bottom: 5%;">
<van-col span="12" style="font-size: 14px;color:#333333">截止上报时间</van-col>
<van-col span="12">
<van-field style="line-height: 0" clickable v-model="time" label-width="auto" placeholder="选择日期" @click="showApplyTime = true">
<template #label>
<van-icon name="notes-o" size="20"/>
</template>
</van-field>
<van-calendar v-model="showApplyTime" @confirm="onConfirmApplyTime" />
</van-col>
</van-row>

<vue-html5-editor :content="content" :height="500"></vue-html5-editor>
</div>
</div>
</template>

<script>
export default {
name: "taskRelease",
data() {
return {
content:'',
showApplyTime:false,
time:'',
value:''
};
},
created() {

},
methods: {
onConfirmApplyTime(date){
this.time = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
this.showApplyTime = false;
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
padding: 4%;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

Загрузка…
Отмена
Сохранить