From e6a02c8b09a796e436a501e9b87d19e25c34c9d1 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期日, 07 四月 2024 15:53:37 +0800
Subject: [PATCH] #
---
uni_modules/uni-section/components/uni-section/uni-section.vue | 167 ++++++
uni_modules/uni-section/readme.md | 8
pages/business/process/dayStroke.vue | 143 +++++
pages.json | 52 ++
pages/business/process/dayDetl.vue | 131 +++++
pages/business/process/weeklySelect.vue | 251 ++++++++++
uni_modules/uni-section/changelog.md | 2
main.js | 2
pages/business/business.vue | 18
pages/business/process/weekly.vue | 301 ++++++++++++
pages/business/process/dayStrokeCreate.vue | 281 +++++++++++
uni_modules/uni-section/package.json | 87 +++
12 files changed, 1,442 insertions(+), 1 deletions(-)
diff --git a/main.js b/main.js
index ba4f953..364f80d 100644
--- a/main.js
+++ b/main.js
@@ -6,7 +6,7 @@
Vue.use(uView)
Vue.config.productionTip = false
// Vue.prototype.baseUrl = 'http://crm.zoneyung.net'
-Vue.prototype.baseUrl = 'http://192.168.4.188:9528'
+Vue.prototype.baseUrl = 'http://192.168.4.46:9528'
App.mpType = 'app'
const app = new Vue({
...App
diff --git a/pages.json b/pages.json
index 2772f8e..3f0e94d 100644
--- a/pages.json
+++ b/pages.json
@@ -340,6 +340,58 @@
"enablePullDownRefresh" : false
}
},
+ // {
+ // "path" : "pages/business/process/weekly",
+ // "style" :
+ // {
+ // "navigationBarTitleText" : "鍛�/鏃ユ姤",
+ // "enablePullDownRefresh" : false
+ // }
+ // },
+ {
+ "path": "pages/business/process/weekly",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "鍛�/鏃ユ姤"
+
+ }
+ },
+ {
+ "path" : "pages/business/process/weeklySelect",
+ "style" :
+ {
+ "navigationBarTitleText" : "閫夋嫨鏃ユ湡",
+ "enablePullDownRefresh" : false,
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path" : "pages/business/process/dayDetl",
+ "style" :
+ {
+ "navigationBarTitleText" : "璇︽儏",
+ "enablePullDownRefresh" : false,
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path" : "pages/business/process/dayStroke",
+ "style" :
+ {
+ "navigationBarTitleText" : "鏃ヨ绋�",
+ "enablePullDownRefresh" : false,
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path" : "pages/business/process/dayStrokeCreate",
+ "style" :
+ {
+ "navigationBarTitleText" : "鏂板缓鏃ヨ绋�",
+ "enablePullDownRefresh" : false,
+ "navigationStyle": "custom"
+ }
+ },
{
"path" : "pages/business/plan/modiPlan7",
"style" :
diff --git a/pages/business/business.vue b/pages/business/business.vue
index d6afd05..1eff091 100644
--- a/pages/business/business.vue
+++ b/pages/business/business.vue
@@ -45,6 +45,21 @@
</view>
<view class="item-sort">
<view>
+ <y-title title="杩囩▼绠$悊" />
+ </view>
+ <view class="grid-container">
+ <view class="item" @click="select(11)">
+ <view class="img">
+ <image src="../../static/image/zhantiepeizhi.png" mode="aspectFit"></image>
+ </view>
+ <view>鍛�/鏃ユ姤</view>
+ </view>
+
+ </view>
+
+ </view>
+ <view class="item-sort">
+ <view>
<y-title title="鍑哄樊绠$悊"></y-title>
</view>
<view class="grid-container">
@@ -137,6 +152,9 @@
case 10:
url = `${url}/pricing/contract`
break;
+ case 11:
+ url = `${url}/process/weekly`
+ break;
}
uni.navigateTo({
url:url
diff --git a/pages/business/process/dayDetl.vue b/pages/business/process/dayDetl.vue
new file mode 100644
index 0000000..271c527
--- /dev/null
+++ b/pages/business/process/dayDetl.vue
@@ -0,0 +1,131 @@
+<template>
+ <view>
+ <view class="status_bar">
+ <!-- 杩欓噷鏄姸鎬佹爮 -->
+ </view>
+ <uni-nav-bar left-icon="left" title="璇︽儏" @clickLeft="back" @clickRight="scan" :fixed="true"
+ :border="false" rightWidth="160rpx" leftWidth="160rpx"
+ >
+
+ </uni-nav-bar>
+
+ <view class="card">
+ <view class="box" v-for="item in list">
+ <view class="box-single-row flex-row" v-for="rule in listRule">
+ <view style="flex: 1;">{{rule.label}}</view>
+ <view style="flex: 4;">{{item[rule.attribute]}}</view>
+ </view>
+ </view>
+ </view>
+
+ <view class="main-box">
+ <view class="box">
+ <view class="box-title">娴佺▼鍔ㄦ��</view>
+ <u-steps :current="current" direction="column">
+ <u-steps-item :title="`${item.title} ${item.time ? item.time : ''}`" :desc="item.msg" v-for="item in steps" />
+ </u-steps>
+ </view>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data(){
+ return{
+ list: [],
+ listRule: [{
+ label: "鏄熸湡",
+ attribute: "weeklyDay$",
+ },
+ {
+ label: "鏃ユ湡",
+ attribute: "dailyTime$",
+ },
+ {
+ label: "宸ヤ綔鍐呭",
+ attribute: "workContent",
+ },
+ {
+ label: "宸ヤ綔鐩殑",
+ attribute: "workPurpose",
+ },
+ {
+ label: "璇勮",
+ attribute: "comment",
+ },
+ {
+ label: "闇�鍗忓姪浜嬮」",
+ attribute: "province",
+ },
+
+ {
+ label: "鐢叉柟鍗曚綅",
+ attribute: "cstmrId$",
+ },
+ {
+ label: "澶囨敞",
+ attribute: "memo",
+ },
+ {
+ label: "鏇存柊鏃堕棿",
+ attribute: "updateTime$",
+ },
+ ],
+ current:0,
+ steps:[]
+ }
+ },
+ onLoad(option) {
+ let _this = this
+ _this.list = []
+ const eventChannel = this.getOpenerEventChannel();
+ eventChannel.on('day', function(data) {
+ console.log(data.data)
+ _this.list.push(data.data)
+ _this.current = data.data.settle-1
+ this.steps = data.data.settleMsg
+ })
+
+ },
+ methods:{
+
+ back() {
+ uni.navigateBack({})
+ },
+ scan() {
+ uni.navigateTo({
+ url: '/pages/authority/authority'
+ })
+ },
+ }
+ }
+
+</script>
+
+<style>
+ .status_bar {
+ height: var(--status-bar-height);
+ width: 100%;
+ background-color: #FFF;
+ position: sticky;
+ top: 0;
+ }
+ .card{
+ border-radius: 20rpx;
+ }
+ .box {
+ margin: 16rpx 8rpx;
+ /* height: 200px; */
+ box-shadow: 0 0 5px #dddddd;
+ background-color: #FFF;
+ padding: 16rpx 32rpx;
+ position: relative;
+ border-radius: 20rpx;
+ font-size: 24rpx;
+ /* color: #bdbdbd; */
+ }
+ .box-single-row {
+ display: flex;
+ }
+</style>
\ No newline at end of file
diff --git a/pages/business/process/dayStroke.vue b/pages/business/process/dayStroke.vue
new file mode 100644
index 0000000..ffff072
--- /dev/null
+++ b/pages/business/process/dayStroke.vue
@@ -0,0 +1,143 @@
+<template>
+ <view>
+ <view class="status_bar">
+ <!-- 杩欓噷鏄姸鎬佹爮 -->
+ </view>
+ <uni-nav-bar left-icon="left" title="鏃ヨ绋�" @clickLeft="back" @clickRight="scan" :fixed="true"
+ :border="false" rightWidth="160rpx" leftWidth="160rpx"
+ >
+
+ </uni-nav-bar>
+
+ <view class="card">
+ <view class="box" v-for="item in list">
+ <view class="box-single-row flex-row" v-for="rule in listRule">
+ <view style="flex: 1;">{{rule.label}}</view>
+ <view style="flex: 4;">{{item[rule.attribute]}}</view>
+ </view>
+ </view>
+ </view>
+
+ <!-- <view class="main-box">
+ <view class="box">
+ <view class="box-title">娴佺▼鍔ㄦ��</view>
+ <u-steps :current="current" direction="column">
+ <u-steps-item :title="`${item.title} ${item.time ? item.time : ''}`" :desc="item.msg" v-for="item in steps" />
+ </u-steps>
+ </view>
+ </view> -->
+ </view>
+</template>
+
+<script>
+ export default {
+ data(){
+ return{
+ list: [],
+ listRule: [{
+ label: "鏄熸湡",
+ attribute: "weeklyDay$",
+ },
+ {
+ label: "鏃ユ湡",
+ attribute: "dailyTime$",
+ },
+ {
+ label: "宸ヤ綔鍐呭",
+ attribute: "workContent",
+ },
+ {
+ label: "宸ヤ綔鐩殑",
+ attribute: "workPurpose",
+ },
+ {
+ label: "璇勮",
+ attribute: "comment",
+ },
+ {
+ label: "闇�鍗忓姪浜嬮」",
+ attribute: "province",
+ },
+
+ {
+ label: "鐢叉柟鍗曚綅",
+ attribute: "cstmrId$",
+ },
+ {
+ label: "澶囨敞",
+ attribute: "memo",
+ },
+ {
+ label: "鏇存柊鏃堕棿",
+ attribute: "updateTime$",
+ },
+ ],
+ current:0,
+ steps:[]
+ }
+ },
+ onLoad(option) {
+ let _this = this
+ _this.list = []
+ const eventChannel = this.getOpenerEventChannel();
+ eventChannel.on('dayStroke', function(data) {
+ _this.current = data.data.settle-1
+ uni.request({
+ url: `${_this.baseUrl}/weeklyDailyReality/mobile/phone/get/kv`,
+ // method: 'POST',
+ header: { 'token': uni.getStorageSync('token') },
+ data: {
+ weeklyId: data.data.weeklyId,
+ weeklyDay: data.data.weeklyDay
+ },
+ success(res) {
+ console.log(res)
+ res = res.data.data
+ _this.list = res
+
+ }
+ })
+ })
+
+ },
+ methods:{
+
+ back() {
+ uni.navigateBack({})
+ },
+ scan() {
+ uni.navigateTo({
+ url: '/pages/authority/authority'
+ })
+ },
+ }
+ }
+
+</script>
+
+<style>
+ .status_bar {
+ height: var(--status-bar-height);
+ width: 100%;
+ background-color: #FFF;
+ position: sticky;
+ top: 0;
+ }
+ .card{
+ border-radius: 20rpx;
+ }
+ .box {
+ margin: 16rpx 8rpx;
+ /* height: 200px; */
+ box-shadow: 0 0 5px #dddddd;
+ background-color: #FFF;
+ padding: 16rpx 32rpx;
+ position: relative;
+ border-radius: 20rpx;
+ font-size: 24rpx;
+ /* color: #bdbdbd; */
+ }
+ .box-single-row {
+ display: flex;
+ }
+</style>
\ No newline at end of file
diff --git a/pages/business/process/dayStrokeCreate.vue b/pages/business/process/dayStrokeCreate.vue
new file mode 100644
index 0000000..9072d89
--- /dev/null
+++ b/pages/business/process/dayStrokeCreate.vue
@@ -0,0 +1,281 @@
+<template>
+ <view>
+ <view class="status_bar">
+ <!-- 杩欓噷鏄姸鎬佹爮 -->
+ </view>
+ <uni-nav-bar left-icon="left" title="鍒涘缓鏃ヨ绋�" @clickLeft="back" @clickRight="scan" :fixed="true"
+ :border="false" rightWidth="160rpx" leftWidth="160rpx"
+ >
+
+ </uni-nav-bar>
+
+ <view class="card">
+ <view class="box">
+ <view class="box-single-row flex-row">
+ <view style="flex: 1;">鏄熸湡</view>
+ <view style="flex: 4;">
+ {{list.weeklyDay$}}
+ </view>
+ </view>
+ <view class="box-single-row flex-row">
+ <view style="flex: 1;">鏃ユ湡</view>
+ <view style="flex: 4;">
+ {{list.dailyTime$}}
+ </view>
+ </view>
+ <view class="box-single-row flex-row">
+ <view style="flex: 1;">宸ヤ綔鍐呭</view>
+ <view style="flex: 4;">
+ <input class="inputCss" type="text" v-model="workContent">
+ </view>
+ </view>
+ <view class="box-single-row flex-row">
+ <view style="flex: 1;">宸ヤ綔鐩殑</view>
+ <view style="flex: 4;">
+ <input class="inputCss" type="text" v-model="workPurpose">
+ </view>
+ </view>
+ <view class="box-single-row flex-row">
+ <view style="flex: 1;">闇�鍗忓姪浜嬮」</view>
+ <view style="flex: 3;">
+ <input class="inputCss" type="text" v-model="weeklyMatter">
+ </view>
+ </view>
+ <view class="box-single-row flex-row">
+ <view style="flex: 1;">鐢叉柟鍗曚綅</view>
+ <view style="flex: 4;">
+ <uni-combox :border="false" class="inputCss" style="border-radius: 0;" :candidates="companys" v-model="company" @input=""></uni-combox>
+ </view>
+ </view>
+ </view>
+ </view>
+
+ <!-- <view class="main-box">
+ <view class="box">
+ <view class="box-title">娴佺▼鍔ㄦ��</view>
+ <u-steps :current="current" direction="column">
+ <u-steps-item :title="`${item.title} ${item.time ? item.time : ''}`" :desc="item.msg" v-for="item in steps" />
+ </u-steps>
+ </view>
+ </view> -->
+ <view class="floor">
+ <!-- <view class="wran" @click="del()">鍒犻櫎</view> -->
+ <view class="default" @click="reset()">閲嶇疆</view>
+ <view class="primary" @click="submit()">鎻愪氦</view>
+ </view>
+ <view>
+ <!-- 鎻愮ず淇℃伅寮圭獥 -->
+ <uni-popup ref="message" type="message">
+ <uni-popup-message :type="msgType1" :message="messageText" :duration="2000"></uni-popup-message>
+ </uni-popup>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data(){
+ return{
+ list: [],
+ listRule: [{
+ label: "鏄熸湡",
+ attribute: "weeklyDay$",
+ },
+ {
+ label: "鏃ユ湡",
+ attribute: "dailyTime$",
+ },
+ {
+ label: "宸ヤ綔鍐呭",
+ attribute: "workContent",
+ },
+ {
+ label: "宸ヤ綔鐩殑",
+ attribute: "workPurpose",
+ },
+ {
+ label: "璇勮",
+ attribute: "comment",
+ },
+ {
+ label: "闇�鍗忓姪浜嬮」",
+ attribute: "province",
+ },
+
+ {
+ label: "鐢叉柟鍗曚綅",
+ attribute: "cstmrId$",
+ },
+ {
+ label: "澶囨敞",
+ attribute: "memo",
+ },
+ {
+ label: "鏇存柊鏃堕棿",
+ attribute: "updateTime$",
+ },
+ ],
+ current:0,
+ steps:[],
+ workContent:'',
+ workPurpose:'',
+ weeklyMatter:'',
+ companys:[],
+ company:'',
+ messageText:'',
+ msgType1: 'success',
+ }
+ },
+ onLoad(option) {
+ let _this = this
+ _this.list = []
+ const eventChannel = this.getOpenerEventChannel();
+ eventChannel.on('dayStrokeCreate', function(data) {
+ _this.list = data.data
+ uni.request({
+ url: `${_this.baseUrl}/cstmr/all/get/kv`,
+ // method: 'POST',
+ header: { 'token': uni.getStorageSync('token') },
+ success(res) {
+ console.log(res)
+ res = res.data.data
+ for (var i = 0,keys = Object.keys(res); i< keys.length; i++){
+ console.log(res[keys[i]].name);
+ _this.companys.push(res[keys[i]].name);
+ }
+ //
+
+
+ }
+ })
+ })
+
+ },
+ methods:{
+ submit(){
+ let that = this
+ let params = []
+ let param = {
+ weeklyDay: that.list.weeklyDay,
+ dailyTime: that.list.dailyTime,
+ workContent: that.workContent,
+ workPurpose: that.workPurpose,
+ weeklyMatter: that.weeklyMatter,
+ cstmrName: that.company
+ }
+ params.push(param)
+ uni.request({
+ url: `${that.baseUrl}/weekly/from/add/phone/auth`,
+ method: 'POST',
+ header: { 'token': uni.getStorageSync('token') },
+ data:JSON.stringify({
+ weeklyId: that.list.weeklyId,
+ weeklyType: that.list.weeklyType,
+ weeklyDailyRealityList: params
+ }),
+ success(res) {
+ console.log(res)
+ res = res.data
+ if (res.code === 200 ) {
+ that.reset();
+ that.messageText = "鍒涘缓鎴愬姛"
+ that.messageToggle('success')
+ // that.save()
+ } else if (res.code == 403) {
+ uni.showToast({title: res.msg, icon: "none", position: 'top'})
+ setTimeout(() => {
+ uni.reLaunch({
+ url: '../login/login'
+ });
+ }, 1000);
+ } else {
+ uni.showToast({title: res.msg, icon: "none",position: 'top'})
+ }
+ }
+ //
+
+
+ })
+
+ },
+ messageToggle(type) {
+ this.msgType1 = type
+ this.$refs.message.open()
+ },
+ reset(){
+ let that = this
+ that.workContent = ''
+ that.workPurpose = ''
+ that.weeklyMatter = ''
+ that.company = ''
+ },
+ back() {
+ uni.navigateBack({})
+ },
+ scan() {
+ uni.navigateTo({
+ url: '/pages/authority/authority'
+ })
+ },
+ }
+ }
+
+</script>
+
+<style>
+ .status_bar {
+ height: var(--status-bar-height);
+ width: 100%;
+ background-color: #FFF;
+ position: sticky;
+ top: 0;
+ }
+ .card{
+ border-radius: 20rpx;
+ }
+ .box {
+ margin: 16rpx 8rpx;
+ /* height: 200px; */
+ box-shadow: 0 0 5px #dddddd;
+ background-color: #FFF;
+ padding: 16rpx 32rpx;
+ position: relative;
+ border-radius: 20rpx;
+ font-size: 24rpx;
+ /* color: #bdbdbd; */
+ }
+ .box-single-row {
+ margin-bottom: 20rpx;
+ display: flex;
+ }
+ .inputCss{
+ border-bottom: 1px #a5a5a5 solid;
+ }
+ .floor {
+ height: 100rpx;
+ line-height: 100rpx;
+ width: 100%;
+ background-color: #fff;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ display: flex;
+ align-items: center;
+ text-align: center;
+ letter-spacing: 10rpx;
+ }
+ .default {
+ flex: 2;
+ }
+ .default:active {
+ background-color: #eff0f1;
+ }
+ .primary {
+ flex: 3;
+ background-color: #2d8cf0;
+ color: #fff;
+ }
+ .primary:active {
+ background-color: #007dea;
+ }
+</style>
\ No newline at end of file
diff --git a/pages/business/process/weekly.vue b/pages/business/process/weekly.vue
new file mode 100644
index 0000000..3a1abb8
--- /dev/null
+++ b/pages/business/process/weekly.vue
@@ -0,0 +1,301 @@
+<template>
+ <view>
+ <view class="status_bar">
+ <!-- 杩欓噷鏄姸鎬佹爮 -->
+ </view>
+ <uni-nav-bar left-icon="left" title="鍛�/鏃ユ姤" @clickLeft="back" @clickRight="scan" :fixed="true"
+ :border="false" rightWidth="160rpx" leftWidth="160rpx"
+ >
+ <block slot="right">
+ <view class="city">
+ <view>
+ <text class="uni-nav-bar-text">{{user.username}}</text>
+ </view>
+ <uni-icons type="arrowdown" color="#333333" size="20" />
+ </view>
+ </block>
+ </uni-nav-bar>
+ <!-- 鎼滅储妗� -->
+ <view class="search-bg">
+ <u-search placeholder="杈撳叆" v-model="keyword" :clearabled="true" @custom="search()" @search="search()"></u-search>
+ </view>
+
+ <view class="main-box">
+ <view class="box" v-for="item in list" >
+ <view @click="goDetl(item)">
+ <view style="display: flex;">
+ <view class="box-title" style="flex: 1;">{{item.userId$}}鎻愪氦鐨勫懆鎶�</view>
+ <view class="box-time">{{item.weeklyYear+' '+item.weeklyDayMonth}}</view>
+ </view>
+ <!-- <view class="box-item">鎶ラ攢绫诲瀷:{{item.templateName}}</view>
+ <view class="box-item">鏄惁鍐茶处:{{item.businessTripDays$}}</view> -->
+ <view style="display: flex;">
+ <view class="box-item" style="flex: 1;">鐘舵��:{{item.status$}}</view>
+ <view class="box-settle" :style="item.bgcolor">{{item.settle$}}</view>
+ </view>
+ </view>
+ <view >
+ <uni-collapse accordion v-model="accordionVal" @change="change">
+ <uni-collapse-item>
+ <template v-slot:title>
+ <text style="font-size: 13px;">娴佺▼璇︽儏</text>
+ </template>
+ <view class="box">
+ <view >
+ <u-steps :current="item.settleCurrent-1" direction="column">
+ <u-steps-item :title="`${item.title} ${item.time ? item.time : ''}`" :desc="item.msg" v-for="item in JSON.parse(item.settleMsg)" />
+ </u-steps>
+ </view>
+ </view>
+ </uni-collapse-item>
+ </uni-collapse>
+
+ </view>
+ </view>
+
+ </view>
+
+ <u-empty v-if="true" icon="../../../static/image/emptyList.png" v-show="list.length <= 0" />
+ <view class="fxbtn">
+ <uni-icons type="plusempty" color="#fff" @click="add()" ></uni-icons>
+ </view>
+ </view>
+</template>
+
+<script>
+ import user from '@/pages/api/user/user.js'
+ export default {
+ data() {
+ return {
+ keyword: '',
+ user: {
+ username: '',
+ id: 0,
+ type: ''
+ },
+ falg: true,
+ list: [],
+ curr: 2,
+ reload: false,
+ status: 'more',
+ current:0,
+ steps:[],
+ accordionVal:'',
+ steps:[]
+ }
+ },
+ onShow() {
+ let that = this
+ uni.$on('isRefresh',function(data){
+ that.user.username = data.title
+ that.user.id = data.id
+ that.user.type = data.key
+ that.falg = false
+ })
+ if (this.falg) {
+ this.getDetail()
+ }
+ setTimeout(()=> {
+ this.getReimburseOnline1()
+ },50)
+ },
+ onReachBottom() {
+ this.status = 'more';
+ this.getReimburseOnline()
+ },
+ methods: {
+ change(e){
+
+ },
+ getReimburseOnline1() {
+ let _this = this
+ _this.list = []
+ uni.showLoading({})
+ let param = {curr:1,limit:8,dept_id: 0,user_id: 67}
+ if (_this.user.type == 'user_id') {
+ param = {curr:1,limit:8,user_id: _this.user.id}
+ } else if(_this.user.type == 'dept_id'){
+ param = {curr:1,limit:8,dept_id: _this.user.id}
+ } else {
+ param = {curr:1,limit:8}
+ }
+ uni.request({
+ url: `${_this.baseUrl}/weekly/list/auth`,
+ header: { 'token': uni.getStorageSync('token') },
+ data: param,
+ success(res) {
+ res = res.data
+ if (res.code === 200) {
+ for (let k of res.data.records) {
+ if (k.settle == 3) {
+ k['bgcolor'] = 'color: #12d489'
+ } else if (k.settle == 2) {
+ k['bgcolor'] = 'color: #ffbd67'
+ }
+ }
+ let list = res.data.records
+ _this.list = _this.reload ? list : _this.list.concat(list);
+ if (res.data.records.length == 0) {
+ _this.status = 'noMore'
+ }
+ }
+ },
+ fail(result) {
+ uni.showToast({title: '璇锋眰澶辫触'})
+ setTimeout(() => {
+ uni.reLaunch({
+ url: '../../login/login'
+ });
+ }, 1000);
+ },
+ complete() {
+ uni.hideLoading()
+ }
+ })
+ },
+ getReimburseOnline() {
+ let _this = this
+ uni.showLoading({})
+ let param = {curr:_this.curr,limit:8,dept_id: 0,user_id: 67}
+ if (this.user.type == 'user_id') {
+ param = {curr:_this.curr,limit:8,user_id: _this.user.id}
+ } else if(this.user.type == 'dept_id') {
+ param = {curr:_this.curr,limit:8,dept_id: _this.user.id}
+ } else {
+ param = {curr:_this.curr,limit:8}
+ }
+ uni.request({
+ url: `${_this.baseUrl}/reimburseOnline/list/auth`,
+ header: { 'token': uni.getStorageSync('token') },
+ data: param,
+ success(res) {
+ res = res.data
+ if (res.code === 200) {
+ for (let k of res.data.records) {
+ if (k.settle == 3) {
+ k['bgcolor'] = 'color: #12d489'
+ } else if (k.settle == 2) {
+ k['bgcolor'] = 'color: #ffbd67'
+ }
+ }
+ let list = res.data.records
+ _this.list = _this.reload ? list : _this.list.concat(list);
+ _this.curr = _this.curr + 1
+ if (res.data.records.length == 0) {
+ _this.status = 'noMore'
+ }
+ }
+ },
+ fail(result) {
+ uni.showToast({title: '璇锋眰澶辫触'})
+ setTimeout(() => {
+ uni.reLaunch({
+ url: '../../login/login'
+ });
+ }, 1000);
+ },
+ complete() {
+ uni.hideLoading()
+ }
+ })
+ },
+ async getDetail() {
+ let res = await user.getDetail()
+ if (res.code === 200) {
+ this.user.username = res.data.username
+ this.user.id = res.data.id
+ } else if (res.code === 403) {
+ this.backLogin(res)
+ }
+ },
+ add() {
+ uni.navigateTo({
+ url: '/pages/business/process/weeklySelect',
+ success: function(res) {
+ res.eventChannel.emit('reimburseOnlineDetl', {
+ data: 'add'
+ })
+ }
+ })
+ },
+ goDetl(e) {
+ // console.log(e);
+ uni.navigateTo({
+ url: '/pages/business/process/weeklySelect',
+ success: function(res) {
+ res.eventChannel.emit('weekly', {
+ data: e
+ })
+ }
+ })
+ },
+ back() {
+ uni.navigateBack({})
+ },
+ scan() {
+ uni.navigateTo({
+ url: '/pages/authority/authority'
+ })
+ },
+ }
+ }
+</script>
+
+<style>
+ .flex-row {
+ display: flex;
+ }
+
+ .flex-col {
+ display: flex;
+ flex-direction: column;
+ }
+
+ .main-box {
+ /* margin: 16rpx; */
+ /* background-color: #FFF; */
+ border-radius: 20rpx;
+ padding: 8rpx;
+ }
+
+ .box {
+ margin: 16rpx 8rpx;
+ /* height: 200px; */
+ box-shadow: 0 0 5px #dddddd;
+ background-color: #FFF;
+ padding: 16rpx 32rpx;
+ position: relative;
+ border-radius: 20rpx;
+ font-size: 24rpx;
+ color: #bdbdbd;
+ }
+
+ .box-flag {
+ position: absolute;
+ right: 0;
+ top: 10rpx;
+ background-color: #74B9E9;
+ padding: 6rpx;
+ font-size: 10rpx;
+ color: #FFF;
+ }
+
+ .box-time {
+ color: #bdbdbd;
+ }
+
+ .box-settle {
+ font-size: 26rpx;
+ /* font-weight: bold; */
+ }
+
+ .box-title {
+ font-size: 28rpx;
+ font-weight: bold;
+ color: #000;
+ }
+
+ .box-single-row {}
+
+
+</style>
\ No newline at end of file
diff --git a/pages/business/process/weeklySelect.vue b/pages/business/process/weeklySelect.vue
new file mode 100644
index 0000000..e3c87b2
--- /dev/null
+++ b/pages/business/process/weeklySelect.vue
@@ -0,0 +1,251 @@
+<template>
+ <view>
+ <view class="status_bar">
+ <!-- 杩欓噷鏄姸鎬佹爮 -->
+ </view>
+ <uni-nav-bar left-icon="left" title="鏃ヨ鍒�" @clickLeft="back" @clickRight="scan" :fixed="true"
+ :border="false" rightWidth="160rpx" leftWidth="160rpx"
+ >
+ <block slot="right">
+ <view class="city">
+ <view>
+ <text class="uni-nav-bar-text">{{user.username}}</text>
+ </view>
+ <uni-icons type="arrowdown" color="#333333" size="20" />
+ </view>
+ </block>
+ </uni-nav-bar>
+
+ <view class="card" v-for="item in items" >
+ <view class=card @click="goDetl(item)">
+ <view class="item100noborder" >
+ <view class="box-time" style="flex: 1;">{{item.weeklyDay$}}</view>
+ <view class="box-time">{{item.dailyTime$}}</view>
+ </view>
+ <view class="item100">
+ <view class="code-decs">宸ヤ綔鍐呭</view>
+ {{item.workContent}}
+ </view>
+ <view class="item100">
+ <view class="code-decs">宸ヤ綔鐩殑</view>
+ {{item.workPurpose}}
+ </view>
+ <view class="item100">
+ <view class="code-decs">鐢叉柟鍗曚綅</view>
+ {{item.cstmrId$}}
+ </view>
+ </view>
+
+ <view class="buttomcss">
+ <button size="mini" class="mini-btn" type="default" @click="goDayStroke(item)">鏌ョ湅褰撳墠鏃ヨ绋�</button>
+ <button size="mini" class="mini-btn" type="primary" @click="goDayStrokeCreate(item)">鍒涘缓鏃ヨ绋�</button>
+ </view>
+
+
+ </view>
+
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ user: {
+ username: '',
+ id: 0,
+ type: ''
+ },
+ token: '',
+ items:[]
+
+ }
+ },
+ onShow() {
+ // this.baseUrl = uni.getStorageSync('baseUrl');
+ this.token = uni.getStorageSync('token');
+
+ },
+ onLoad(option) {
+ let _this = this
+ _this.items = []
+ const eventChannel = this.getOpenerEventChannel();
+ eventChannel.on('weekly', function(data) {
+
+ uni.request({
+ url: `${_this.baseUrl}/weeklyDailyPlan/list/auth`,
+ // method: 'POST',
+ header: { 'token': uni.getStorageSync('token') },
+ data: {
+ weekly_id: data.data.id
+ },
+ success(res) {
+ res = res.data.data
+ _this.items = res.records
+ console.log(res.records)
+ }
+ })
+ _this.items = data
+ console.log(data);
+
+ })
+
+ },
+ methods: {
+ goDayStrokeCreate(e){
+ uni.navigateTo({
+ url: '/pages/business/process/dayStrokeCreate',
+ success: function(res) {
+ res.eventChannel.emit('dayStrokeCreate', {
+ data: e
+ })
+ }
+ })
+ },
+ goDayStroke(e){
+ uni.navigateTo({
+ url: '/pages/business/process/dayStroke',
+ success: function(res) {
+ res.eventChannel.emit('dayStroke', {
+ data: e
+ })
+ }
+ })
+ },
+ goDetl(e) {
+ // console.log(e);
+ uni.navigateTo({
+ url: '/pages/business/process/dayDetl',
+ success: function(res) {
+ res.eventChannel.emit('day', {
+ data: e
+ })
+ }
+ })
+ },
+ getOrderNoList() {
+ let that = this
+ uni.request({
+ url: this.baseUrl + '/originRule/list/all',
+ method: 'POST',
+ success(res) {
+ res = res.data
+ that.menuList = res.data
+ }
+ })
+ },
+ chose(item) {
+ let that = this
+ uni.navigateTo({
+ url: "./goodsUp2",
+ success: function(res) {
+ // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑
+ res.eventChannel.emit('item', {
+ item: item
+ })
+ },
+ events: {
+ // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨�
+ acceptDataFromOpenedPage: function(data) {
+ // that.matnr = data.data
+ that.input(that.matnr)
+ },
+ },
+
+
+ });
+ },
+ back() {
+ uni.navigateBack({})
+ },scan() {
+ uni.navigateTo({
+ url: '/pages/authority/authority'
+ })
+ },
+ }
+ }
+</script>
+
+<style>
+ .box-time {
+ color: #bdbdbd;
+ }
+ .card {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ margin: 20rpx;
+ background-color: #ffffff;
+ border-radius: 20rpx;
+ color: #000000;
+ }
+ .card2 {
+ display: flex;
+ flex-wrap: wrap;
+ padding: 20rpx;
+ justify-content: space-between;
+ background-color: #ffffff;
+ border-radius: 20rpx;
+ color: #000000;
+ }
+ .uni-pb-5 {
+ padding-bottom: 10px;
+ }
+ .uni-px-5 {
+ padding-left: 10px;
+ padding-right: 10px;
+ }
+ .buttom {
+ width: 100%;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 100rpx;
+ background-color: #FFF;
+ box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2) ;
+ }
+ .item {
+ width: 40%;
+ display: flex;
+ align-items: center;
+ height: 70rpx;
+ padding: 0px 10upx 0px;
+ /* margin-left: 20rpx; */
+ border-bottom: 1px solid #b7b7b7;
+ }
+ .item100 {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ height: 70rpx;
+ padding: 0px 10upx 0px;
+ /* margin-left: 20rpx; */
+ border-bottom: 1px solid #b7b7b7;
+ }
+ .item100noborder {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ height: 70rpx;
+ padding: 0px 10upx 0px;
+ /* margin-top: 0rpx; */
+ /* border-bottom: 1px solid #000000; */
+ }
+ .code-decs {
+ width: 20vw;
+ font-size: 15px;
+ color: #8c8c8c;
+ }
+ .buttomcss {
+ display: flex;
+ width: 100%;
+ margin: 0 0 5px;
+ /* text-align: center; */
+ }
+ button{
+ font-size: 10rpx;
+ }
+</style>
diff --git a/uni_modules/uni-section/changelog.md b/uni_modules/uni-section/changelog.md
new file mode 100644
index 0000000..738f2b3
--- /dev/null
+++ b/uni_modules/uni-section/changelog.md
@@ -0,0 +1,2 @@
+## 0.0.1锛�2022-07-22锛�
+- 鍒濆鍖�
diff --git a/uni_modules/uni-section/components/uni-section/uni-section.vue b/uni_modules/uni-section/components/uni-section/uni-section.vue
new file mode 100644
index 0000000..9a52e0b
--- /dev/null
+++ b/uni_modules/uni-section/components/uni-section/uni-section.vue
@@ -0,0 +1,167 @@
+<template>
+ <view class="uni-section">
+ <view class="uni-section-header" @click="onClick">
+ <view class="uni-section-header__decoration" v-if="type" :class="type" />
+ <slot v-else name="decoration"></slot>
+
+ <view class="uni-section-header__content">
+ <text :style="{'font-size':titleFontSize,'color':titleColor}" class="uni-section__content-title" :class="{'distraction':!subTitle}">{{ title }}</text>
+ <text v-if="subTitle" :style="{'font-size':subTitleFontSize,'color':subTitleColor}" class="uni-section-header__content-sub">{{ subTitle }}</text>
+ </view>
+
+ <view class="uni-section-header__slot-right">
+ <slot name="right"></slot>
+ </view>
+ </view>
+
+ <view class="uni-section-content" :style="{padding: _padding}">
+ <slot />
+ </view>
+ </view>
+</template>
+
+<script>
+
+ /**
+ * Section 鏍囬鏍�
+ * @description 鏍囬鏍�
+ * @property {String} type = [line|circle|square] 鏍囬瑁呴グ绫诲瀷
+ * @value line 绔栫嚎
+ * @value circle 鍦嗗舰
+ * @value square 姝f柟褰�
+ * @property {String} title 涓绘爣棰�
+ * @property {String} titleFontSize 涓绘爣棰樺瓧浣撳ぇ灏�
+ * @property {String} titleColor 涓绘爣棰樺瓧浣撻鑹�
+ * @property {String} subTitle 鍓爣棰�
+ * @property {String} subTitleFontSize 鍓爣棰樺瓧浣撳ぇ灏�
+ * @property {String} subTitleColor 鍓爣棰樺瓧浣撻鑹�
+ * @property {String} padding 榛樿鎻掓Ы padding
+ */
+
+ export default {
+ name: 'UniSection',
+ emits:['click'],
+ props: {
+ type: {
+ type: String,
+ default: ''
+ },
+ title: {
+ type: String,
+ required: true,
+ default: ''
+ },
+ titleFontSize: {
+ type: String,
+ default: '14px'
+ },
+ titleColor:{
+ type: String,
+ default: '#333'
+ },
+ subTitle: {
+ type: String,
+ default: ''
+ },
+ subTitleFontSize: {
+ type: String,
+ default: '12px'
+ },
+ subTitleColor: {
+ type: String,
+ default: '#999'
+ },
+ padding: {
+ type: [Boolean, String],
+ default: false
+ }
+ },
+ computed:{
+ _padding(){
+ if(typeof this.padding === 'string'){
+ return this.padding
+ }
+
+ return this.padding?'10px':''
+ }
+ },
+ watch: {
+ title(newVal) {
+ if (uni.report && newVal !== '') {
+ uni.report('title', newVal)
+ }
+ }
+ },
+ methods: {
+ onClick() {
+ this.$emit('click')
+ }
+ }
+ }
+</script>
+<style lang="scss" >
+ $uni-primary: #2979ff !default;
+
+ .uni-section {
+ background-color: #fff;
+ .uni-section-header {
+ position: relative;
+ /* #ifndef APP-NVUE */
+ display: flex;
+ /* #endif */
+ flex-direction: row;
+ align-items: center;
+ padding: 12px 10px;
+ font-weight: normal;
+
+ &__decoration{
+ margin-right: 6px;
+ background-color: $uni-primary;
+ &.line {
+ width: 4px;
+ height: 12px;
+ border-radius: 10px;
+ }
+
+ &.circle {
+ width: 8px;
+ height: 8px;
+ border-top-right-radius: 50px;
+ border-top-left-radius: 50px;
+ border-bottom-left-radius: 50px;
+ border-bottom-right-radius: 50px;
+ }
+
+ &.square {
+ width: 8px;
+ height: 8px;
+ }
+ }
+
+ &__content {
+ /* #ifndef APP-NVUE */
+ display: flex;
+ /* #endif */
+ flex-direction: column;
+ flex: 1;
+ color: #333;
+
+ .distraction {
+ flex-direction: row;
+ align-items: center;
+ }
+ &-sub {
+ margin-top: 2px;
+ }
+ }
+
+ &__slot-right{
+ font-size: 14px;
+ }
+ }
+
+ .uni-section-content{
+ font-size: 14px;
+ }
+ }
+</style>
diff --git a/uni_modules/uni-section/package.json b/uni_modules/uni-section/package.json
new file mode 100644
index 0000000..0a31fb5
--- /dev/null
+++ b/uni_modules/uni-section/package.json
@@ -0,0 +1,87 @@
+{
+ "id": "uni-section",
+ "displayName": "uni-section 鏍囬鏍�",
+ "version": "0.0.1",
+ "description": "鏍囬鏍忕粍浠�",
+ "keywords": [
+ "uni-ui",
+ "uniui",
+ "鏍囬鏍�"
+],
+ "repository": "https://github.com/dcloudio/uni-ui",
+ "engines": {
+ "HBuilderX": ""
+ },
+ "directories": {
+ "example": "../../temps/example_temps"
+ },
+ "dcloudext": {
+ "category": [
+ "鍓嶇缁勪欢",
+ "閫氱敤缁勪欢"
+ ],
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "鏃�",
+ "data": "鏃�",
+ "permissions": "鏃�"
+ },
+ "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
+ },
+ "uni_modules": {
+ "dependencies": [
+ "uni-scss"
+ ],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "y"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "寰俊娴忚鍣�(Android)": "y",
+ "QQ娴忚鍣�(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "灏忕▼搴�": {
+ "寰俊": "y",
+ "闃块噷": "y",
+ "鐧惧害": "y",
+ "瀛楄妭璺冲姩": "y",
+ "QQ": "y"
+ },
+ "蹇簲鐢�": {
+ "鍗庝负": "u",
+ "鑱旂洘": "u"
+ },
+ "Vue": {
+ "vue2": "y",
+ "vue3": "y"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/uni_modules/uni-section/readme.md b/uni_modules/uni-section/readme.md
new file mode 100644
index 0000000..d47faab
--- /dev/null
+++ b/uni_modules/uni-section/readme.md
@@ -0,0 +1,8 @@
+## Section 鏍囬鏍�
+> **缁勪欢鍚嶏細uni-section**
+> 浠g爜鍧楋細 `uSection`
+
+uni-section 缁勪欢涓昏鐢ㄤ簬鏂囩珷銆佸垪琛ㄨ鎯呯瓑鏍囬灞曠ず
+
+### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-section)
+#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839
--
Gitblit v1.9.1