庞东旭 преди 1 година
родител
ревизия
4767dce1eb
променени са 12 файла, в които са добавени 733 реда и са изтрити 599 реда
  1. +1
    -1
      src/permission.js
  2. +0
    -5
      src/router/index.js
  3. +88
    -31
      src/views/abnormal/abnormal.vue
  4. +76
    -31
      src/views/allTasks/allTasks.vue
  5. +79
    -34
      src/views/audit/audit.vue
  6. +65
    -18
      src/views/login.vue
  7. +0
    -266
      src/views/login_new.vue
  8. +88
    -31
      src/views/managerAbnormal/managerAbnormal.vue
  9. +77
    -52
      src/views/processed/processed.vue
  10. +76
    -31
      src/views/processing/processing.vue
  11. +95
    -65
      src/views/taskAllocation/todo.vue
  12. +88
    -34
      src/views/toBeAllocated/toBeAllocated.vue

+ 1
- 1
src/permission.js Целия файл

@@ -8,7 +8,7 @@ import { isRelogin } from '@/utils/request'

NProgress.configure({ showSpinner: false })

const whiteList = ['/login', '/login_new', '/register']
const whiteList = ['/login', '/register']

router.beforeEach((to, from, next) => {
NProgress.start()


+ 0
- 5
src/router/index.js Целия файл

@@ -46,11 +46,6 @@ export const constantRoutes = [
component: () => import('@/views/login'),
hidden: true
},
{
path: '/login_new',
component: () => import('@/views/login_new'),
hidden: true
},
{
path: '/register',
component: () => import('@/views/register'),


+ 88
- 31
src/views/abnormal/abnormal.vue Целия файл

@@ -3,35 +3,47 @@

<div class="header_main">

<div class="select_address">
<span class="sanjiao-right"></span>
<p>大足区</p>
</div>

<div class="select_address">
<span class="sanjiao-right"></span>
<p>张家镇</p>
</div>

<div class="select_address">
<span class="sanjiao-right"></span>
<p>记账</p>
</div>

<div style="display: none;" class="selected">
<div>
<p>张家镇</p>
<el-dropdown trigger="click" placement="bottom-start">
<div class="select_address el-dropdown-link">
<span class="sanjiao-right"></span>
<p>大足区</p>
</div>
<div>
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;">
<el-dropdown-item v-for="(item,index) in 5">
<div class="selected">
<p>张家镇</p>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

<el-dropdown trigger="click" placement="bottom-start">
<div class="select_address el-dropdown-link">
<span class="sanjiao-right"></span>
<p>张家镇</p>
</div>
<div>
<p>张家镇</p>
</div>
<div>
<p>张家镇</p>
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;">
<el-dropdown-item v-for="(item,index) in 5">
<div class="selected">
<p>张家镇</p>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

<el-dropdown trigger="click" placement="bottom-start">
<div class="select_address el-dropdown-link">
<span class="sanjiao-right"></span>
<p>记账</p>
</div>
</div>
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;">
<el-dropdown-item v-for="(item,index) in 5">
<div class="selected">
<p>张家镇</p>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

<p class="todo_num">合同异常:<span>19</span>个</p>
<p class="todo_num2">记录异常:<span>1</span>个</p>
@@ -72,13 +84,21 @@
</div>

<div class="time_main">
<span class="sanjiao-top"></span>
<p>2023</p>
<span class="sanjiao-bottom"></span>
<span class="sanjiao-top" @click="addDate"></span>
<p @click = "selectionRange">{{year}}</p>
<el-date-picker
v-model="year"
type="year"
class="pickerTime"
ref = "datePicker"
value-format="yyyy"
placeholder="选择年">
</el-date-picker>
<span class="sanjiao-bottom" @click="reduceDate"></span>
</div>

<div class="month_main">
<p v-for="(item,index) in 12" :class="{'active':index==3}">{{index}}月<i v-if="index==3"></i></p>
<p v-for="(item,index) in 12" :class="{'active':index==3}">{{index+1}}月<i v-if="index==3"></i></p>
</div>

</div>
@@ -94,14 +114,22 @@ export default {
name: "todo",
data() {
return {
year:'2023',
}
},
created() {

},
methods:{

addDate(){
this.year = Number(this.year) + 1 ;
},
reduceDate(){
this.year = Number(this.year) - 1 ;
},
selectionRange(){
this.$refs.datePicker.focus();
},
},
mounted(){

@@ -117,6 +145,29 @@ export default {
width: 100vw;
height: 100vh;
}

.selected{
display: flex;
height: 4vh;
p{
width: 8vw;
line-height: 4vh;
text-align: center;
}
}
.pickerTime{
opacity: 0;
position: absolute;
left: 0px;
top: 30px;
width: 5px;
height: 5px;
z-index: -1;
}
.el-dropdown-link {
cursor: pointer;
}

.title{
display: flex;
align-items: center;
@@ -283,6 +334,8 @@ export default {
margin-top: 15px;
padding: 15px 0;
border-radius: 8px;
position: relative;
cursor: pointer;
p{
margin: 10px 0;
}
@@ -299,6 +352,10 @@ export default {
&.active{
color: #3976ff;
}
&:hover{
color: #3976ff;
cursor: pointer;
}
i{
display: block;
width: 5px;


+ 76
- 31
src/views/allTasks/allTasks.vue Целия файл

@@ -3,34 +3,33 @@

<div class="header_main">

<div class="select_address">
<span class="sanjiao-right"></span>
<p>大足区</p>
</div>

<div class="select_address">
<span class="sanjiao-right"></span>
<p>张家镇</p>
</div>

<div style="display: none" class="selected">
<div>
<p>张家镇</p>
<p>2023.03.05</p>
</div>
<div>
<p>张家镇</p>
<p>2023.03.05</p>
</div>
<div>
<p>张家镇</p>
<p>2023.03.05</p>
<el-dropdown trigger="click" placement="bottom-start">
<div class="select_address el-dropdown-link">
<span class="sanjiao-right"></span>
<p>大足区</p>
</div>
<div>
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;">
<el-dropdown-item v-for="(item,index) in 5">
<div class="selected">
<p>张家镇</p>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

<el-dropdown trigger="click" placement="bottom-start">
<div class="select_address el-dropdown-link">
<span class="sanjiao-right"></span>
<p>张家镇</p>
<p>2023.03.05</p>
</div>
</div>
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;">
<el-dropdown-item v-for="(item,index) in 5">
<div class="selected">
<p>张家镇</p>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

<p class="todo_num">镇处理进度:<span>15/50</span></p>
<p class="todo_num3">镇审核进度:<span>5/50</span></p>
@@ -107,13 +106,21 @@
</div>

<div class="time_main">
<span class="sanjiao-top"></span>
<p>2023</p>
<span class="sanjiao-bottom"></span>
<span class="sanjiao-top" @click="addDate"></span>
<p @click = "selectionRange">{{year}}</p>
<el-date-picker
v-model="year"
type="year"
class="pickerTime"
ref = "datePicker"
value-format="yyyy"
placeholder="选择年">
</el-date-picker>
<span class="sanjiao-bottom" @click="reduceDate"></span>
</div>

<div class="month_main">
<p v-for="(item,index) in 12" :class="{'active':index==3}">{{index}}月<i v-if="index==3"></i></p>
<p v-for="(item,index) in 12" :class="{'active':index==3}">{{index+1}}月<i v-if="index==3"></i></p>
</div>

</div>
@@ -169,14 +176,23 @@ export default {
value7: '2023.03.05',
value8: '2023.03.06',
value9: '111'
}]
}],
year:'2023',
}
},
created() {

},
methods:{

addDate(){
this.year = Number(this.year) + 1 ;
},
reduceDate(){
this.year = Number(this.year) - 1 ;
},
selectionRange(){
this.$refs.datePicker.focus();
},
},
mounted(){

@@ -191,6 +207,29 @@ export default {
width: 100vw;
height: 100vh;
}

.selected{
display: flex;
height: 4vh;
p{
width: 8vw;
line-height: 4vh;
text-align: center;
}
}
.pickerTime{
opacity: 0;
position: absolute;
left: 0px;
top: 30px;
width: 5px;
height: 5px;
z-index: -1;
}
.el-dropdown-link {
cursor: pointer;
}

.title{
display: flex;
align-items: center;
@@ -451,6 +490,8 @@ export default {
margin-top: 15px;
padding: 15px 0;
border-radius: 8px;
position: relative;
cursor: pointer;
p{
margin: 10px 0;
}
@@ -467,6 +508,10 @@ export default {
&.active{
color: #3976ff;
}
&:hover{
color: #3976ff;
cursor: pointer;
}
i{
display: block;
width: 5px;


+ 79
- 34
src/views/audit/audit.vue Целия файл

@@ -3,15 +3,33 @@

<div class="header_main">

<div class="select_address">
<span class="sanjiao-right"></span>
<p>大足区</p>
</div>

<div class="select_address">
<span class="sanjiao-right"></span>
<p>张家镇</p>
</div>
<el-dropdown trigger="click" placement="bottom-start">
<div class="select_address el-dropdown-link">
<span class="sanjiao-right"></span>
<p>大足区</p>
</div>
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;">
<el-dropdown-item v-for="(item,index) in 5">
<div class="selected">
<p>张家镇</p>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

<el-dropdown trigger="click" placement="bottom-start">
<div class="select_address el-dropdown-link">
<span class="sanjiao-right"></span>
<p>张家镇</p>
</div>
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;">
<el-dropdown-item v-for="(item,index) in 5">
<div class="selected">
<p>张家镇</p>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

<div class="header_btn1">
<p>全部审核</p>
@@ -25,25 +43,6 @@
<i class="el-icon-warning"></i>已选中:年村(a合作社,b合作社,c合作社,d合作社)、张村(百事合作社)...
</p>

<div style="display: none" class="selected">
<div>
<p>张家镇</p>
<p>2023.03.05</p>
</div>
<div>
<p>张家镇</p>
<p>2023.03.05</p>
</div>
<div>
<p>张家镇</p>
<p>2023.03.05</p>
</div>
<div>
<p>张家镇</p>
<p>2023.03.05</p>
</div>
</div>

<p class="todo_num">已处理村庄:<span>19</span>个</p>
<p class="todo_num2">超时完成村庄:<span>1</span>个</p>

@@ -110,13 +109,21 @@
</div>

<div class="time_main">
<span class="sanjiao-top"></span>
<p>2023</p>
<span class="sanjiao-bottom"></span>
<span class="sanjiao-top" @click="addDate"></span>
<p @click = "selectionRange">{{year}}</p>
<el-date-picker
v-model="year"
type="year"
class="pickerTime"
ref = "datePicker"
value-format="yyyy"
placeholder="选择年">
</el-date-picker>
<span class="sanjiao-bottom" @click="reduceDate"></span>
</div>

<div class="month_main">
<p v-for="(item,index) in 12" :class="{'active':index==3}">{{index}}月<i v-if="index==3"></i></p>
<p v-for="(item,index) in 12" :class="{'active':index==3}">{{index+1}}月<i v-if="index==3"></i></p>
</div>

</div>
@@ -172,14 +179,23 @@ export default {
value7: '2023.03.05',
value8: '2023.03.06',
value9: '111'
}]
}],
year:'2023',
}
},
created() {

},
methods:{

addDate(){
this.year = Number(this.year) + 1 ;
},
reduceDate(){
this.year = Number(this.year) - 1 ;
},
selectionRange(){
this.$refs.datePicker.focus();
},
},
mounted(){

@@ -194,6 +210,29 @@ export default {
width: 100vw;
height: 100vh;
}

.selected{
display: flex;
height: 4vh;
p{
width: 8vw;
line-height: 4vh;
text-align: center;
}
}
.pickerTime{
opacity: 0;
position: absolute;
left: 0px;
top: 30px;
width: 5px;
height: 5px;
z-index: -1;
}
.el-dropdown-link {
cursor: pointer;
}

.header_tt{
font-size: 14px;
color: #7e7e7e;
@@ -419,6 +458,8 @@ export default {
margin-top: 15px;
padding: 15px 0;
border-radius: 8px;
position: relative;
cursor: pointer;
p{
margin: 10px 0;
}
@@ -435,6 +476,10 @@ export default {
&.active{
color: #3976ff;
}
&:hover{
color: #3976ff;
cursor: pointer;
}
i{
display: block;
width: 5px;


+ 65
- 18
src/views/login.vue Целия файл

@@ -1,7 +1,11 @@
<template>
<div class="login">
<div class="header_logo">
<img src="../assets/logo/logo.png" alt="">
<p>会计记账中心登录界面</p>
</div>
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
<h3 class="title">农燊高科代理记账服务中心</h3>
<!-- <h3 class="title">农燊高科代理记账服务中心</h3>-->
<el-form-item prop="username">
<el-input
v-model="loginForm.username"
@@ -9,7 +13,6 @@
auto-complete="off"
placeholder="账号"
>
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
</el-input>
</el-form-item>
<el-form-item prop="password">
@@ -20,9 +23,18 @@
placeholder="密码"
@keyup.enter.native="handleLogin"
>
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
</el-input>
</el-form-item>
<el-form-item prop="username">
<el-select v-model="value" placeholder="请选择" style="width: 100%">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="code" v-if="captchaEnabled">
<el-input
v-model="loginForm.code"
@@ -31,7 +43,6 @@
style="width: 63%"
@keyup.enter.native="handleLogin"
>
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
</el-input>
<div class="login-code">
<img :src="codeUrl" @click="getCode" class="login-code-img"/>
@@ -43,7 +54,7 @@
:loading="loading"
size="medium"
type="primary"
style="width:100%;"
style="width:100%;padding: 17px 20px;border-radius: 15px;"
@click.native.prevent="handleLogin"
>
<span v-if="!loading">登 录</span>
@@ -92,7 +103,24 @@ export default {
captchaEnabled: true,
// 注册开关
register: false,
redirect: undefined
redirect: undefined,
options: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
value: ''
};
},
watch: {
@@ -156,13 +184,27 @@ export default {
</script>

<style rel="stylesheet/scss" lang="scss">
.header_logo{
display: flex;
align-items: center;
position: absolute;
top: 5vh;
left: 5vw;
color: #4163e5;
font-size: 4vh;
font-weight: bold;
p{
margin: 0 0 0 1vw;
}
}
.login {
display: flex;
justify-content: center;
justify-content: end;
align-items: center;
height: 100%;
background-image: url("../assets/images/login-background.jpg");
background-image: url("../assets/images/login_bg.jpg");
background-size: cover;
padding: 0 15vw;
}
.title {
margin: 0px auto 30px auto;
@@ -171,14 +213,15 @@ export default {
}

.login-form {
border-radius: 6px;
border-radius: 25px;
background: #ffffff;
width: 400px;
padding: 25px 25px 5px 25px;
width: 440px;
padding: 35px 25px 30px 25px;
.el-input {
height: 38px;
height: 50px;
input {
height: 38px;
height: 50px;
border-radius: 15px;
}
}
.input-icon {
@@ -193,12 +236,15 @@ export default {
color: #bfbfbf;
}
.login-code {
width: 33%;
height: 38px;
width: 34%;
height: 50px;
float: right;
border-radius: 15px;
overflow: hidden;
img {
cursor: pointer;
vertical-align: middle;
transform: scale(1.08);
}
}
.el-login-footer {
@@ -208,12 +254,13 @@ export default {
bottom: 0;
width: 100%;
text-align: center;
color: #fff;
color: #7c7c7c;
font-family: Arial;
font-size: 12px;
font-size: 16px;
letter-spacing: 1px;
left: 0;
}
.login-code-img {
height: 38px;
height: 50px;
}
</style>

+ 0
- 266
src/views/login_new.vue Целия файл

@@ -1,266 +0,0 @@
<template>
<div class="login">
<div class="header_logo">
<img src="../assets/logo/logo.png" alt="">
<p>会计记账中心登录界面</p>
</div>
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
<!-- <h3 class="title">农燊高科代理记账服务中心</h3>-->
<el-form-item prop="username">
<el-input
v-model="loginForm.username"
type="text"
auto-complete="off"
placeholder="账号"
>
</el-input>
</el-form-item>
<el-form-item prop="password">
<el-input
v-model="loginForm.password"
type="password"
auto-complete="off"
placeholder="密码"
@keyup.enter.native="handleLogin"
>
</el-input>
</el-form-item>
<el-form-item prop="username">
<el-select v-model="value" placeholder="请选择" style="width: 100%">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="code" v-if="captchaEnabled">
<el-input
v-model="loginForm.code"
auto-complete="off"
placeholder="验证码"
style="width: 63%"
@keyup.enter.native="handleLogin"
>
</el-input>
<div class="login-code">
<img :src="codeUrl" @click="getCode" class="login-code-img"/>
</div>
</el-form-item>
<el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox>
<el-form-item style="width:100%;">
<el-button
:loading="loading"
size="medium"
type="primary"
style="width:100%;padding: 17px 20px;border-radius: 15px;"
@click.native.prevent="handleLogin"
>
<span v-if="!loading">登 录</span>
<span v-else>登 录 中...</span>
</el-button>
<div style="float: right;" v-if="register">
<router-link class="link-type" :to="'/register'">立即注册</router-link>
</div>
</el-form-item>
</el-form>
<!-- 底部 -->
<div class="el-login-footer">
<span>技术支持单位:北京农燊高科信息技术有限公司</span>
</div>
</div>
</template>

<script>
import { getCodeImg } from "@/api/login";
import Cookies from "js-cookie";
import { encrypt, decrypt } from '@/utils/jsencrypt'

export default {
name: "Login",
data() {
return {
codeUrl: "",
loginForm: {
username: "",
password: "",
rememberMe: false,
code: "",
uuid: ""
},
loginRules: {
username: [
{ required: true, trigger: "blur", message: "请输入您的账号" }
],
password: [
{ required: true, trigger: "blur", message: "请输入您的密码" }
],
code: [{ required: true, trigger: "change", message: "请输入验证码" }]
},
loading: false,
// 验证码开关
captchaEnabled: true,
// 注册开关
register: false,
redirect: undefined,
options: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
value: ''
};
},
watch: {
$route: {
handler: function(route) {
this.redirect = route.query && route.query.redirect;
},
immediate: true
}
},
created() {
this.getCode();
this.getCookie();
},
methods: {
getCode() {
getCodeImg().then(res => {
this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled;
if (this.captchaEnabled) {
this.codeUrl = "data:image/gif;base64," + res.img;
this.loginForm.uuid = res.uuid;
}
});
},
getCookie() {
const username = Cookies.get("username");
const password = Cookies.get("password");
const rememberMe = Cookies.get('rememberMe')
this.loginForm = {
username: username === undefined ? this.loginForm.username : username,
password: password === undefined ? this.loginForm.password : decrypt(password),
rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)
};
},
handleLogin() {
this.$refs.loginForm.validate(valid => {
if (valid) {
this.loading = true;
if (this.loginForm.rememberMe) {
Cookies.set("username", this.loginForm.username, { expires: 30 });
Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });
Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 });
} else {
Cookies.remove("username");
Cookies.remove("password");
Cookies.remove('rememberMe');
}
this.$store.dispatch("Login", this.loginForm).then(() => {
this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
}).catch(() => {
this.loading = false;
if (this.captchaEnabled) {
this.getCode();
}
});
}
});
}
}
};
</script>

<style rel="stylesheet/scss" lang="scss">
.header_logo{
display: flex;
align-items: center;
position: absolute;
top: 5vh;
left: 5vw;
color: #4163e5;
font-size: 4vh;
font-weight: bold;
p{
margin: 0 0 0 1vw;
}
}
.login {
display: flex;
justify-content: end;
align-items: center;
height: 100%;
background-image: url("../assets/images/login_bg.jpg");
background-size: cover;
padding: 0 15vw;
}
.title {
margin: 0px auto 30px auto;
text-align: center;
color: #707070;
}

.login-form {
border-radius: 25px;
background: #ffffff;
width: 440px;
padding: 35px 25px 30px 25px;
.el-input {
height: 50px;
input {
height: 50px;
border-radius: 15px;
}
}
.input-icon {
height: 39px;
width: 14px;
margin-left: 2px;
}
}
.login-tip {
font-size: 13px;
text-align: center;
color: #bfbfbf;
}
.login-code {
width: 34%;
height: 50px;
float: right;
border-radius: 15px;
overflow: hidden;
img {
cursor: pointer;
vertical-align: middle;
transform: scale(1.08);
}
}
.el-login-footer {
height: 40px;
line-height: 40px;
position: fixed;
bottom: 0;
width: 100%;
text-align: center;
color: #7c7c7c;
font-family: Arial;
font-size: 16px;
letter-spacing: 1px;
left: 0;
}
.login-code-img {
height: 50px;
}
</style>

+ 88
- 31
src/views/managerAbnormal/managerAbnormal.vue Целия файл

@@ -3,35 +3,47 @@

<div class="header_main">

<div class="select_address">
<span class="sanjiao-right"></span>
<p>大足区</p>
</div>

<div class="select_address">
<span class="sanjiao-right"></span>
<p>张家镇</p>
</div>

<div class="select_address">
<span class="sanjiao-right"></span>
<p>记账</p>
</div>

<div style="display: none;" class="selected">
<div>
<p>张家镇</p>
<el-dropdown trigger="click" placement="bottom-start">
<div class="select_address el-dropdown-link">
<span class="sanjiao-right"></span>
<p>大足区</p>
</div>
<div>
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;">
<el-dropdown-item v-for="(item,index) in 5">
<div class="selected">
<p>张家镇</p>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

<el-dropdown trigger="click" placement="bottom-start">
<div class="select_address el-dropdown-link">
<span class="sanjiao-right"></span>
<p>张家镇</p>
</div>
<div>
<p>张家镇</p>
</div>
<div>
<p>张家镇</p>
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;">
<el-dropdown-item v-for="(item,index) in 5">
<div class="selected">
<p>张家镇</p>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

<el-dropdown trigger="click" placement="bottom-start">
<div class="select_address el-dropdown-link">
<span class="sanjiao-right"></span>
<p>记账</p>
</div>
</div>
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;">
<el-dropdown-item v-for="(item,index) in 5">
<div class="selected">
<p>张家镇</p>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

<p class="todo_num">合同异常:<span>19</span>个</p>
<p class="todo_num2">记录异常:<span>1</span>个</p>
@@ -73,13 +85,21 @@
</div>

<div class="time_main">
<span class="sanjiao-top"></span>
<p>2023</p>
<span class="sanjiao-bottom"></span>
<span class="sanjiao-top" @click="addDate"></span>
<p @click = "selectionRange">{{year}}</p>
<el-date-picker
v-model="year"
type="year"
class="pickerTime"
ref = "datePicker"
value-format="yyyy"
placeholder="选择年">
</el-date-picker>
<span class="sanjiao-bottom" @click="reduceDate"></span>
</div>

<div class="month_main">
<p v-for="(item,index) in 12" :class="{'active':index==3}">{{index}}月<i v-if="index==3"></i></p>
<p v-for="(item,index) in 12" :class="{'active':index==3}">{{index+1}}月<i v-if="index==3"></i></p>
</div>

</div>
@@ -95,14 +115,22 @@ export default {
name: "todo",
data() {
return {
year:'2023',
}
},
created() {

},
methods:{

addDate(){
this.year = Number(this.year) + 1 ;
},
reduceDate(){
this.year = Number(this.year) - 1 ;
},
selectionRange(){
this.$refs.datePicker.focus();
},
},
mounted(){

@@ -118,6 +146,29 @@ export default {
width: 100vw;
height: 100vh;
}

.selected{
display: flex;
height: 4vh;
p{
width: 8vw;
line-height: 4vh;
text-align: center;
}
}
.pickerTime{
opacity: 0;
position: absolute;
left: 0px;
top: 30px;
width: 5px;
height: 5px;
z-index: -1;
}
.el-dropdown-link {
cursor: pointer;
}

.title{
display: flex;
align-items: center;
@@ -295,6 +346,8 @@ export default {
margin-top: 15px;
padding: 15px 0;
border-radius: 8px;
position: relative;
cursor: pointer;
p{
margin: 10px 0;
}
@@ -311,6 +364,10 @@ export default {
&.active{
color: #3976ff;
}
&:hover{
color: #3976ff;
cursor: pointer;
}
i{
display: block;
width: 5px;


+ 77
- 52
src/views/processed/processed.vue Целия файл

@@ -3,34 +3,33 @@

<div class="header_main">

<div class="select_address">
<span class="sanjiao-right"></span>
<p>大足区</p>
</div>

<div class="select_address">
<span class="sanjiao-right"></span>
<p>张家镇</p>
</div>

<div style="display: none" class="selected">
<div>
<p>张家镇</p>
<p>2023.03.05</p>
<el-dropdown trigger="click" placement="bottom-start">
<div class="select_address el-dropdown-link">
<span class="sanjiao-right"></span>
<p>大足区</p>
</div>
<div>
<p>张家镇</p>
<p>2023.03.05</p>
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;">
<el-dropdown-item v-for="(item,index) in 5">
<div class="selected">
<p>张家镇</p>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

<el-dropdown trigger="click" placement="bottom-start">
<div class="select_address el-dropdown-link">
<span class="sanjiao-right"></span>
<p>大足区</p>
</div>
<div>
<p>张家镇</p>
<p>2023.03.05</p>
</div>
<div>
<p>张家镇</p>
<p>2023.03.05</p>
</div>
</div>
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;">
<el-dropdown-item v-for="(item,index) in 5">
<div class="selected">
<p>张家镇</p>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

<p class="todo_num">已处理村庄:<span>19</span>个</p>
<p class="todo_num2">超时完成村庄:<span>1</span>个</p>
@@ -88,13 +87,21 @@
</div>

<div class="time_main">
<span class="sanjiao-top"></span>
<p>2023</p>
<span class="sanjiao-bottom"></span>
<span class="sanjiao-top" @click="addDate"></span>
<p @click = "selectionRange">{{year}}</p>
<el-date-picker
v-model="year"
type="year"
class="pickerTime"
ref = "datePicker"
value-format="yyyy"
placeholder="选择年">
</el-date-picker>
<span class="sanjiao-bottom" @click="reduceDate"></span>
</div>

<div class="month_main">
<p v-for="(item,index) in 12" :class="{'active':index==3}">{{index}}月<i v-if="index==3"></i></p>
<p v-for="(item,index) in 12" :class="{'active':index==3}">{{index+1}}月<i v-if="index==3"></i></p>
</div>

</div>
@@ -150,14 +157,23 @@ export default {
value7: '2023.03.05',
value8: '2023.03.06',
value9: '111'
}]
}],
year:'2023',
}
},
created() {

},
methods:{

addDate(){
this.year = Number(this.year) + 1 ;
},
reduceDate(){
this.year = Number(this.year) - 1 ;
},
selectionRange(){
this.$refs.datePicker.focus();
},
},
mounted(){

@@ -172,6 +188,29 @@ export default {
width: 100vw;
height: 100vh;
}

.selected{
display: flex;
height: 4vh;
p{
width: 8vw;
line-height: 4vh;
text-align: center;
}
}
.pickerTime{
opacity: 0;
position: absolute;
left: 0px;
top: 30px;
width: 5px;
height: 5px;
z-index: -1;
}
.el-dropdown-link {
cursor: pointer;
}

.title{
display: flex;
align-items: center;
@@ -227,26 +266,6 @@ export default {
display: flex;
align-items: center;
position: relative;
.selected{
width: 16vw;
background-color: #ffffff;
position: absolute;
top: 4vh;
left: 10vw;
z-index: 9;
border-radius: 8px;
box-shadow: 0 10px 10px #dedfe1;
padding: 1vh 0;
div{
display: flex;
height: 4vh;
p{
width: 8vw;
line-height: 4vh;
text-align: center;
}
}
}
.select_address{
display: flex;
align-items: center;
@@ -352,6 +371,8 @@ export default {
margin-top: 15px;
padding: 15px 0;
border-radius: 8px;
position: relative;
cursor: pointer;
p{
margin: 10px 0;
}
@@ -368,6 +389,10 @@ export default {
&.active{
color: #3976ff;
}
&:hover{
color: #3976ff;
cursor: pointer;
}
i{
display: block;
width: 5px;


+ 76
- 31
src/views/processing/processing.vue Целия файл

@@ -3,34 +3,33 @@

<div class="header_main">

<div class="select_address">
<span class="sanjiao-right"></span>
<p>大足区</p>
</div>

<div class="select_address">
<span class="sanjiao-right"></span>
<p>张家镇</p>
</div>

<div style="display: none" class="selected">
<div>
<p>张家镇</p>
<p>2023.03.05</p>
</div>
<div>
<p>张家镇</p>
<p>2023.03.05</p>
</div>
<div>
<p>张家镇</p>
<p>2023.03.05</p>
<el-dropdown trigger="click" placement="bottom-start">
<div class="select_address el-dropdown-link">
<span class="sanjiao-right"></span>
<p>大足区</p>
</div>
<div>
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;">
<el-dropdown-item v-for="(item,index) in 5">
<div class="selected">
<p>张家镇</p>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

<el-dropdown trigger="click" placement="bottom-start">
<div class="select_address el-dropdown-link">
<span class="sanjiao-right"></span>
<p>张家镇</p>
<p>2023.03.05</p>
</div>
</div>
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;">
<el-dropdown-item v-for="(item,index) in 5">
<div class="selected">
<p>张家镇</p>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

<p class="todo_num">剩余镇:<span>19</span>个</p>
<p class="todo_num1">剩余村庄:<span>19</span>个</p>
@@ -97,13 +96,21 @@
</div>

<div class="time_main">
<span class="sanjiao-top"></span>
<p>2023</p>
<span class="sanjiao-bottom"></span>
<span class="sanjiao-top" @click="addDate"></span>
<p @click = "selectionRange">{{year}}</p>
<el-date-picker
v-model="year"
type="year"
class="pickerTime"
ref = "datePicker"
value-format="yyyy"
placeholder="选择年">
</el-date-picker>
<span class="sanjiao-bottom" @click="reduceDate"></span>
</div>

<div class="month_main">
<p v-for="(item,index) in 12" :class="{'active':index==3}">{{index}}月<i v-if="index==3"></i></p>
<p v-for="(item,index) in 12" :class="{'active':index==3}">{{index+1}}月<i v-if="index==3"></i></p>
</div>

</div>
@@ -159,14 +166,23 @@ export default {
value7: '2023.03.05',
value8: '2023.03.06',
value9: '111'
}]
}],
year:'2023',
}
},
created() {

},
methods:{

addDate(){
this.year = Number(this.year) + 1 ;
},
reduceDate(){
this.year = Number(this.year) - 1 ;
},
selectionRange(){
this.$refs.datePicker.focus();
},
},
mounted(){

@@ -181,6 +197,29 @@ export default {
width: 100vw;
height: 100vh;
}

.selected{
display: flex;
height: 4vh;
p{
width: 8vw;
line-height: 4vh;
text-align: center;
}
}
.pickerTime{
opacity: 0;
position: absolute;
left: 0px;
top: 30px;
width: 5px;
height: 5px;
z-index: -1;
}
.el-dropdown-link {
cursor: pointer;
}

.title{
display: flex;
align-items: center;
@@ -412,6 +451,8 @@ export default {
margin-top: 15px;
padding: 15px 0;
border-radius: 8px;
position: relative;
cursor: pointer;
p{
margin: 10px 0;
}
@@ -428,6 +469,10 @@ export default {
&.active{
color: #3976ff;
}
&:hover{
color: #3976ff;
cursor: pointer;
}
i{
display: block;
width: 5px;


+ 95
- 65
src/views/taskAllocation/todo.vue Целия файл

@@ -3,38 +3,39 @@

<div class="header_main">

<div class="select_address">
<span class="sanjiao-right"></span>
<p>大足区</p>
</div>

<div class="select_address">
<span class="sanjiao-right"></span>
<p>张家镇</p>
</div>

<div class="select_address">
<p class="select_time">2023.03.05</p>
</div>

<div class="selected">
<div>
<p>张家镇</p>
<p>2023.03.05</p>
<el-dropdown trigger="click" placement="bottom-start">
<div class="select_address el-dropdown-link">
<span class="sanjiao-right"></span>
<p>大足区</p>
</div>
<div>
<p>张家镇</p>
<p>2023.03.05</p>
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;">
<el-dropdown-item v-for="(item,index) in 5">
<div class="selected">
<p>张家镇</p>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

<el-dropdown trigger="click" placement="bottom-start">
<div class="el-dropdown-link select_main">
<div class="select_address">
<span class="sanjiao-right"></span>
<p>张家镇</p>
</div>
<div class="select_address">
<p class="select_time">2023.03.05</p>
</div>
</div>
<div>
<p>张家镇</p>
<p>2023.03.05</p>
</div>
<div>
<p>张家镇</p>
<p>2023.03.05</p>
</div>
</div>
<el-dropdown-menu slot="dropdown" style="width: 16vw;text-align: center;">
<el-dropdown-item v-for="(item,index) in 5">
<div class="selected">
<p>张家镇</p>
<p>2023.03.05</p>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

<p class="todo_num">待处理合作社:<span>19</span>个</p>

@@ -71,13 +72,21 @@
</div>

<div class="time_main">
<span class="sanjiao-top"></span>
<p>2023</p>
<span class="sanjiao-bottom"></span>
<span class="sanjiao-top" @click="addDate"></span>
<p @click = "selectionRange">{{year}}</p>
<el-date-picker
v-model="year"
type="year"
class="pickerTime"
ref = "datePicker"
value-format="yyyy"
placeholder="选择年">
</el-date-picker>
<span class="sanjiao-bottom" @click="reduceDate"></span>
</div>

<div class="month_main">
<p v-for="(item,index) in 12" :class="{'active':index==3}">{{index}}月<i v-if="index==3"></i></p>
<p v-for="(item,index) in 12" :class="{'active':index==3}">{{index+1}}月<i v-if="index==3"></i></p>
</div>

</div>
@@ -133,14 +142,23 @@ export default {
value7: '2023.03.05',
value8: '2023.03.06',
value9: '111'
}]
}],
year:'2023',
}
},
created() {

},
methods:{

addDate(){
this.year = Number(this.year) + 1 ;
},
reduceDate(){
this.year = Number(this.year) - 1 ;
},
selectionRange(){
this.$refs.datePicker.focus();
},
},
mounted(){

@@ -155,6 +173,18 @@ export default {
width: 100vw;
height: 100vh;
}
.pickerTime{
opacity: 0;
position: absolute;
left: 0px;
top: 30px;
width: 5px;
height: 5px;
z-index: -1;
}
.el-dropdown-link {
cursor: pointer;
}
.title{
display: flex;
align-items: center;
@@ -195,29 +225,31 @@ export default {
::v-deep .el-table tr{
background-color: transparent;
}

.selected{
display: flex;
height: 4vh;
p{
width: 8vw;
line-height: 4vh;
text-align: center;
}
}
.header_main{
display: flex;
align-items: center;
position: relative;
.selected{
width: 16vw;
background-color: #ffffff;
position: absolute;
top: 4vh;
left: 10vw;
z-index: 9;
border-radius: 8px;
box-shadow: 0 10px 10px #dedfe1;
padding: 1vh 0;
div{
display: flex;
height: 4vh;
p{
width: 8vw;
line-height: 4vh;
text-align: center;
}
.select_main{
display: flex;
align-items: center;
& .select_address:nth-child(1){
margin-right: 0vw;
border-top-right-radius: initial;
border-bottom-right-radius: initial;
}
& .select_address:nth-child(2){
margin-right: 0vw;
border-top-left-radius: initial;
border-bottom-left-radius: initial;
}
}
.select_address{
@@ -232,16 +264,6 @@ export default {
width: 8vw;
height: 4vh;
overflow: hidden;
&:nth-child(2){
margin-right: 0vw;
border-top-right-radius: initial;
border-bottom-right-radius: initial;
}
&:nth-child(3){
margin-right: 0vw;
border-top-left-radius: initial;
border-bottom-left-radius: initial;
}
.sanjiao-right {
display: inline-block;
border-left: 8px solid #000;
@@ -299,6 +321,7 @@ export default {
border-bottom-color: initial;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
cursor: pointer;
}

.sanjiao-bottom {
@@ -307,6 +330,7 @@ export default {
border-top-color: initial;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
cursor: pointer;
}

.time_main{
@@ -320,6 +344,8 @@ export default {
margin-top: 15px;
padding: 15px 0;
border-radius: 8px;
position: relative;
cursor: pointer;
p{
margin: 10px 0;
}
@@ -336,6 +362,10 @@ export default {
&.active{
color: #3976ff;
}
&:hover{
color: #3976ff;
cursor: pointer;
}
i{
display: block;
width: 5px;


+ 88
- 34
src/views/toBeAllocated/toBeAllocated.vue Целия файл

@@ -3,34 +3,33 @@

<div class="header_main">

<div class="select_address">
<span class="sanjiao-right"></span>
<p>大足区</p>
</div>

<div class="select_address">
<span class="sanjiao-right"></span>
<p>张家镇</p>
</div>

<div style="display: none" class="selected">
<div>
<p>张家镇</p>
<p>2023.03.05</p>
</div>
<div>
<p>张家镇</p>
<p>2023.03.05</p>
<el-dropdown trigger="click" placement="bottom-start">
<div class="select_address el-dropdown-link">
<span class="sanjiao-right"></span>
<p>大足区</p>
</div>
<div>
<p>张家镇</p>
<p>2023.03.05</p>
</div>
<div>
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;">
<el-dropdown-item v-for="(item,index) in 5">
<div class="selected">
<p>张家镇</p>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

<el-dropdown trigger="click" placement="bottom-start">
<div class="select_address el-dropdown-link">
<span class="sanjiao-right"></span>
<p>张家镇</p>
<p>2023.03.05</p>
</div>
</div>
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;">
<el-dropdown-item v-for="(item,index) in 5">
<div class="selected">
<p>张家镇</p>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

<p class="todo_num">已处理村庄:<span>19</span>个</p>
<p class="todo_num2">超时完成村庄:<span>1</span>个</p>
@@ -105,13 +104,21 @@

<div class="right_top_block">
<div class="time_main">
<span class="sanjiao-top"></span>
<p>2023</p>
<span class="sanjiao-bottom"></span>
<span class="sanjiao-top" @click="addDate"></span>
<p @click = "selectionRange">{{year}}</p>
<el-date-picker
v-model="year"
type="year"
class="pickerTime"
ref = "datePicker"
value-format="yyyy"
placeholder="选择年">
</el-date-picker>
<span class="sanjiao-bottom" @click="reduceDate"></span>
</div>

<div class="month_main">
<p v-for="(item,index) in 12" :class="{'active':index==3}">{{index}}月<i v-if="index==3"></i></p>
<p v-for="(item,index) in 12" :class="{'active':index==3}">{{index+1}}月<i v-if="index==3"></i></p>
</div>
</div>

@@ -136,9 +143,9 @@
<el-col span="8" align="center">
<span class="no_yes">未选中</span>
<div class="num_input">
<span>-</span>
<p>1</p>
<span>+</span>
<span @click="reduceNum">-</span>
<p>{{num}}</p>
<span @click="addNum">+</span>
</div>
</el-col>
</el-row>
@@ -200,14 +207,31 @@
value7: '63',
value8: '2023.03.06',
value9: '111'
}]
}],
year:'2023',
num:0
}
},
created() {

},
methods:{

addDate(){
this.year = Number(this.year) + 1 ;
},
reduceDate(){
this.year = Number(this.year) - 1 ;
},
addNum(){
this.num = Number(this.num) + 1 ;
},
reduceNum(){
if(this.num==0){return;}
this.num = Number(this.num) - 1 ;
},
selectionRange(){
this.$refs.datePicker.focus();
},
},
mounted(){

@@ -222,6 +246,29 @@
width: 100vw;
height: 100vh;
}

.selected{
display: flex;
height: 4vh;
p{
width: 8vw;
line-height: 4vh;
text-align: center;
}
}
.pickerTime{
opacity: 0;
position: absolute;
left: 0px;
top: 30px;
width: 5px;
height: 5px;
z-index: -1;
}
.el-dropdown-link {
cursor: pointer;
}

.setting{
display: flex;
align-items: center;
@@ -297,6 +344,7 @@
align-items: center;
justify-content: center;
border-radius: 8px;
cursor: pointer;
}
p{
width: 3vw;
@@ -481,6 +529,8 @@
padding: 15px 0;
border-radius: 8px;
height: 82px;
position: relative;
cursor: pointer;
p{
margin: 10px 0;
}
@@ -505,6 +555,10 @@
&.active{
color: #3976ff;
}
&:hover{
color: #3976ff;
cursor: pointer;
}
i{
display: block;
width: 5px;


Зареждане…
Отказ
Запис