123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- {extend name="public/base"/}
- {block name="css"}
- <style>
- .work-list {width:90%;margin:10px auto;padding:10px 20px;box-sizing:border-box;border: 1px solid #eee;border-radius:10px;box-shadow: 0 0 10px #ccc;}
- .work-list .work-header {border-bottom:1px solid #eee;padding-bottom:5px;}
- .work-list .work-content {border-bottom:1px solid #eee;padding-bottom:5px;}
- .work-list .work-content .content-item {margin-top:4px;font-size:14px;color:#666;display:flex;}
- .work-list .work-content .content-item .title {width:120px;}
- .work-list .work-content .content-item .num {color: var(--red);font-size:16px;}
- .work-tool {display:flex;align-items:center;justify-content:flex-end;padding-top:5px;}
- .work-tool .tool-btn {width:60px;height:25px;line-height:25px;border:1px solid var(--blue);text-align:center;margin-left:5px;border-radius:100px;font-size:14px;box-sizing:border-box;color:var(--blue);}
- .add {width:50px;height:50px;position:fixed;bottom:50px;right:20px;}
- </style>
- {/block}
- {block name="body"}
- <van-nav-bar
- class="nav-theme"
- :fixed="true"
- :placeholder="true"
- right-text="修改密码"
- @click-right="toPassword"
- >
- <template #title>
- <span class="text-white">工作登记记录</span>
- </template>
- </van-nav-bar>
- <van-pull-refresh v-model="refreshing" @refresh="onRefresh">
- <van-list
- v-model:loading="loading"
- :finished="finished"
- finished-text="没有更多了"
- @load="onList"
- >
- <div class="work-list" v-for="item in list">
- <div class="work-header">{{item.month}}</div>
- <div class="work-content">
- <div class="content-item">
- <div class="title">应挂钩人数</div>
- <div class="num">{{item.should_num}}</div>
- </div>
- <div class="content-item">
- <div class="title">本月新增人数</div>
- <div class="num">{{item.new_num}}</div>
- </div>
- <div class="content-item">
- <div class="title">未完成挂钩人数</div>
- <div class="num">{{item.unfinished_num}}</div>
- </div>
- </div>
- <div class="work-tool">
- <div class="tool-btn" v-if="item.month == month" @click="toEdit(item.id)">编辑</div>
- <div class="tool-btn" v-if="!is_register" @click="toCopy(item.id)">复制</div>
- </div>
- </div>
- </van-list>
- </van-pull-refresh>
- <img src="__MIMAGES__/talent_work_add.png" class="add" @click="toAdd" v-if="!is_register"/>
- {/block}
- {block name="script"}
- <script>
- function v_setup() {
- let base = {};
- base.is_register = Vue.ref({$is_register});
- base.month = Vue.ref("{$month}");
- base.toPassword = () => {
- location.href = "{:url('my/password')}";
- };
- base.toAdd = () => {
- location.href = "{:url('work/add')}";
- };
- base.toEdit = id => {
- location.href = "{:url('work/edit')}?id=" + id;
- };
- base.toCopy = id => {
- location.href = "{:url('work/copy')}?id=" + id;
- };
- //列表
- base.page = Vue.ref(1);
- base.loading = Vue.ref(false);
- base.finished = Vue.ref(false);
- base.refreshing = Vue.ref(false);
- base.list = Vue.reactive([]);
- base.onList = () => {
- let param = {};
- param.page = base.page.value;
- base.page.value++;
- postJson("{:url('index/listWork')}", param).then( ({data}) => {
- base.loading.value = false;
- if (base.refreshing.value) base.refreshing.value = false;
- if (data.length === 0) {
- base.finished.value = true;
- } else {
- base.list.push(...data);
- }
- });
- };
- base.onRefresh = () => {
- base.list = Vue.reactive([]);
- base.page.value = 1;
- base.loading.value = true;
- base.finished.value = false;
- base.onList();
- };
- return base;
- }
- </script>
- {/block}
|