From eee82fc63bf8b0b48bda5d6c89a491974a20bc97 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 18 八月 2023 09:52:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
minipro_standard/static/nav_kanban_sel@2x.png | 0
minipro_standard/static/ar_black@2x.png | 0
minipro_standard/static/ic_shenhe@2x.png | 0
h5_standard/src/views/workOrder/reportingForWork.vue | 60
web_standard/src/components/ext/OperaUserDeviceExtWindow.vue | 2
minipro_standard/static/chuku_ic_delete@2x.png | 0
minipro_standard/static/ic_ar@2x.png | 0
h5_standard/src/views/wxLogin.vue | 1
minipro_standard/static/nav_daiban@2x.png | 0
minipro_standard/static/back.png | 0
minipro_standard/static/ic_play@2x.png | 0
minipro_standard/static/nav_gongzuotai_sel@2x.png | 0
minipro_standard/static/mine_ic_xiugaimima@2x.png | 0
minipro_standard/static/ic_delete@2x.png | 0
minipro_standard/util/api/index.js | 47 -
minipro_standard/static/password_ic_tip@2x.png | 0
minipro_standard/util/request/requestInterceptors.js | 3
minipro_standard/static/diantong_open@2x.png | 0
minipro_standard/static/mine_ic_xitonggonggao@2x.png | 0
h5_standard/src/views/workOrder/processPlan.vue | 106 ++
h5_standard/src/views/workOrder/workOrderReporting.vue | 658 +++++++++++++---
minipro_standard/components/myTabber.vue | 101 ++
web_standard/src/components/ext/OperaWrollOutStore.vue | 13
web_standard/src/views/ext/plansExt.vue | 14
minipro_standard/static/daiban_ic_xiaoxi@2x.png | 0
minipro_standard/static/ic_close@2x.png | 0
web_standard/src/components/ext/OperaWInboundExtWindow.vue | 3
minipro_standard/static/mine_ic_bangding@2x.png | 0
minipro_standard/static/nav_wode@2x.png | 0
h5_standard/src/views/LogInAgain.vue | 18
minipro_standard/static/zhongjian_ic_delete.png | 0
minipro_standard/static/login_bg@2x.png | 0
minipro_standard/static/nav_daiban_sel@2x.png | 0
minipro_standard/static/nav_ic_back@2x.png | 0
minipro_standard/static/notfound.png | 0
minipro_standard/main.js | 14
minipro_standard/static/default_weishouquan@2x.png | 0
minipro_standard/static/login_ic_password@2x.png | 0
minipro_standard/static/nav_gongzuotai@2x.png | 0
minipro_standard/static/work_ic_guanli@2x.png | 0
web_standard/src/components/base/BaseTable.vue | 119 ++
web_standard/src/components/ext/OperaWOutboundExtWindow.vue | 19
minipro_standard/static/ic_notpass@2x.png | 0
minipro_standard/static/mine_ic_change@2x.png | 0
minipro_standard/static/gongdan_ic_shoudong@2x.png | 0
web_standard/src/components/ext/OrderDistrubution.vue | 1
minipro_standard/static/nav_wode_sel@2x.png | 0
minipro_standard/util/request/responseInterceptors.js | 6
minipro_standard/static/mine_ic_shoujihao@2x.png | 0
web_standard/src/components/business/OperaSalaryParamWindow.vue | 4
minipro_standard/static/btn_upload@2x.png | 0
minipro_standard/static/daiban_btn_saoma@2x.png | 0
minipro_standard/static/mine_ic_youxianghao@2x.png | 0
minipro_standard/static/chuku_ic_cangku@2x.png | 0
web_standard/.env.development | 7
minipro_standard/static/ic_pdf@2x.png | 0
web_standard/src/components/ext/OperaPlanStaock.vue | 4
web_standard/src/views/ext/salaryStatistic.vue | 6
minipro_standard/pages/index/index.vue | 188 +---
minipro_standard/pages/login/login.vue | 84 ++
h5_standard/src/components/newCom/quality.vue | 3
minipro_standard/static/2@2x.png | 0
minipro_standard/static/3@2x.png | 0
minipro_standard/pages.json | 91 +-
minipro_standard/static/default_loginfailed@2x.png | 0
h5_standard/src/components/common/Warehouse.vue | 18
minipro_standard/static/ic_saomiao@2x.png | 0
minipro_standard/static/daiban_ic_daiban@2x.png | 0
minipro_standard/static/logo@2x.png | 0
h5_standard/src/views/needToBeDealtWith/addWarehousing.vue | 35
minipro_standard/static/nav_kanban@2x.png | 0
minipro_standard/static/btn_saoma@2x.png | 0
h5_standard/src/views/needToBeDealtWith/outbound.vue | 17
minipro_standard/store/index.js | 20
minipro_standard/static/login_ic_phone@2x.png | 0
minipro_standard/static/btn_xinzeng@2x.png | 0
minipro_standard/pages/workbench/workbench.vue | 55 +
minipro_standard/static/gon1gdan_ic_saoma@2x.png | 0
minipro_standard/static/login_ic_code@2x.png | 0
web_standard/src/views/business/salaryParam.vue | 6
minipro_standard/common/config.js | 4
minipro_standard/static/ic_search@2x.png | 0
minipro_standard/static/mine_bg@2x.png | 0
minipro_standard/App.vue | 7
minipro_standard/static/default_404@2x.png | 0
minipro_standard/static/mine_ic_gerenxinxi@2x.png | 0
/dev/null | 477 ------------
minipro_standard/static/ic_pass@2x.png | 0
minipro_standard/pages/mine/mine.vue | 74 +
minipro_standard/static/loginError.png | 0
minipro_standard/static/@2x.png | 0
minipro_standard/static/nav_saoma@2x.png | 0
minipro_standard/static/gongdan_ic_saoma@2x.png | 0
minipro_standard/static/jianyan_ic_saoma@2x.png | 0
web_standard/src/views/ext/workorderPutRecordExt.vue | 28
95 files changed, 1,376 insertions(+), 937 deletions(-)
diff --git a/h5_standard/src/components/common/Warehouse.vue b/h5_standard/src/components/common/Warehouse.vue
index c9579da..6333630 100644
--- a/h5_standard/src/components/common/Warehouse.vue
+++ b/h5_standard/src/components/common/Warehouse.vue
@@ -19,7 +19,13 @@
@load="onLoad">
<div class="content_list">
<div class="content_list_item" v-for="(item, i) in list" :key="i" @click="jump(item)">
- <div class="content_list_item_name">{{item.name}}</div>
+ <div class="content_list_item_name">
+ <span style="color: #03AF76;" v-if="item.tmodel.label == 'APPLIANCE_ONTEST'">[{{ item.tmodel.code }}]</span>
+ <span style="color: #305ED5;" v-if="item.tmodel.label == 'APPLIANCE_MIX'">[{{ item.tmodel.code }}]</span>
+ <span style="color: #F5A400;" v-if="item.tmodel.label == 'APPLIANCE_OFFTEST'">[{{ item.tmodel.code }}]</span>
+ <span style="color: red;" v-if="item.tmodel.label == 'APPLIANCE_USELESS'">[{{ item.tmodel.code }}]</span>
+ <span>{{item.name}}</span>
+ </div>
</div>
</div>
</van-list>
@@ -223,7 +229,15 @@
margin-right: 10px;
}
.content_list_item_name {
- font-size: 28px;
+ width: 100%;
+ display: flex;
+ align-items: center;
+ span {
+ font-size: 30px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #222222;
+ }
}
}
}
diff --git a/h5_standard/src/components/newCom/quality.vue b/h5_standard/src/components/newCom/quality.vue
index c1c67a6..143cdc8 100644
--- a/h5_standard/src/components/newCom/quality.vue
+++ b/h5_standard/src/components/newCom/quality.vue
@@ -23,8 +23,7 @@
let list = ref([
{ name: '鍚堟牸', id: '0' },
{ name: '涓嶈壇', id: '1' },
- { name: '鎶ュ簾', id: '2' },
- { name: '娣峰悎', id: '3' }
+ { name: '鎶ュ簾', id: '2' }
])
// 杩斿洖涓婁竴椤靛甫鍙傛暟
diff --git a/h5_standard/src/views/LogInAgain.vue b/h5_standard/src/views/LogInAgain.vue
index bcfda83..1ded748 100644
--- a/h5_standard/src/views/LogInAgain.vue
+++ b/h5_standard/src/views/LogInAgain.vue
@@ -84,20 +84,20 @@
// uuid: '0000',
// code: '0000'
// })
- // let res = await testLogin({ // 澶ф爴
- // username: '18019924213',
- // password: '123456',
- // companyId: '1',
- // uuid: '0000',
- // code: '0000'
- // })
- let res = await testLogin({ // 鏂囨
- username: '18656077929',
+ let res = await testLogin({ // 澶ф爴
+ username: '18019924213',
password: '123456',
companyId: '8',
uuid: '0000',
code: '0000'
})
+ // let res = await testLogin({ // 鏂囨
+ // username: '18656077929',
+ // password: '123456',
+ // companyId: '111',
+ // uuid: '0000',
+ // code: '0000'
+ // })
// let res = await testLogin({ // 鑳″厠涓�
// username: '17751132561',
// password: '123456',
diff --git a/h5_standard/src/views/needToBeDealtWith/addWarehousing.vue b/h5_standard/src/views/needToBeDealtWith/addWarehousing.vue
index ef5e6ea..14bf623 100644
--- a/h5_standard/src/views/needToBeDealtWith/addWarehousing.vue
+++ b/h5_standard/src/views/needToBeDealtWith/addWarehousing.vue
@@ -139,6 +139,7 @@
{
batch: '',
locationId: '',
+ locationIdLabel: '',
locationName: '',
materialId: '',
materialName: '',
@@ -165,6 +166,9 @@
}
// 鎵撳紑閫夋嫨鐗╂枡
const openQ = (index: number) => {
+ if (list.value[index].locationIdLabel == 'APPLIANCE_ONTEST' || list.value[index].locationIdLabel == 'APPLIANCE_OFFTEST' || list.value[index].locationIdLabel == 'APPLIANCE_USELESS') {
+ return
+ }
i.value = index
qualityShow.value = true
}
@@ -180,18 +184,19 @@
locationShow.value = true
}
const addItem = () => {
- // if (!form.warehouseId) return Toast('璇烽�夋嫨鍏ュ簱浠撳簱')
+ if (!form.warehouseId) return Toast('璇烽�夋嫨鍏ュ簱浠撳簱')
list.value.push({
batch: '',
locationId: '',
locationName: '',
+ locationIdLabel: list.value[list.value.length - 1].locationIdLabel,
materialId: '',
materialName: '',
num: '',
procedureId: '',
procedureName: '',
- qualityType: '',
- qualityTypeName: '',
+ qualityType: list.value[list.value.length - 1].qualityType,
+ qualityTypeName: list.value[list.value.length - 1].qualityTypeName,
unitId: '',
unitName: ''
})
@@ -301,6 +306,17 @@
item.locationId = res.data[0].id
item.locationName = res.data[0].unionName
})
+ list.value[i.value].locationIdLabel = res.data[0].label
+ if (res.data[0].label === 'APPLIANCE_ONTEST') {
+ list.value[i.value].qualityType = '0'
+ list.value[i.value].qualityTypeName = '鍚堟牸'
+ } else if (res.data[0].label === 'APPLIANCE_OFFTEST') {
+ list.value[i.value].qualityType = '1'
+ list.value[i.value].qualityTypeName = '涓嶈壇'
+ } else if (res.data[0].label === 'APPLIANCE_USELESS') {
+ list.value[i.value].qualityType = '2'
+ list.value[i.value].qualityTypeName = '鎶ュ簾'
+ }
} else {
location.value = true
list.value.forEach(item => {
@@ -340,6 +356,19 @@
const getValue3 = (item: any): void => {
list.value[i.value].locationId = item.id
list.value[i.value].locationName = item.unionName
+ list.value[i.value].qualityType = ''
+ list.value[i.value].qualityTypeName = ''
+ list.value[i.value].locationIdLabel = item.label
+ if (item.label === 'APPLIANCE_ONTEST') {
+ list.value[i.value].qualityType = '0'
+ list.value[i.value].qualityTypeName = '鍚堟牸'
+ } else if (item.label === 'APPLIANCE_OFFTEST') {
+ list.value[i.value].qualityType = '1'
+ list.value[i.value].qualityTypeName = '涓嶈壇'
+ } else if (item.label === 'APPLIANCE_USELESS') {
+ list.value[i.value].qualityType = '2'
+ list.value[i.value].qualityTypeName = '鎶ュ簾'
+ }
locationShow.value = false
}
// 閫夋嫨宸ュ簭
diff --git a/h5_standard/src/views/needToBeDealtWith/outbound.vue b/h5_standard/src/views/needToBeDealtWith/outbound.vue
index 21d39a9..a1d47d1 100644
--- a/h5_standard/src/views/needToBeDealtWith/outbound.vue
+++ b/h5_standard/src/views/needToBeDealtWith/outbound.vue
@@ -44,7 +44,7 @@
<span>鍑哄簱璐т綅锛歿{ item.locationName }}</span>
<div class="rework_qd_item_hw_right">
<span>鏁伴噺锛�</span>
- <input type="number" v-model="item.num" placeholder="0" />
+ <input type="number" v-model="item.num" @input="changeNum(item)" placeholder="0" />
<span>{{ item.unitName }}</span>
</div>
</div>
@@ -111,7 +111,16 @@
const onCancel = () => {
typeShow.value = false
}
-
+ const changeNum = (obj: any) => {
+ if (obj.num < 0) {
+ obj.num = ''
+ return Toast('鍑哄簱鐗╂枡鏁伴噺蹇呴』澶т簬0')
+ }
+ if (obj.num > obj.total) {
+ obj.num = ''
+ return Toast('鍑哄簱鐗╂枡鏁伴噺涓嶈兘澶т簬搴撳瓨鏁�')
+ }
+ }
// 鑾峰彇褰撳ぉ骞存湀鏃�
const getDay = () => {
var date = new Date();
@@ -127,7 +136,7 @@
if (!form.warehouseId) return Toast('璇烽�夋嫨鍑哄簱浠撳簱')
if (list.value.length === 0) return Toast('鑷冲皯閫夋嫨涓�鏉″嚭搴撶墿鏂�')
for (let i = 0; i < list.value.length; i++) {
- if (!list.value[i].num || list.value[i].num == '' || list.value[i].num == 0) {
+ if (!list.value[i].num || list.value[i].num == '' || list.value[i].num <= 0) {
return Toast(`绗�${i + 1}涓嚭搴撶墿鏂欐暟閲忓繀椤诲ぇ浜�0`)
}
if (list.value[i].num > list.value[i].total) {
@@ -352,7 +361,7 @@
color: #333333;
background: #FFFFFF;
border-radius: 8px;
- border: 1px solid #CCCCCC;
+ border: 1PX solid #CCCCCC;
margin: 0 20px;
padding: 0 30px;
box-sizing: border-box;
diff --git a/h5_standard/src/views/workOrder/processPlan.vue b/h5_standard/src/views/workOrder/processPlan.vue
index d23877b..c189abc 100644
--- a/h5_standard/src/views/workOrder/processPlan.vue
+++ b/h5_standard/src/views/workOrder/processPlan.vue
@@ -1,5 +1,9 @@
<template>
<div class="content">
+ <div :class="{ 'content_top': status }" class="content_search">
+ <v-Search @searchInput="searchInput" @submit="submit" :isShow="false" placeholder="鎼滅储鐗╂枡鍚嶇О/缂栫爜/宸ュ簭鍚嶇О">
+ </v-Search>
+ </div>
<van-pull-refresh v-model="refreshing" @refresh="onRefresh">
<van-list
v-model:loading="loading"
@@ -48,12 +52,15 @@
</template>
<script setup lang="ts">
- import { reactive, ref, onBeforeUnmount, getCurrentInstance } from "vue"
+ import { reactive, ref, onBeforeUnmount, getCurrentInstance, onMounted } from "vue"
import { useRouter, useRoute } from "vue-router"
import { getList } from "@/apis/PlanningAPI"
+ import { judgmentPlatform } from '@/utils/utils'
const route = useRoute()
const router = useRouter()
+
+ let status = ref<boolean>(false) // 鏍规嵁骞冲彴鏄惁闇�瑕佽缃畉op
const { $Bus } = getCurrentInstance().appContext.config.globalProperties
@@ -61,7 +68,8 @@
const pageData = reactive({
capacity: 10,
page: 0,
- total: 0
+ total: 0,
+ name: ''
})
// 鍒楄〃鏁版嵁
@@ -73,6 +81,23 @@
const clickItem = (obj: any) => {
$Bus.emit('callback', obj)
router.go(-1)
+ }
+
+ // 鎼滅储鎻愪氦
+ const submit = (): void => {
+ pageData.page = 0
+ finished.value = false
+ listData.value = []
+ onLoad()
+ }
+
+ // 鎼滅储妗�
+ const searchInput = (data: any) => {
+ pageData.name = data
+ pageData.page = 0
+ finished.value = false
+ listData.value = []
+ onLoad()
}
// 鍒楄〃
@@ -124,6 +149,10 @@
onBeforeUnmount(() => {
$Bus.all.delete("changeOdr")
})
+
+ onMounted(() => {
+ status.value = judgmentPlatform()
+ })
</script>
<style lang="scss" scoped>
@@ -132,6 +161,79 @@
// height: 100%;
position: absolute;
background: #F7F7F7;
+ .content_top {
+ top: 0 !important;
+ }
+ .content_search {
+ padding: 30px;
+ background: white;
+ box-sizing: border-box;
+ position: sticky;
+ top: 88px;
+ z-index: 9;
+ .Search_item {
+ margin-bottom: 40px;
+ .Search_item_label {
+ font-size: 30px;
+ font-weight: 500;
+ color: #222222;
+ }
+ .Search_item_content {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-top: 30px;
+ .tag {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ .tag_active {
+ background: $nav-color !important;
+ color: #ffffff !important;
+ }
+ .tag_item {
+ width: 156px;
+ height: 70px;
+ box-sizing: border-box;
+ background: #F2F2F2;
+ border-radius: 8px;
+ font-size: 26px;
+ font-weight: 400;
+ color: #333333;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-right: 22px;
+ margin-bottom: 22px;
+ &:nth-child(4n) {
+ margin-right: 0;
+ }
+ }
+ }
+ span {
+ font-size: 26px;
+ font-weight: 400;
+ color: #333333;
+ }
+ .Search_item_content_a {
+ width: 308px;
+ height: 70px;
+ background: #F7F7F7;
+ border-radius: 8px;
+ border: 1px solid #EEEEEE;
+ font-size: 26px;
+ font-weight: 400;
+ color: #B2B2B2;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ }
+ }
+ .content_search_x {
+ height: 24px;
+ }
+ }
.content_list {
width: 100%;
height: 100%;
diff --git a/h5_standard/src/views/workOrder/reportingForWork.vue b/h5_standard/src/views/workOrder/reportingForWork.vue
index f6d30eb..5fa1d2e 100644
--- a/h5_standard/src/views/workOrder/reportingForWork.vue
+++ b/h5_standard/src/views/workOrder/reportingForWork.vue
@@ -55,7 +55,7 @@
<span>鏂板鎶曟枡</span>
</div>
</div>
- <template v-if="wuList.length > 0">
+ <template v-if="wuList.length > 0 && !(hasBom == 1 && bomType == 1)">
<van-swipe-cell v-for="(item, index) in wuList" :key="index">
<div class="bg_list_item_h">
<div class="bg_list_item_num">
@@ -82,7 +82,7 @@
</template>
</van-swipe-cell>
</template>
- <template v-else>
+ <template v-else-if="wuList.length == 0 && !(hasBom == 1 && bomType == 1)">
<div class="kong">
<span>鏆傛棤鏁版嵁</span>
</div>
@@ -104,7 +104,7 @@
<span><b>*</b>鑹搧鏁�</span>
<div class="bg_list_item_num_item_sr">
<input type="number" v-model="from.qualified" @input="changeNum(1)" placeholder="璇疯緭鍏�" />
- <span>鍧�</span>
+ <span v-if="from.processPlan">{{from.processPlan.unitName}}</span>
</div>
</div>
</div>
@@ -113,7 +113,7 @@
<span>涓嶈壇鏁�</span>
<div class="bg_list_item_num_item_sr">
<input type="number" v-model="from.undesirable" @input="changeNum(2)" placeholder="璇疯緭鍏�" />
- <span>鍧�</span>
+ <span v-if="from.processPlan">{{from.processPlan.unitName}}</span>
</div>
</div>
</div>
@@ -158,7 +158,7 @@
<div class="bg_list_item_num_item">
<span>宸ヨ祫鍗曚环</span>
<div class="bg_list_item_num_item_sr">
- <span class="color1">{{infoBox.salary}}鍏�/{{infoBox.type == 0 ? '浠�' : '鏃�'}}</span>
+ <span class="color1">{{(infoBox.salary / 10 / 10).toFixed(2)}}鍏�/{{infoBox.type == 0 ? '浠�' : '鏃�'}}</span>
</div>
</div>
</div>
@@ -188,7 +188,7 @@
<div class="bg_footer_submit" @click="submit">鎻愪氦</div>
</div>
<!-- 閫夋嫨涓嶈壇椤� -->
- <van-popup v-model:show="show" round position="bottom" :style="{ height: '53%' }">
+ <van-popup v-model:show="show" round position="bottom">
<div class="bl">
<div class="bl_head">
<img src="@/assets/icon/ic_close@2x.png" style="opacity: 0;" alt="" />
@@ -280,8 +280,7 @@
text: 'name'
};
let userShow = ref(false)
- let userList = ref([])
- let wuList: any = ref([])
+ let wuList = ref<Array<any>>([])
// 浜у嚭鏁伴噺楠岃瘉
const changeNum = (type: number) => {
@@ -348,7 +347,10 @@
} else {
if (!wuList.value.length === 0) return Toast('鎶曟枡涓嶈兘涓虹┖')
}
- if (!from.qualified) return Toast('鑹搧鏁颁笉鑳戒负绌�')
+ if (!from.qualified && !from.undesirable) {
+ return Toast('鑹搧鏁颁笌涓嶈壇鏁颁笉鑳藉悓鏃朵负绌�')
+ }
+ // if (!from.qualified) return Toast('鑹搧鏁颁笉鑳戒负绌�')
// 鏈変笉鑹暟
if (from.undesirable > 0) {
if (from.defective.length === 0) return Toast('涓嶈壇椤逛笉鑳戒负绌�')
@@ -357,8 +359,8 @@
autoWorkReport({
createWorkorderRecordDTO: {
duration: from.duration,
- qualifiedNum: from.qualified,
- unQualifiedNum: from.undesirable
+ qualifiedNum: from.qualified ? from.qualified : 0,
+ unQualifiedNum: from.undesirable ? from.undesirable : 0
},
plansId: from.processPlan.id,
proGroupId: deviceId.value,
@@ -387,43 +389,46 @@
// 棰勮宸ヨ祫
const expectedSalary = computed(() => {
- if (!infoBox.value) return 0
+ if (!infoBox.value) return 0;
// 鎸変欢璁$畻
if (infoBox.value.type == 0) {
- console.log('璁′欢')
if (!from.qualified) return 0
if (infoBox.value.unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
let total = Number(from.qualified) + Number(from.undesirable)
- return total * infoBox.value.salary
+ return (total * (infoBox.value.salary / 10 / 10)).toFixed(2) || 0
} else {
- return Number(from.qualified) * infoBox.value.salary
+ return (Number(from.qualified) * (infoBox.value.salary / 10 / 10)).toFixed(2) || 0
}
} else {
- console.log('璁℃椂')
if (!from.duration) return 0;
let h = (from.duration / 60 / 60).toFixed(2)
- return Number(h) * infoBox.value.salary
+ return (Number(h) * (infoBox.value.salary / 10 / 10)).toFixed(2) || 0
}
})
// 杈炬爣鐜�
const complianceRate = computed(() => {
if (!infoBox.value) return 0;
- if (!from.qualified) return 0;
+ if (!from.qualified && !from.undesirable) return 0;
if (!from.duration) return 0;
// 鎸変欢璁$畻
// if (infoBox.value.type == 0) {
- // if (infoBox.value.unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
+ if (infoBox.value.unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
let a = ((Number(from.qualified) + Number(from.undesirable)) / (from.duration / 60 / 60)).toFixed(2)
let b = (infoBox.value.num / (infoBox.value.times / 60 / 60)).toFixed(2)
console.log(a)
console.log(b)
- return (Number(a) / Number(b)).toFixed(2)
+ return ((Number(a) / Number(b)) * 100).toFixed(2) || 0
// let total = (Number(from.qualified) + Number(from.undesirable)) / ((from.duration * 60 * 60) * infoBox.value.num / )
// return total * infoBox.value.salary;
- // } else {
- // return Number(from.qualified) * infoBox.value.salary;
- // }
+ } else {
+ let a = (from.qualified / (from.duration / 60 / 60)).toFixed(2)
+ let b = (infoBox.value.num / (infoBox.value.times / 60 / 60)).toFixed(2)
+ console.log(a)
+ console.log(b)
+ return ((Number(a) / Number(b)) * 100).toFixed(2) || 0
+ // return Number(from.qualified) * infoBox.value.salary;
+ }
// } else {
// console.log('鎸夋椂闀�')
// }
@@ -544,7 +549,7 @@
// 鑾峰彇绫诲瀷
getIdPlansExt(res.id)
.then(res2 => {
- if (res.code === 200) {
+ if (res2.code === 200) {
bomType.value = res2.data.bomType
hasBom.value = res2.data.hasBom
}
@@ -843,7 +848,7 @@
font-size: 28px;
font-weight: 400;
color: #333333;
- padding: 0 30px
+ padding: 0 30px;
}
.wulll {
width: 400px;
@@ -906,12 +911,15 @@
}
}
.bl {
+ width: 100%;
+ height: 800px;
padding: 30px;
box-sizing: border-box;
display: flex;
flex-direction: column;
.bl_head {
width: 100%;
+ height: 50px;
display: flex;
align-items: center;
justify-content: space-between;
@@ -942,7 +950,7 @@
}
.bl_list {
width: 100%;
- height: 550px;
+ height: calc(100% - 168px);
overflow-y: scroll;
margin-top: 30px;
.bl_list_item {
diff --git a/h5_standard/src/views/workOrder/workOrderReporting.vue b/h5_standard/src/views/workOrder/workOrderReporting.vue
index 6dee09f..55a1d2f 100644
--- a/h5_standard/src/views/workOrder/workOrderReporting.vue
+++ b/h5_standard/src/views/workOrder/workOrderReporting.vue
@@ -30,25 +30,28 @@
</div>
<template v-if="feedingData && feedingData.length > 0">
<van-swipe-cell v-for="(item, index) in feedingData" :key="index">
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item">
- <!-- <span>{{item.code}}</span> -->
- <div class="bg_list_item_num_item_wl">
- <span> {{ item.materialName }}{{ item.procedureName ? ` | ${item.procedureName}` : '' }}</span>
- <div class="bg_list_item_num_item_wl_lx">
- <span class="green" v-if="item.qualityType == 0">鍚堟牸 / </span>
- <span class="yellow" v-if="item.qualityType == 1">涓嶈壇 / </span>
- <span class="red" v-if="item.qualityType == 2">鎶ュ簾 / </span>
- <span>{{ item.locationName }}</span>
- <span>{{ item.batch ? ` / ${item.batch}` : '' }}</span>
+ <div class="bg_list_item_h">
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <!-- <span>{{item.code}}</span> -->
+ <div class="bg_list_item_num_item_wl">
+ <span> {{ item.materialName }}{{ item.procedureName ? ` | ${item.procedureName}` : '' }}</span>
+ <div class="bg_list_item_num_item_wl_lx">
+ <span class="green" v-if="item.qualityType == 0">鍚堟牸 / </span>
+ <span class="yellow" v-if="item.qualityType == 1">涓嶈壇 / </span>
+ <span class="red" v-if="item.qualityType == 2">鎶ュ簾 / </span>
+ <span>{{ item.locationName }}</span>
+ <span>{{ item.batch ? ` / ${item.batch}` : '' }}</span>
+ </div>
</div>
- </div>
- <div class="bg_list_item_num_item_sr">
- <input v-model="item.num" :disabled="!proxy.$auth('h5:workorderinput:update')" @blur="change(item.id, item.num, 'T', item.maxNum, item, item.unitAttribute)" type="number" />
- <span>{{item.unitName}}</span>
+ <div class="bg_list_item_num_item_sr">
+ <input v-model="item.num" :disabled="!proxy.$auth('h5:workorderinput:update')" @blur="change(item.id, item.num, 'T', item.maxNum, item, item.unitAttribute)" type="number" />
+ <span>{{item.unitName}}</span>
+ </div>
</div>
</div>
</div>
+
<template #right v-if="proxy.$auth('h5:workorderinput:delete')">
<van-button style="height: 100%;" square text="鍒犻櫎" @click="deleItem(item.id, 'T')" type="danger" />
</template>
@@ -70,48 +73,107 @@
<!-- <template v-if="produceData && produceData.length > 0"> -->
<!-- v-for="(item, index) in produceData" :key="index" -->
<van-swipe-cell>
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item">
- <span>鑹搧鏁�</span>
- <div class="bg_list_item_num_item_sr">
- <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
- <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
- <input type="number" v-model="produceFrom.qualified" @blur="changeCC('0', produceFrom.qualified, produceFrom.qualifiedId)" placeholder="璇疯緭鍏�" />
- <span v-if="info.umodel">{{info.umodel.name}}</span>
+ <div class="bg_list_item_h">
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>鑹搧鏁�({{ info.umodel ? info.umodel.name : '' }})</span>
+ <div class="bg_list_item_num_item_sr">
+ <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
+ <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
+ <input type="number" v-model="produceFrom.qualified" @blur="changeCC('0', produceFrom.qualified, produceFrom.qualifiedId)" placeholder="璇疯緭鍏�" />
+ <span v-if="info.umodel">{{info.umodel.name}}</span>
+ </div>
</div>
</div>
</div>
</van-swipe-cell>
<van-swipe-cell>
- <div class="bg_list_item_num">
- <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
- <div class="bg_list_item_num_item">
- <span>涓嶈壇鏁�</span>
- <div class="bg_list_item_num_item_sr">
- <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
- <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
- <input type="number" v-model="produceFrom.undesirable" @blur="changeCC('1', produceFrom.undesirable, produceFrom.undesirableId)" placeholder="璇疯緭鍏�" />
- <span v-if="info.umodel">{{info.umodel.name}}</span>
+ <div class="bg_list_item_h">
+ <div class="bg_list_item_num">
+ <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
+ <div class="bg_list_item_num_item">
+ <span>涓嶈壇鏁�({{ info.umodel ? info.umodel.name : '' }})</span>
+ <div class="bg_list_item_num_item_sr">
+ <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
+ <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
+ <input type="number" v-model="produceFrom.undesirable" @blur="changeCC('1', produceFrom.undesirable, produceFrom.undesirableId)" placeholder="璇疯緭鍏�" />
+ <span v-if="info.umodel">{{info.umodel.name}}</span>
+ </div>
</div>
</div>
</div>
</van-swipe-cell>
- <!-- <van-swipe-cell>
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item" @click="show = true">
- <span>涓嶈壇椤�</span>
- <div class="bg_list_item_num_item_sr">
- <span>璁剧疆 ></span>
+ <van-swipe-cell v-if="produceFrom.undesirable > 0">
+ <div class="bg_list_item_h">
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item" @click="show = true">
+ <span>涓嶈壇椤�</span>
+ <div class="bg_list_item_num_item_sr">
+ <span class="wulll" :style="{color: from.defectiveName ? '#305ED5' : ''}">{{from.defectiveName ? from.defectiveName : '璁剧疆'}}</span>
+ <img src="@/assets/icon/ic_ar@2x.png" alt="" />
+ </div>
</div>
</div>
</div>
- </van-swipe-cell> -->
+ </van-swipe-cell>
<!-- </template>
<template v-else>
<div class="kong">
<span>鏆傛棤鏁版嵁</span>
</div>
</template> -->
+ </div>
+ <div class="bg_plan" @click="TimeShow = true">
+ <div class="bg_plan_label">
+ <span><b>*</b>鎶ュ伐鏃堕暱</span>
+ </div>
+ <div class="bg_plan_label_val">
+ <span :style="{color: from.durationName ? '#333' : ''}">{{from.durationName ? from.durationName : '璇烽�夋嫨'}}</span>
+ <img src="@/assets/icon/ic_ar@2x.png" alt="" />
+ </div>
+ </div>
+ <div class="bg_list_item" v-if="infoBox">
+ <div class="bg_list_item_top">
+ <div class="bg_list_item_top_left">
+ <div class="bg_list_item_top_left_x"></div>
+ <span>宸ヨ祫缁╂晥</span>
+ </div>
+ </div>
+ <div class="bg_list_item_h">
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>璁′欢鏂瑰紡</span>
+ <div class="bg_list_item_num_item_list">
+ <div class="bg_list_item_num_item_list_item active" v-if="infoBox.type == 0">璁′欢</div>
+ <div class="bg_list_item_num_item_list_item active" v-if="infoBox.type == 1">璁℃椂</div>
+ </div>
+ </div>
+ </div>
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>宸ヨ祫鍗曚环</span>
+ <div class="bg_list_item_num_item_sr">
+ <span class="color1">{{infoBox.salary / 100}}鍏�/{{infoBox.type == 0 ? '浠�' : '鏃�'}}</span>
+ </div>
+ </div>
+ </div>
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>棰勮宸ヨ祫</span>
+ <div class="bg_list_item_num_item_sr">
+ <span class="color1">{{expectedSalary}}鍏�</span>
+ </div>
+ </div>
+ </div>
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>杈炬爣鐜�</span>
+ <div class="bg_list_item_num_item_sr">
+ <span class="color1">{{complianceRate}}%</span>
+ </div>
+ </div>
+ </div>
+ </div>
</div>
<!-- <div class="bg_list_item">
<div class="bg_list_item_top">
@@ -283,35 +345,48 @@
</div>
</div>
</van-popup>
+ <!-- 鏃堕棿 -->
+ <van-popup v-model:show="TimeShow" round position="bottom" :style="{ height: '50%' }">
+ <van-datetime-picker
+ v-model="from.time"
+ type="time"
+ title="閫夋嫨鏃堕棿"
+ @confirm="onConfirm2"
+ @cancel="onCancel2"
+ />
+ </van-popup>
<!-- 閫夋嫨涓嶈壇椤� -->
- <van-popup v-model:show="show" round position="bottom" :style="{ height: '53%' }">
+ <van-popup v-model:show="show" round position="bottom">
<div class="bl">
<div class="bl_head">
- <span @click="show = false">鍙栨秷</span>
+ <img src="@/assets/icon/ic_close@2x.png" style="opacity: 0;" alt="" />
<span>涓嶈壇椤�</span>
- <span>纭</span>
+ <!-- <span>纭</span> -->
+ <img src="@/assets/icon/ic_close@2x.png" @click="show = false" alt="" />
</div>
<div class="bl_list">
- <div class="bl_list_item" v-for="(item, i) in 12" :key="i">
+ <div class="bl_list_item" v-for="(item, i) in cateList" :key="i" @click="changeChecked(i)">
<div class="bl_list_item_left">
- <input type="checkbox" :checked="true" name="" id="" />
- <span>鏈夊垝鐥�</span>
+ <input type="checkbox" :checked="item.active" />
+ <span>{{ item.name }}</span>
</div>
<div class="bl_list_item_right">
- <input type="number" placeholder="璇疯緭鍏�" />
+ <input type="number" @click.stop v-model="item.num" placeholder="0" />
</div>
</div>
</div>
+ <div class="bl_footer" @click="onConfirm3">纭</div>
</div>
</van-popup>
</div>
</template>
<script setup lang="ts">
- import { getCurrentInstance, nextTick, onMounted, ref, reactive } from 'vue'
+ import { getCurrentInstance, nextTick, onMounted, ref, reactive, computed } from 'vue'
import { useRouter, useRoute } from "vue-router"
import { Dialog, Toast } from 'vant'
import { REGULAR } from '@/utils/utils'
+ import { categoryExtList, queryOne } from '@/apis/PlanningAPI'
import {
getBarcodeContent,
queryById,
@@ -334,6 +409,61 @@
const router = useRouter()
const route = useRoute()
+ let TimeShow = ref(false)
+
+ let from: any = reactive({
+ time: '',
+ defective: [],
+ defectiveName: ''
+ })
+
+ // 棰勮宸ヨ祫
+ const expectedSalary = computed(() => {
+ if (!infoBox.value) return 0;
+ // 鎸変欢璁$畻
+ if (infoBox.value.type == 0) {
+ if (!produceFrom.qualified) return 0
+ if (infoBox.value.unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
+ let total = Number(produceFrom.qualified) + Number(produceFrom.undesirable)
+ return (total * (infoBox.value.salary / 100)).toFixed(2) || 0
+ } else {
+ return (Number(produceFrom.qualified) * (infoBox.value.salary / 100)).toFixed(2) || 0
+ }
+ } else {
+ if (!from.duration) return 0;
+ let h = (from.duration / 60 / 60).toFixed(2)
+ return (Number(h) * (infoBox.value.salary / 10 / 10)).toFixed(2) || 0
+ }
+ })
+
+ // 杈炬爣鐜�
+ const complianceRate = computed(() => {
+ if (!infoBox.value) return 0;
+ if (!produceFrom.qualified && !produceFrom.undesirable) return 0;
+ if (!from.duration) return 0;
+ // 鎸変欢璁$畻
+ // if (infoBox.value.type == 0) {
+ if (infoBox.value.unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
+ let a = ((Number(from.qualified) + Number(from.undesirable)) / (from.duration / 60 / 60)).toFixed(2)
+ let b = (infoBox.value.num / (infoBox.value.times / 60 / 60)).toFixed(2)
+ console.log(a)
+ console.log(b)
+ return (Number(a) / Number(b)).toFixed(2) || 0
+ // let total = (Number(from.qualified) + Number(from.undesirable)) / ((from.duration * 60 * 60) * infoBox.value.num / )
+ // return total * infoBox.value.salary;
+ } else {
+ let a = (produceFrom.qualified / (from.duration / 60 / 60)).toFixed(2)
+ let b = (infoBox.value.num / (infoBox.value.times / 60 / 60)).toFixed(2)
+ console.log(a)
+ console.log(b)
+ return (Number(a) / Number(b)).toFixed(2) || 0
+ // return Number(from.qualified) * infoBox.value.salary;
+ }
+ // } else {
+ // console.log('鎸夋椂闀�')
+ // }
+ })
+
const loading = ref(false);
const finished = ref(false);
let show = ref(false)
@@ -345,13 +475,17 @@
page: 0
})
+ let infoBox: any = ref(null) // 宸ヨ祫缁╂晥
+
// 浜у嚭鍚堟牸/涓嶈壇
- let produceFrom = reactive({
+ let produceFrom: any = reactive({
qualifiedId: '',
qualified: '', // 鍚堟牸
undesirableId: '',
undesirable: '' // 涓嶈壇
})
+
+ let cateList:any = ref([]) // 涓嶈壇椤�
// 璇︽儏鏁版嵁
const info: any = ref({})
@@ -404,6 +538,70 @@
// 鎺у埗鎶ュ伐缁熻
const statistics = ref<boolean>(false)
+ const changeChecked = (i: number) => {
+ cateList.value[i].active = !cateList.value[i].active
+ }
+
+ const getData = () => {
+ categoryExtList({
+ cateType: "3"
+ }).then(res => {
+ if (res.code === 200) {
+ res.data.forEach((item: any) => {
+ item.active = false
+ item.num = ''
+ })
+ cateList.value = res.data
+ }
+ })
+ }
+
+ const onConfirm2 = (e: string) => {
+ let h = Number(e.substring(0, 2))
+ let m = Number(e.substring(3, 5))
+ let s = 0
+ if (h > 0) {
+ s += h * 60 * 60
+ }
+ if (m > 0) {
+ s += m * 60
+ }
+ from.duration = s
+ from.durationName = `${h}灏忔椂${m}鍒嗛挓`
+ TimeShow.value = false
+ }
+
+ const onCancel2 = () => {
+ TimeShow.value = false
+ }
+
+ const onConfirm3 = () => {
+ let isOpen = false
+ cateList.value.forEach((item: any, index: number) => {
+ if (item.active) {
+ isOpen = true
+ }
+ })
+ if (!isOpen) return Toast('璇烽�夋嫨涓嶈壇椤�')
+ let arr: any = []
+ let total: any = 0
+ let name: any = ''
+ cateList.value.forEach((item: any, index: number) => {
+ if (item.active) {
+ if (item.num <= 0) {
+ return Toast('涓嶈壇鏁伴噺蹇呴』澶т簬0')
+ }
+ total = total += item.num
+ arr.push(item)
+ name += item.name + item.num + '锛�'
+ }
+ })
+ if (total !== produceFrom.undesirable) return Toast('涓嶈壇鏁板繀椤荤瓑浜庝骇鍑轰笉鑹暟')
+ from.defective = arr
+ from.defectiveName = name
+ show.value = false
+ }
+
// 鎶曟枡缁熻
const tlTotal = (): string => {
if (feedingData.value.length > 0) {
@@ -419,18 +617,19 @@
// 淇敼浜у嚭
const changeCC = (downType: string, num: number, recordId: string) => {
if (!num) return
- console.log(produceFrom.qualified + produceFrom.undesirable)
if ((produceFrom.qualified + produceFrom.undesirable) > info.value.planNum) {
return Toast.fail({ message: '浜у嚭鏁伴噺涓嶈兘澶т簬璁″垝鏁伴噺', duration: 2000 })
}
if (num >= 0) {
- dealWorkorderRecordStandard({
- downType, num, recordId, workorderId: route.query.id
- }).then(res => {
- if (res.code === 200) {
- getOrocessRecordCC()
- }
- })
+ from.defective = []
+ from.defectiveName = ''
+ // dealWorkorderRecordStandard({
+ // downType, num, recordId, workorderId: route.query.id
+ // }).then(res => {
+ // if (res.code === 200) {
+ // getOrocessRecordCC()
+ // }
+ // })
} else {
if (downType == 0) {
produceFrom.qualified = 0
@@ -602,6 +801,17 @@
queryById(route.query.id).then(res => {
if (res.code === 200) {
info.value = res.data
+ // 鑾峰彇宸ヨ祫缁╂晥鏁版嵁
+ queryOne({
+ deleted: 0,
+ departId: res.data.factoryId,
+ materialId: res.data.materialId,
+ procedureId: res.data.procedureId
+ }).then((result: any) => {
+ if (result.code === 200) {
+ infoBox.value = result.data
+ }
+ })
}
})
}
@@ -688,7 +898,7 @@
if (res.code === 200 && type === 'T') {
getOrocessRecords()
} else if (res.code === 200 && type === 'C') {
- getOrocessRecordCC()
+ // getOrocessRecordCC()
}
})
}
@@ -698,6 +908,10 @@
if (info.value.bomType === 1) { // 鎷夊紡
console.log('鎷夊紡')
statisticsData.value = []
+ if (produceFrom.qualified <= 0) {
+ Toast.fail({ message: '浜у嚭鏄庣粏涓嶈兘涓虹┖' })
+ return
+ }
if (info.value.hasBom === 0) {
console.log('鏃燽om')
// let data: any = [
@@ -853,6 +1067,10 @@
Toast.fail({ message: '鎶曟枡鏄庣粏涓嶈兘涓虹┖' })
return
}
+ if (produceFrom.qualified <= 0) {
+ Toast.fail({ message: '浜у嚭鏄庣粏涓嶈兘涓虹┖' })
+ return
+ }
statisticsData.value = []
if (info.value.hasBom === 0) {
console.log('鏃燽om')
@@ -976,8 +1194,25 @@
// 纭鎶ュ伐
const submitBG = () => {
+ if (!from.duration || from.duration <= 0) {
+ return Toast('鎶ュ伐鏃堕暱涓嶈兘涓虹┖')
+ }
+ let createUnqualifiedDTOList = from.defective.map((item: any) => {
+ return {
+ categoryId: item.id,
+ unQualifiedNum: item.num
+ }
+ })
+ let createWorkorderRecordDTO = {
+ workorderId: route.query.id,
+ duration: from.duration,
+ qualifiedNum: produceFrom.qualified ? produceFrom.qualified : 0,
+ unQualifiedNum: produceFrom.undesirable ? produceFrom.undesirable : 0
+ }
+ // id: route.query.id
comfirmDoneStandard({
- id: route.query.id
+ createUnqualifiedDTOList,
+ createWorkorderRecordDTO
}).then(res => {
if (res.code === 200) {
Toast.success({ message: '鎶ュ伐鎴愬姛', forbidClick: true, duration: 2000 })
@@ -992,7 +1227,8 @@
pageDJs()
queryByIds()
getOrocessRecords()
- getOrocessRecordCC()
+ getData()
+ // getOrocessRecordCC()
})
</script>
@@ -1002,6 +1238,59 @@
/*height: 100%;*/
position: absolute;
background: #F7F7F7;
+ .bg_plan {
+ width: 100%;
+ // height: 98px;
+ padding: 30px;
+ box-sizing: border-box;
+ background: #FFFFFF;
+ margin-bottom: 40px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ span {
+ font-size: 30px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #222222;
+ b {
+ color: red;
+ }
+ }
+ .bg_plan_nr {
+ display: flex;
+ flex-direction: column;
+ span {
+ font-size: 24px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #666666;
+ margin-top: 20px;
+ &:first-child {
+ font-size: 32px;
+ font-family: PingFangSC-Medium, PingFang SC;
+ font-weight: 500;
+ color: #333333;
+ margin-top: 0 !important;
+ }
+ }
+ }
+ .bg_plan_label_val {
+ display: flex;
+ align-items: center;
+ span {
+ font-size: 28px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #999999;
+ }
+ img {
+ width: 12px;
+ height: 24px;
+ margin-left: 20px;
+ }
+ }
+ }
.details_cz {
width: 100%;
padding: 30px;
@@ -1125,99 +1414,161 @@
}
}
}
- .bg_list_item_num {
+ .bg_list_item_h {
width: 100%;
- background: white;
padding: 0 30px;
box-sizing: border-box;
- .kong {
- text-align: center;
- font-size: 25px;
- padding: 30px 0;
- background: #ffffff;
- }
- .bg_list_item_num_item {
+ background: white;
+ .bg_list_item_num {
+ width: 100%;
+ min-height: 98px;
+ background: white;
display: flex;
+ justify-content: center;
align-items: center;
- // height: 118px;
- padding: 15px 0;
- box-sizing: border-box;
- justify-content: space-between;
- border-bottom: 1px solid #E5E5E5;
+ border-bottom: 1PX solid #E5E5E5;
&:last-child {
- border: none;
+ border: none !important;
}
- .bg_list_item_num_item_wl {
- flex-shrink: 0;
+ .kong {
+ text-align: center;
+ font-size: 25px;
+ padding: 30px 0;
+ background: #ffffff;
+ }
+ .bg_list_item_num_item {
+ width: 100%;
+ height: 100%;
display: flex;
- flex-direction: column;
- span {
- font-size: 34px;
- color: #222222;
+ align-items: center;
+ // height: 118px;
+ padding: 15px 0;
+ box-sizing: border-box;
+ justify-content: space-between;
+ border-bottom: 1px solid #E5E5E5;
+ &:last-child {
+ border: none;
}
- .bg_list_item_num_item_wl_lx {
- margin-top: 10px;
- span {
- color: #222222;
- font-size: 28px;
+ .bg_list_item_num_item_list {
+ display: flex;
+ align-items: center;
+ .active {
+ background: #305ED5 !important;
+ color: #FFFFFF !important;
+ }
+ .bg_list_item_num_item_list_item {
+ width: 116px;
+ height: 62px;
+ line-height: 62px;
+ text-align: center;
+ background: #F2F2F2;
+ border-radius: 8px;
+ font-size: 26px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #333333;
+ margin-right: 20px;
+ &:last-child {
+ margin: 0 !important;
+ }
}
}
- }
- .warning {
- color: $nav-stateColor5 !important;
- }
- .err {
- color: $nav-stateColor4 !important;
- }
- span {
- flex-shrink: 0;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
+ .bg_list_item_num_item_wl {
+ flex-shrink: 0;
+ display: flex;
+ flex-direction: column;
+ span {
+ font-size: 34px;
+ color: #222222;
+ }
+ .bg_list_item_num_item_wl_lx {
+ margin-top: 10px;
+ span {
+ color: #222222;
+ font-size: 28px;
+ }
+ }
+ }
.warning {
color: $nav-stateColor5 !important;
- margin-right: 5px;
}
.err {
color: $nav-stateColor4 !important;
- margin-right: 5px;
}
- &:nth-child(1) {
- font-size: 30px;
- font-weight: 400;
- color: #222222;
- }
- &:nth-child(2) {
- font-size: 28px;
- font-weight: 400;
- color: #333333;
- flex-shrink: 0;
- }
- }
- .bg_list_item_num_item_sr {
- flex: 1;
- display: flex;
- align-items: center;
- justify-content: flex-end;
- input::-webkit-input-placeholder {
- font-size: 28px;
- }
- input {
- text-align: right;
- width: 180px;
- height: 60px;
- border-radius: 8px;
- border: 1PX solid #E5E5E5;
- margin-right: 20px;
- font-size: 28px;
- font-weight: 400;
- color: #333333;
- padding: 0 30px
+ img {
+ width: 12px;
+ height: 24px;
+ margin-left: 20px;
}
span {
- font-size: 28px;
- font-weight: 400;
- color: #666666;
+ flex-shrink: 0;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ b {
+ font-size: 30px;
+ color: red;
+ margin-right: 5px;
+ }
+ .warning {
+ color: $nav-stateColor5 !important;
+ margin-right: 5px;
+ }
+ .err {
+ color: $nav-stateColor4 !important;
+ margin-right: 5px;
+ }
+ &:nth-child(1) {
+ font-size: 30px;
+ font-weight: 400;
+ color: #222222;
+ }
+ &:nth-child(2) {
+ font-size: 28px;
+ font-weight: 400;
+ color: #333333;
+ flex-shrink: 0;
+ }
+ }
+ .bg_list_item_num_item_sr {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ .color1 {
+ font-size: 28px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #333333;
+ }
+ input::-webkit-input-placeholder {
+ font-size: 28px;
+ }
+ input {
+ text-align: right;
+ width: 180px;
+ height: 60px;
+ border-radius: 8px;
+ border: 1PX solid #E5E5E5;
+ margin-right: 20px;
+ font-size: 28px;
+ font-weight: 400;
+ color: #333333;
+ padding: 0 30px
+ }
+ .wulll {
+ width: 400px;
+ text-align: right;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+ span {
+ font-size: 28px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #999999;
+ }
}
}
}
@@ -1423,12 +1774,15 @@
}
}
.bl {
+ width: 100%;
+ height: 800px;
padding: 30px;
box-sizing: border-box;
display: flex;
flex-direction: column;
.bl_head {
width: 100%;
+ height: 50px;
display: flex;
align-items: center;
justify-content: space-between;
@@ -1439,21 +1793,38 @@
font-size: 32px !important;
}
}
+ img {
+ width: 28px;
+ height: 28px;
+ }
+ }
+ .bl_footer {
+ width: 100%;
+ height: 88px;
+ line-height: 88px;
+ text-align: center;
+ background: #305ED5;
+ border-radius: 8px;
+ font-size: 32px;
+ font-family: PingFangSC-Medium, PingFang SC;
+ font-weight: 500;
+ color: #FFFFFF;
+ margin-top: 30px;
}
.bl_list {
width: 100%;
- height: 580px;
+ height: calc(100% - 168px);
overflow-y: scroll;
margin-top: 30px;
.bl_list_item {
width: 100%;
- height: 60px;
+ height: 96px;
display: flex;
align-items: center;
justify-content: space-between;
- margin-bottom: 20px;
+ border-bottom: 1PX solid #E5E5E5;
&:last-child {
- margin-bottom: 0 !important;
+ border: none !important;
}
.bl_list_item_left {
flex: 1;
@@ -1462,6 +1833,7 @@
input {
width: 30px;
height: 30px;
+ border: 1PX solid #CCCCCC;
margin: 0 !important;
}
span {
@@ -1478,9 +1850,19 @@
padding-left: 5px;
width: 160px;
height: 100%;
+ padding: 0 30px;
+ box-sizing: border-box;
+ text-align: right;
font-size: 28px;
+ color: #333333;
border-radius: 10px;
- border: 2px solid #999999
+ border: 1PX solid #CCCCCC;
+ &::-webkit-input-placeholder {
+ font-size: 28px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #999999;
+ }
}
}
}
diff --git a/h5_standard/src/views/wxLogin.vue b/h5_standard/src/views/wxLogin.vue
index 6ef2cc8..3d56b83 100644
--- a/h5_standard/src/views/wxLogin.vue
+++ b/h5_standard/src/views/wxLogin.vue
@@ -157,6 +157,7 @@
input {
flex: 1;
height: 100%;
+ padding: 0 !important;
font-size: 30px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
diff --git a/minipro_standard/App.vue b/minipro_standard/App.vue
index e99ca77..000f628 100644
--- a/minipro_standard/App.vue
+++ b/minipro_standard/App.vue
@@ -1,6 +1,9 @@
-<script>
+<script>
+ console.log('app------');
+ // import { pageCount } from '@/util/api/index.js'
export default {
- onLaunch: function() {
+ onLaunch: function() {
+ // pageCount({})
},
onShow: function() {
},
diff --git a/minipro_standard/common/config.js b/minipro_standard/common/config.js
index 447a203..15d4a4d 100644
--- a/minipro_standard/common/config.js
+++ b/minipro_standard/common/config.js
@@ -1,5 +1,5 @@
module.exports = {
// baseUrl: 'http://106.14.20.42/test_hfznzz/',
- baseUrl: 'https://hefei.dtkey.cn/test_hfznzz/',
- // baseUrl: 'http://192.168.0.35:10011/',
+ // baseUrl: 'https://hefei.dtkey.cn/test_hfznzz/',
+ baseUrl: 'https://dmtest.ahapp.net/doumeeplant_api/'
}
diff --git a/minipro_standard/components/myTabber.vue b/minipro_standard/components/myTabber.vue
new file mode 100644
index 0000000..bee9097
--- /dev/null
+++ b/minipro_standard/components/myTabber.vue
@@ -0,0 +1,101 @@
+<template>
+ <view>
+ <u-tabbar
+ :value="index"
+ @change="change"
+ fixed
+ activeColor="#222"
+ inactiveColor="#666"
+ >
+ <u-tabbar-item text="寰呭姙">
+ <view class="" slot="active-icon">
+ <image src="@/static/nav_daiban_sel@2x.png" class="icon-style" mode=""></image>
+ </view>
+ <view class="" slot="inactive-icon">
+ <image src="@/static/nav_daiban@2x.png" class="icon-style" mode=""></image>
+ </view>
+ </u-tabbar-item>
+ <u-tabbar-item text="宸ヤ綔鍙�">
+ <view class="" slot="active-icon">
+ <image src="@/static/nav_gongzuotai_sel@2x.png" class="icon-style" mode=""></image>
+ </view>
+ <view class="" slot="inactive-icon">
+ <image src="@/static/nav_gongzuotai@2x.png" class="icon-style" mode=""></image>
+ </view>
+ </u-tabbar-item>
+ <u-tabbar-item text="鎴戠殑">
+ <view class="" slot="active-icon">
+ <image src="@/static/nav_wode_sel@2x.png" class="icon-style" mode=""></image>
+ </view>
+ <view class="" slot="inactive-icon">
+ <image src="@/static/nav_wode@2x.png" class="icon-style" mode=""></image>
+ </view>
+ </u-tabbar-item>
+ </u-tabbar>
+ </view>
+</template>
+
+<script>
+ export default {
+ name:"myTabbar",
+ props: {
+ index: 0
+ },
+ data() {
+ return {
+ value: 0
+ };
+ },
+ methods: {
+ click(index) {
+ // console.log('click', index);
+ // this.$nextTick(() => {
+ // this.value = index
+ // if (index==0) {
+ // uni.switchTab({
+ // url: '/pages/index/index'
+ // });
+ // } else if (index== 1) {
+ // uni.switchTab({
+ // url: '/pages/service/service'
+ // });
+ // }else {
+ // uni.switchTab({
+ // url: '/pages/mine/mine'
+ // });
+ // }
+ // })
+ },
+ change(index) {
+ this.$nextTick(() => {
+ this.value = index
+ })
+
+ console.log(this.value);
+ if (index==0) {
+ // console.log('index');
+ uni.switchTab({
+ url: '/pages/index/index'
+ });
+ } else if (index== 1) {
+ // console.log('workbench');
+ uni.switchTab({
+ url: '/pages/workbench/workbench'
+ });
+ }else {
+ // console.log('mine');
+ uni.switchTab({
+ url: '/pages/mine/mine'
+ });
+ }
+ }
+ },
+ }
+</script>
+
+<style lang="scss" scope>
+.icon-style {
+ width: 44rpx;
+ height: 44rpx;
+}
+</style>
\ No newline at end of file
diff --git a/minipro_standard/main.js b/minipro_standard/main.js
index b601077..06bb2a0 100644
--- a/minipro_standard/main.js
+++ b/minipro_standard/main.js
@@ -1,20 +1,23 @@
import Vue from 'vue'
import App from './App'
-// vuex
-import store from './store'
+
import mixin from './common/mixin'
// 寮曞叆鍏ㄥ眬uView
import uView from '@/uni_modules/uview-ui'
+Vue.use(uView)
+// vuex
+import store from './store'
Vue.prototype.$store = store
store.dispatch('getHeight')
+
Vue.config.productionTip = false
App.mpType = 'app'
-Vue.use(uView)
+console.log(uni.$u);
// #ifdef MP
// 寮曞叆uView瀵瑰皬绋嬪簭鍒嗕韩鐨刴ixin灏佽
const mpShare = require('@/uni_modules/uview-ui/libs/mixin/mpShare.js')
@@ -22,13 +25,14 @@
// #endif
Vue.mixin(mixin)
+// 寮曞叆璇锋眰灏佽
const app = new Vue({
store,
...App
})
-
-// 寮曞叆璇锋眰灏佽
require('./util/request/index')(app)
+// 鑾峰彇寰呭姙鏁伴噺
+store.dispatch('getUpcomingNum')
app.$mount()
\ No newline at end of file
diff --git a/minipro_standard/pages.json b/minipro_standard/pages.json
index 018fa73..5641535 100644
--- a/minipro_standard/pages.json
+++ b/minipro_standard/pages.json
@@ -1,64 +1,67 @@
{
"pages": [ //pages鏁扮粍涓涓�椤硅〃绀哄簲鐢ㄥ惎鍔ㄩ〉锛屽弬鑰冿細https://uniapp.dcloud.io/collocation/pages
{
- "path": "pages/projectList/projectList",
+ "path": "pages/workbench/workbench",
"style": {
- "navigationBarTitleText": "椤圭洰鍒楄〃",
- // "enablePullDownRefresh": true,
- "navigationStyle": "custom"
+ "navigationBarTitleText": "宸ヤ綔鍙�",
+ "enablePullDownRefresh": false
}
- },{
+ },
+ {
"path": "pages/index/index",
"style": {
- "navigationBarTitleText": "uni-app",
- "navigationStyle": "custom"
+ "navigationBarTitleText": "寰呭姙"
}
- }, {
- "path": "pages/applyList/applyList",
+ }, {
+ "path": "pages/mine/mine",
"style": {
- "navigationBarTitleText": "浼佷笟鎶ュ悕鍒楄〃",
- "enablePullDownRefresh": false,
- "navigationBarBackgroundColor": "#F3F6F9"
- }
-
- }, {
- "path": "pages/comApplyList/comApplyList",
- "style": {
- "navigationBarTitleText": "浼佷笟鎶ュ悕鍒楄〃",
+ "navigationBarTitleText": "鎴戠殑",
"enablePullDownRefresh": false
}
-
- }, {
- "path": "pages/applyDetail/applyDetail",
- "style": {
- "navigationBarTitleText": "浼佷笟鎶ュ悕璇︽儏",
- "enablePullDownRefresh": false,
- "navigationStyle": "custom"
- }
-
- }, {
- "path": "pages/uploadServiceData/uploadServiceData",
- "style": {
- "navigationBarTitleText": "涓婁紶鏈嶅姟鏁版嵁",
- "enablePullDownRefresh": false
-
- }
-
- }, {
- "path": "pages/uploadCheckData/uploadCheckData",
- "style": {
- "navigationBarTitleText": "涓婁紶璇婃柇鏁版嵁",
- "enablePullDownRefresh": false
- }
-
}
- ],
+ ,{
+ "path" : "pages/login/login",
+ "style" :
+ {
+ "navigationBarTitleText": "鐧诲綍",
+ "enablePullDownRefresh": false,
+ "navigationStyle": "custom"
+ }
+
+ }
+ ],
"globalStyle": {
"navigationBarTextStyle": "black",
- "navigationBarTitleText": "uni-app",
+ "navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#F3F6F9",
"backgroundColor": "#F3F6F9"
+ },
+ "tabBar": {
+ "color": "#666666",
+ "selectedColor": "#222222",
+ "borderStyle": "black",
+ "backgroundColor": "#fff",
+ "list": [
+ {
+ "pagePath": "pages/index/index",
+ "iconPath": "static/nav_daiban@2x.png",
+ "selectedIconPath": "static/nav_daiban_sel@2x.png",
+ "text": "寰呭姙"
+ },
+ {
+ "pagePath": "pages/workbench/workbench",
+ "iconPath": "static/nav_gongzuotai@2x.png",
+ "selectedIconPath": "static/nav_gongzuotai_sel@2x.png",
+ "text": "宸ヤ綔鍙�"
+ },
+ {
+ "pagePath": "pages/mine/mine",
+ "iconPath": "static/nav_wode@2x.png",
+ "selectedIconPath": "static/nav_wode_sel@2x.png",
+ "text": "鎴戠殑"
+ }
+ ]
},
"uniIdRouter": {}
}
diff --git a/minipro_standard/pages/applyDetail/applyDetail.vue b/minipro_standard/pages/applyDetail/applyDetail.vue
deleted file mode 100644
index 76aa8a0..0000000
--- a/minipro_standard/pages/applyDetail/applyDetail.vue
+++ /dev/null
@@ -1,602 +0,0 @@
-<template>
- <view class="content">
- <u-sticky>
- <view class="nav">
- <u-navbar bgColor="#ffffff00" autoBack>
- <view class="" slot="left">
- <image src="../../static/topbar_back_white@2x.png" mode="" class="img44"></image>
- </view>
- <view class="white b f32" slot="center">
- 浼佷笟鎶ュ悕璇︽儏
- </view>
- </u-navbar>
- <view class="" :style="{ paddingTop: statusbarHeight + navHeight + 30 + 'px'}">
- <view class="company-message ml30 mr30 bg_w rd8 bbox p30">
- <view class="company-name b f36 mb15 c2">{{declares.companyName}}</view>
- <view class="message-item">
- <view class="flex mb20">
- <view class="c6 mr20">椤圭洰鍚嶇О</view>
- <view class="fx1 c3">{{declares.projectName}}</view>
- </view>
- <view class="flex">
- <view class="mr20 c6">鏈嶅姟鏈烘瀯</view>
- <view class="fx1 c3">{{ declares.serviceName || '-' }}</view>
- </view>
- </view>
- </view>
- </view>
- </view>
- <view class="bg_m ptb10">
- <u-tabs :list="message" :is-scroll="false" :activeStyle="{ transform: 'scale(1.05)', color: '#222'}"
- itemStyle="width: 145rpx; line-height:40rpx; font-size: 20rpx; height: 88rpx" @change="changeIndex"
- lineColor="#216EEE">
- </u-tabs>
- </view>
- </u-sticky>
- <view class="ml30 mr30 message" v-if="countIndex === 0">
- <view class="bg_w p30 rd8">
- <view class="flex mb30">
- <view class="c6 title">淇$敤浠g爜</view>
- <view class="fx1 c3">{{ company.creditCode }}</view>
- </view>
- <view class="flex mb30">
- <view class="c6 title">鎵�灞炶涓�</view>
- <view class="fx1 c3">{{ company.industryName }}</view>
- </view>
- <view class="flex mb30">
- <view class="c6 title">浼佷笟鎬ц川</view>
- <view class="fx1 c3">{{ company.natureName }}</view>
- </view>
- <view class="flex mb30">
- <view class="c6 title">浼佷笟瑙勬ā</view>
- <view class="fx1 c3">{{ company.labelName }}</view>
- </view>
- <view class="flex mb30">
- <view class="c6 title">鍗曚綅鍦板潃</view>
- <view class="fx1 c3">{{ company.address }}</view>
- </view>
- <view class="flex mb30">
- <view class="c6 title">娉曞畾浠h〃浜�</view>
- <view class="fx1 c3">{{ company.legalPerson }}</view>
- </view>
- <view class="flex mb30">
- <view class="c6 title">鎵嬫満/鐢佃瘽</view>
- <view class="fx1 c3">{{ company.legalPersonPhone }}</view>
- </view>
- <view class="flex mb30">
- <view class="c6 title">鑱旂郴浜�</view>
- <view class="fx1 c3">{{ company.linkName }}</view>
- </view>
- <view class="flex mb30">
- <view class="c6 title">鑱旂郴鐢佃瘽</view>
- <view class="fx1 c3">{{ company.linkPhone }}</view>
- </view>
- <view class="flex mb30">
- <view class="c6 title">钀ヤ笟鎵х収</view>
- <view class="fx1 c3">
- <image v-if="company.businessList&&company.businessList.length" @click="showImage(0, [company.businessList[0].fileurlfull])"
- :src="company.businessList[0].fileurlfull" class="businessImg" mode=""></image>
- </view>
- </view>
- <view class="flex mb30">
- <view class="c6 title">涓昏惀浜у搧</view>
- <view class="fx1 c3">{{ company.product }}</view>
- </view>
- <view class="flex mb30">
- <view class="c6 title">浼佷笟绠�浠�</view>
- <view class="fx1 c3">
- <u-read-more textIndent="0" :toggle="true" :showHeight="80" :shadowStyle="shadowStyle"
- color="#216EEE" closeText="灞曞紑">
- {{ company.content }}
- </u-read-more>
- </view>
- </view>
- </view>
- <view class="bg_w p30 mt20 rd8">
- <view class="c2 b f32 mb30">杩�3骞磋储鍔′俊鎭�</view>
- <view class="flex">
-
- </view>
- <view class="rd8 fY table">
- <view v-for="(title, index) in titles" :key="index" class="flex" :class="index===0&&'table-header'">
- <view class="table-item">
- <view class="">{{title.name}}</view>
- <view class="">{{title.subName}}</view>
- </view>
- <template v-if="company.list&&company.list.length">
- <view v-for="i in 3" class="table-item">{{ company.list[i][title.key] || '0' }}</view>
- </template>
- </view>
- </view>
- </view>
- </view>
- <view class="ml30 mr30 message" v-if="countIndex === 1">
- <view class="bg_w p30 rd8">
- <view class="flex mb30">
- <view class="c6 title">鑱旂郴浜�</view>
- <view class="fx1 c3">{{declares.linkname}}</view>
- </view>
- <view class="flex mb30">
- <view class="c6 title">鑱旂郴鐢佃瘽</view>
- <view class="fx1 c3">{{declares.linkphone}}</view>
- </view>
- <view class="flex">
- <view class="c6 title">椤圭洰闄勪欢</view>
- <view class="fx1 file-content">
- <view v-for="file in declares.fileServiceList" :key="file.id" class="file-style">{{ file.name }}
- </view>
- </view>
- </view>
- </view>
- </view>
- <view class="ml30 mr30 message" v-if="countIndex === 2">
- <view class="flex" v-if="userInfo.type==4||userInfo.type==5">
- <view class="mr10 status-buton" :class="dataType===0&&'sel-button'" @click="dataType=0">鏈嶅姟鏁版嵁</view>
- <view class="status-buton" :class="dataType===1&&'sel-button'" @click="dataType=1">璇婃柇鏁版嵁</view>
- </view>
- <template v-if="dataType===0">
- <!-- 鏈嶅姟 -->
- <view class="p30 rd8 bg_w mt20 message" v-for="item in serviceList" :key="item.id">
- <view class="b c2 f32 mb30">{{ item.serviceTitle }}</view>
- <view class="flex mb30" >
- <view class="data-title c6">鏈嶅姟鏃堕棿</view>
- <view class="fx1 c3">{{ item.serviceDate }}</view>
- </view>
-
- <view class="flex mb30" v-if="item.fileScoreList&&item.fileScoreList.length" >
- <view class="c6 title">浼佷笟璇勫垎琛�</view>
- <view class="fx1" style="flex-shrink: 0;">
- <view class="file-style " v-for="(file, index) in item.fileScoreList"
- :class="index!==item.fileScoreList.length-1&&'mb25'"> {{ file.name }}</view>
- </view>
- </view>
- <view class="flex mb30" v-if="item.diagnoseScore">
- <view class="data-title c6">浼佷笟璇勫垎</view>
- <view class="fx1 c3">{{ item.diagnoseScore }}</view>
- </view>
- <view class="flex mb30" v-if="item.creatorName">
- <view class="data-title c6">涓婁紶鐢ㄦ埛</view>
- <view class="fx1 c3">{{ item.creatorName }}</view>
- </view>
- <view class="flex mb30" v-if="item.content">
- <view class="data-title c6">鏈嶅姟璇存槑</view>
- <view class="fx1 c3">{{item.content}}</view>
- </view>
- <view v-if="!!item.upEnterFile" class="flex mb30">
- <view class="data-title c6">杩涘満鍚堝奖</view>
- <view class="fx1 c3">
- <image v-if="!!item.upEnterFile" :src="item.upEnterFile.fileurlfull"
- @click="showImage(1,[item.upEnterFile.fileurlfull])" mode="" class="rd8 img-style">
- </image>
- </view>
- </view>
- <view v-if="item.upProcessFileList.length" class="flex mb10"
- :class="item.upProcessFileList.length===0&&'mb30'">
- <view class="data-title c6">鏈嶅姟杩囩▼</view>
- <view class="fx1 c3">
- <u-grid :border="false" col="3">
- <u-grid-item v-for="(listItem, listIndex) in item.upProcessFileList" :key="listItem.id">
- <!-- @click="_previewImage(file.otherFileList,i)" -->
- <image :src="listItem.fileurlfull" mode=""
- @click="showImage(listIndex, item.upProcessFileList?item.upProcessFileList.map(img => img.fileurlfull):[])"
- class="mb20 rd8 img-style"></image>
- </u-grid-item>
- </u-grid>
- </view>
- </view>
- <view v-if="!!item.upOutFile" class="flex mb30">
- <view class="data-title c6">鍑哄満鍚堝奖</view>
- <view class="fx1 c3">
- <image v-if="!!item.upOutFile" :src="item.upOutFile.fileurlfull"
- @click="showImage(1,[item.upOutFile.fileurlfull])" mode="" class="rd8 img-style"></image>
- </view>
- </view>
- <view class="flex mb30" v-if="item.fileList&&item.fileList.length" :class="(item.fileExtraList.length||(item.declareDiagnoseList&&item.declareDiagnoseList.length)) && 'mb30'">
- <view class="c6 data-title">鏈嶅姟璧勬枡</view>
- <view class="fx1">
- <view class="file-style" v-for="(file, index) in item.fileList"
- :class="index!==item.fileList.length-1&&'mb25'"> {{ file.name }}</view>
- </view>
- </view>
- <view class="flex " v-if="item.fileDiagnosisList&&item.fileDiagnosisList.length" :class="(item.fileExtraList.length||(item.declareDiagnoseList&&item.declareDiagnoseList.length)) && 'mb30'">
- <view class="c6 data-title">璇婃柇鎶ュ憡</view>
- <view class="fx1">
- <view class="file-style" v-for="(file, index) in item.fileDiagnosisList"
- :class="index!==item.fileDiagnosisList.length-1&&'mb25'"> {{ file.name }}</view>
- </view>
- </view>
- <view class="flex" v-if="item.fileExtraList.length" :class="item.declareDiagnoseList && item.declareDiagnoseList.length && 'mb30'">
- <view class="c6 data-title">琛ュ厖璧勬枡</view>
- <view class="fx1">
- <view class="file-style" v-for="(file, index) in item.fileExtraList"
- :class="index!==item.fileExtraList.length-1&&'mb25'">{{ file.name }}</view>
- </view>
- </view>
- <view class="flex" v-if="item.declareDiagnoseList.length">
- <view class="c6 data-title">鎶ュ憡璇︽儏</view>
- <view class="fx1">
- 璇峰湪PC绔煡鐪�
- </view>
- </view>
- <view class="editBtn" v-if="item.status === 0">
- <u-button text="缂栬緫"></u-button>
- </view>
- </view>
- </template>
- <template v-if="dataType===1">
- <!-- 鏍告煡 -->
- <view class="p30 rd8 bg_w mt20 message" v-for="(item, index) in dsZHList" :key="item.id">
- <view class="b c2 f32 mb30">{{ `绗�${dsZHList.length - index}娆¤瘖鏂暟鎹甡 }}</view>
- <view class="flex mb30">
- <view class="data-title c6">璇婃柇鏃堕棿</view>
- <view class="fx1 c3">{{item.serviceDate}}</view>
- </view>
- <view class="flex mb30">
- <view class="data-title c6">涓婁紶鐢ㄦ埛</view>
- <view class="fx1 c3">{{ item.creatorName }}</view>
- </view>
- <view class="flex mb30">
- <view class="data-title c6">璇婃柇璇存槑</view>
- <view class="fx1 c3">{{ item.content }}</view>
- </view>
- <view class="flex mb10">
- <view class="data-title c6">鐜板満鐓х墖</view>
- <view class="fx1 c3">
- <u-grid :border="false" col="3">
- <u-grid-item v-for="(listItem,listIndex) in item.hcSceneFileList" :key="listIndex">
- <image :src="listItem.fileurlfull"
- @click="showImage(listIndex,item.hcSceneFileList?item.hcSceneFileList.map(img => img.fileurlfull):[])"
- mode="" class="mb20 rd8 img-style"></image>
- </u-grid-item>
- </u-grid>
- </view>
- </view>
- <view class="flex" :class="item.fileExtraList&&item.fileExtraList.length?'mb30':''">
- <view class="c6 title">鏍告煡璧勬枡</view>
- <view class="fx1">
- <view class="file-style" v-for="file in item.fileDiagnosisList" :key="file.id">{{file.name}}</view>
- </view>
- </view>
- <view class="flex" v-if="item.fileExtraList&&item.fileExtraList.length">
- <view class="c6 title">琛ュ厖璧勬枡</view>
- <view class="fx1">
- <view class="file-style" v-for="file in item.fileExtraList" :key="file.id">{{file.name}}</view>
- </view>
- </view>
- </view>
- </template>
- </view>
- <view class="ml30 mr30 message" v-if="countIndex === 3">
- <view class="p30 rd8 bg_w">
- <u-steps current="0" direction="column" dot>
- <u-steps-item v-for="item in history" :key="item.id" :title="item.checkDate">
- <view class="mt15 ptb25 plr30 bg_m rd8 c3 mb40" slot="desc">{{item.checkInfo}}</view>
- </u-steps-item>
- </u-steps>
- </view>
- </view>
- <u-safe-bottom></u-safe-bottom>
- </view>
-</template>
-
-<script>
- import {
- declaresDetail,
- companyDetail,
- serviceDetail,
- getDeclareHistoryList
- } from '@/util/api/index.js'
- import {
- mapState
- } from 'vuex'
- export default {
- data() {
- return {
- projectId: '',
- declareId: '',
- companyId: '',
- message: [{
- name: '浼佷笟淇℃伅'
- }, {
- name: '鎶ュ悕淇℃伅'
- }, {
- name: '璇婃柇璧勬枡'
- }],
- titles: [{
- name: '涓昏鎸囨爣',
- subName: '',
- key: 'years'
- },
- {
- name: '浼佷笟鎬昏祫浜�',
- subName: '锛堜竾鍏冿級',
- key: 'assets'
- },
- {
- name: '钀ヤ笟鏀跺叆',
- subName: '锛堜竾鍏冿級',
- key: 'income'
- },
- {
- name: '璧勪骇璐熷�虹巼',
- subName: '锛�%锛�',
- key: 'ratio'
- },
- {
- name: '鐮斿彂璐圭敤',
- subName: '锛堜竾鍏冿級',
- key: 'develop'
- },
- {
- name: '鍒╂鼎鎬婚',
- subName: '锛堜竾鍏冿級',
- key: 'profit'
- },
- {
- name: '涓婄即绋庨噾',
- subName: '锛堜竾鍏冿級',
- key: 'taxes'
- },
- {
- name: '浠庝笟浜哄憳',
- subName: '',
- key: 'employee'
- },
- ],
- declares: {},
- company: {},
- countIndex: 0,
- dataType: 0,
- shadowStyle: {
- backgroundImage: "linear-gradient(to top, #fff, rgba(255, 255, 255, 0.5))",
- paddingTop: "50rpx",
- marginTop: "-50rpx",
- justifyContent: 'flex-end',
- colors: '#333',
- },
- serviceList: [],
- dsZHList: [],
- history: []
- };
- },
- onLoad({
- projectId,
- declareId,
- companyId
- }) {
- this.declareId = declareId
- this.projectId = projectId
- this.companyId = companyId
- this.getDeclares()
- this.getCompany()
- this.getService()
- if (this.userInfo.type == 4 || this.userInfo.type == 5) {
- this.message = [{
- name: '浼佷笟淇℃伅'
- }, {
- name: '鎶ュ悕淇℃伅'
- }, {
- name: '璇婃柇璧勬枡'
- }, {
- name: '鏌ョ湅杩涘害'
- }]
- this.getCheck()
- this.getDeclareHistory()
- }
-
- },
- computed: {
- ...mapState(['statusbarHeight', 'navHeight', 'userInfo']),
- },
- methods: {
- changeIndex({
- index
- }) {
- this.countIndex = index
- },
- getDeclares() {
- declaresDetail(this.declareId)
- .then(res => {
- this.declares = res
- })
- .catch(res => {
-
- })
- },
- getCompany() {
- companyDetail({
- id: this.companyId
- })
- .then(res => {
- this.company = res
- })
- .catch(res => {
-
- })
- },
- getService() {
- serviceDetail({
- declareId: this.declareId,
- type: 0
- })
- .then(res => {
- let serviceList = []
- res.dsServiceList.forEach((item, index) => {
- serviceList.push({
- ...item,
- serviceTitle: `绗�${index+1}娆℃湇鍔℃暟鎹甡
- })
- })
- res.declareDoneList.forEach((item, index) => {
- serviceList.push({
- ...item,
- serviceDate: item.diagnoseDate,
- // fileList: item.fileDiagnosisList,
- serviceTitle: index == 0 ? '瀹屾垚鏈嶅姟' : `绗�${index}娆¢��鍥炴湇鍔,
-
- })
- })
- this.serviceList = serviceList.reverse()
- })
- .catch(err => {})
- },
- getCheck() {
- serviceDetail({
- declareId: this.declareId,
- type: 1
- })
- .then(res => {
- this.dsZHList = res.dsZHList.reverse()
- })
- .catch(err => {})
- },
- getDeclareHistory() {
- getDeclareHistoryList({
- declareId: this.declareId
- })
- .then(res => {
- this.history = res
- })
- },
- showImage(current, urls) {
- uni.previewImage({
- current,
- urls
- })
- }
- }
- }
-</script>
-
-<style lang="scss">
- .content {
- // height: 100vh;
- background-color: #F3F6F9;
-
- .nav {
- width: 750rpx;
- height: 400rpx;
- background: linear-gradient(180deg, #216EEE 0%, #F3F6F9 100%);
- color: #293C5B;
- padding-bottom: 54rpx;
-
- .company-message {
- height: 216rpx;
-
- .company-name {
- height: 50rpx;
- line-height: 50rpx;
-
- }
- }
- }
-
- .message-item {
- font-size: 26rpx;
- font-weight: 400;
- line-height: 36rpx;
- }
-
- .message {
- font-size: 28rpx;
- font-weight: 400;
- line-height: 40rpx;
- position: relative;
-
- .title {
- flex-shrink: 0;
- width: 160rpx;
- }
-
- .data-title {
- width: 132rpx;
- flex-shrink: 0;
- }
-
- .editBtn {
- position: absolute;
- top: 24rpx;
- right: 30rpx;
- }
- }
-
- .businessImg {
- width: 200rpx;
- height: 150rpx;
- border-radius: 8rpx;
- border: 1rpx solid #EEEEEE;
- }
-
- .table {
- background: #F9FDFF;
- text-align: center;
-
- .table-header {
- color: #293C5B;
- background: rgba(33, 110, 238, 0.08);
- font-weight: 500;
- border-top-left-radius: 8rpx;
- border-top-right-radius: 8rpx;
- }
-
- .table-item {
- width: 157.75rpx;
- height: 80rpx;
- display: flex;
- flex-wrap: wrap;
- justify-content: center;
- align-items: center;
- font-weight: 400;
- color: #293C5B;
- font-size: 24rpx;
- line-height: 16rpx;
- border-bottom: 1rpx solid #E6EAEF;
-
- }
- }
-
- .file-content {
- min-height: 0;
- min-width: 0;
- }
-
- .file-style {
- width: 500rpx;
- color: #216EEE;
- text-decoration: underline;
- word-wrap: break-word;
-
- }
- .last-file {
- margin-bottom: 0 !important;
- }
-
- .status-buton {
- width: 152rpx;
- height: 52rpx;
- border-radius: 30rpx;
- text-align: center;
- line-height: 52rpx;
- font-size: 26rpx;
- font-weight: 400;
- color: #333333;
- border: 1rpx solid #CCCCCC;
- }
-
- .sel-button {
- background: #216EEE;
- color: #FFFFFF;
- border: 1rpx solid #216EEE;
- }
-
- .img-style {
- width: 152rpx;
- height: 114rpx;
- }
- }
-
- ::v-deep .u-read-more__toggle {
- justify-content: flex-end !important;
-
- }
-</style>
diff --git a/minipro_standard/pages/applyList/applyList.vue b/minipro_standard/pages/applyList/applyList.vue
deleted file mode 100644
index 3cf8e85..0000000
--- a/minipro_standard/pages/applyList/applyList.vue
+++ /dev/null
@@ -1,310 +0,0 @@
-<template>
- <view class="content">
- <u-sticky>
- <view class="ptb10 search">
- <view class="plr20">
- <u-search placeholder="鎼滅储浼佷笟鍚嶇О" bgColor="#fff" :showAction="false" v-model="searchForm.companyName"
- @search="scrolltoupper" @clear="scrolltoupper"></u-search>
- </view>
- <u-tabs :list="status" :is-scroll="false" :activeStyle="{ transform: 'scale(1.05)', color: '#222'}"
- itemStyle="min-width: 106px; line-height:40rpx; font-size: 20rpx; height: 88rpx" lineColor="#216EEE"
- @change="changeStatus()">
- </u-tabs>
- </view>
- </u-sticky>
- <!-- :height="statusbarHeight + navHeight + 60 + 'px'" -->
- <u-list @scrolltolower="scrolltolower" :height="windowHeight - 110 + 'px'">
- <u-list-item v-for="(item, index) in commpanyList" :key="index">
- <view class="plr30 mb20">
- <view class="project-item bg_w bbox p30 rd8 ">
- <view class="project-title beyondO">{{ item.companyName }}</view>
- <view class="project-time">鎵�鍦ㄥ尯鍩燂細{{ item.areaName }}</view>
- <view class="project-time">鏈嶅姟鏈烘瀯锛歿{ item.serviceName || '-' }}</view>
- <view class="project-time">鏈嶅姟娆℃暟锛歿{ item.upServerCount }}娆�</view>
- <view class="project-time">璇婃柇寰楀垎锛歿{ item.roleScore ? `${item.roleScore}鍒哷 : '-' }}</view>
- <view class="fixedTR project-status plr15" :style="{
- backgroundColor: !(item.status<7||item.status===11) ? '#E8F0FE' : '#CCCCCC',
- color: !(item.status<7||item.status===11) ? '#216EEE' : '#fff',
- }">
- {{ statusToStr(item.status) }}
- </view>
- <view class="rX">
- <view class="btn btn-sel ml20" @click="uploadService(item)"
- v-if="(userInfo.type==2||userInfo.type==3) && (item.status===7||item.status===8)">
- 涓婁紶鏈嶅姟鏁版嵁
- </view>
- <view class="btn btn-sel ml20" @click="uploadCheck(item)"
- v-if="(userInfo.type==4||userInfo.type==5) && (item.status===7||item.status===8)">
- 涓婁紶璇婃柇鏁版嵁
- </view>
- <view class="btn btn-normal" @click="showDetail(item)">
- 鏌ョ湅鏈嶅姟鏁版嵁
- </view>
- </view>
- </view>
-
- </view>
- </u-list-item>
- </u-list>
- </view>
-</template>
-
-<script>
- import {
- getPageByProjectId
- } from '@/util/api/index.js'
- import {
- mapState
- } from 'vuex'
- export default {
- data() {
- return {
- windowHeight: '',
- searchForm: {
- projectId: '',
- companyName: '',
- status: ''
- },
- status: [{
- name: '鍏ㄩ儴',
- value: ''
- }, {
- name: '宸插垎閰嶆湇鍔℃満鏋�',
- value: '7'
- }, {
- name: '璇婃柇涓�',
- value: '8'
- }],
- setupTypes: [
- // 0宸蹭繚瀛樸��1寰呭鏍搞��2瀹℃牳閫氳繃銆�3閫�鍥炰慨鏀广��4瀹℃牳椹冲洖銆�5寰呮湇鍔℃満鏋勭‘璁ゃ��6鏈嶅姟鏈烘瀯鎷掔粷銆�7宸插垎閰嶆湇鍔℃満鏋勩��
- // 8璇婃柇涓紙鎴愬姛涓婁紶绗竴浠芥湇鍔¤祫鏂欙級銆�9鏈嶅姟瀹屾垚銆�10宸插垎閰嶈瘎鍒嗕笓瀹躲��11宸插畬鎴愶紙涓撳涓婁紶璇勫垎锛�. 12 (閫�鍥炰慨鏀�)璇婃柇鏈嶅姟閫�鍥炰慨鏀�
- {
- name: '宸蹭繚瀛�',
- value: 0
- },
- {
- name: '寰呭鏍�',
- value: 1
- },
- {
- name: '瀹℃牳閫氳繃',
- value: 2
- },
- {
- name: '閫�鍥炰慨鏀�',
- value: 3
- },
- {
- name: '瀹℃牳椹冲洖',
- value: 4
- },
- {
- name: '寰呮湇鍔℃満鏋勭‘璁�',
- value: 5
- },
- {
- name: '鏈嶅姟鏈烘瀯鎷掔粷',
- value: 6
- },
- {
- name: '宸插垎閰嶆湇鍔℃満鏋�',
- value: 7
- },
- {
- name: '璇婃柇涓�',
- value: 8
- },
- {
- name: '鏈嶅姟瀹屾垚',
- value: 9
- },
- {
- name: '宸插垎閰嶈瘎鍒嗕笓瀹�',
- value: 10
- },
- {
- name: '宸插畬鎴�',
- value: 11
- },
- {
- name: '璇婃柇鏈嶅姟閫�鍥炰慨鏀�',
- value: 12
- },
- ],
- commpanyList: [],
- page: {
- pageIndex: 1,
- pageSize: 10,
- total: 0
- }
- };
- },
- computed: {
- ...mapState(['statusbarHeight', 'navHeight', 'userInfo']),
- },
- onLoad({
- projectId
- }) {
- uni.getSystemInfo({
- success: res => {
- this.windowHeight = res.windowHeight
- }
- })
- this.searchForm.projectId = projectId
- this.getDataList()
- uni.$on("success", () => {
- this.scrolltoupper()
- })
- },
- methods: {
- statusToStr(status) {
- let tempStatus = this.setupTypes.find(item => item.value === status)
- return tempStatus ? tempStatus.name : '-'
- },
- scrolltoupper() {
- this.page.pageIndex = 1
- this.getDataList()
- },
- scrolltolower() {
- if (this.page.total <= this.commpanyList.length) {
- return
- }
- this.loadmore()
- },
- loadmore() {
- this.page.pageIndex += 1
- this.getDataList()
- },
-
- getDataList() {
- getPageByProjectId({
- capacity: this.page.pageSize,
- model: this.searchForm,
- page: this.page.pageIndex
- })
- .then(res => {
- this.page.pageIndex = res.page
- this.page.total = res.total
- if (this.page.pageIndex === 1) {
- this.commpanyList = []
- }
- this.commpanyList.push(...res.records)
- })
- .catch(err => {
-
- })
- },
-
- changeStatus({
- value
- }) {
- // console.log(v);
- this.searchForm.status = value
- this.page.pageIndex = 1
- this.getDataList()
- },
-
-
- // 椤甸潰璺宠浆
- showDetail(item) {
- uni.navigateTo({
- url: `/pages/applyDetail/applyDetail?declareId=${item.id}&projectId=${item.projectId}&companyId=${item.companyId}`
- })
- },
- uploadService(item) {
- uni.navigateTo({
- url: `/pages/uploadServiceData/uploadServiceData?declareId=${item.id}&upServerCount=${item.upServerCount}`
- })
- },
- uploadCheck(item) {
- uni.navigateTo({
- url: `/pages/uploadCheckData/uploadCheckData?declareId=${item.id}&hcServerCount=${item.hcServerCount}`
- })
- },
- }
- }
-</script>
-
-<style lang="scss">
- .content {
- height: 100vh;
- background-color: #F3F6F9;
-
- .project-item {
- position: relative;
-
- .project-title {
- height: 44rpx;
- max-width: 480rpx;
- font-size: 32rpx;
- font-weight: 500;
- color: #222222;
- line-height: 44rpx;
- margin-bottom: 20rpx;
- }
-
- .project-time {
- height: 36rpx;
- font-size: 26rpx;
- font-weight: 400;
- color: #666666;
- line-height: 36rpx;
- margin-bottom: 12rpx;
- }
-
- .apply-count {
- height: 36rpx;
- font-size: 26rpx;
- font-weight: 400;
- color: #216EEE;
- line-height: 36rpx;
- }
-
- .project-status {
- border-top-right-radius: 8rpx;
- border-bottom-left-radius: 24rpx;
- height: 46rpx;
- line-height: 46rpx;
- text-align: center;
- font-weight: 400;
- font-size: 24rpx;
- background-color: #E8F0FE;
- color: #216EEE;
- }
-
- .btn-width {
- width: 190rpx;
- }
-
- .btn-height {
- height: 56rpx;
- }
- }
-
- }
-
- // ::v-deep .u-tabs__wrapper__nav {
- // justify-content: space-between;
- // }
- .btn {
- width: 188rpx;
- height: 56rpx;
- border-radius: 8rpx;
-
- font-size: 24rpx;
- font-weight: 400;
- line-height: 56rpx;
- text-align: center;
- }
- .btn-normal {
- color: #333333;
- // background-color: #f1f1f1;
- border: 1rpx solid #999999;
- // border: 1rpx solid #f1f1f1;
- }
- .btn-sel {
- color: #fff;
- background-color: #216EEE;
- border: 1rpx solid #216EEE;
- }
-</style>
diff --git a/minipro_standard/pages/comApplyList/comApplyList.vue b/minipro_standard/pages/comApplyList/comApplyList.vue
deleted file mode 100644
index bc12bb1..0000000
--- a/minipro_standard/pages/comApplyList/comApplyList.vue
+++ /dev/null
@@ -1,209 +0,0 @@
-<template>
- <view class="content">
- <u-sticky>
- <view class="ptb10 search" >
- <view class="plr20">
- <u-search placeholder="鎼滅储浼佷笟鍚嶇О" bgColor="#fff" :showAction="false" v-model="searchForm.keyword"></u-search>
- </view>
- <u-tabs :list="status" :is-scroll="false" :activeStyle="{ transform: 'scale(1.05)', color: '#222'}"
- itemStyle="width: 208rpx; line-height:40rpx; font-size: 20rpx; height: 88rpx"
- lineColor="#216EEE">
- </u-tabs>
- </view>
- </u-sticky>
- <!-- :height="statusbarHeight + navHeight + 60 + 'px'" -->
- <u-list @scrolltolower="scrolltolower" :height="windowHeight - 110 + 'px'">
- <u-list-item v-for="(item, index) in commpanyList" :key="index">
- <view class="plr30 mb20">
- <view class="project-item bg_w bbox p30 rd8 ">
- <view class="project-title beyondO">{{ item.name }}</view>
- <view class="project-time">鎵�鍦ㄥ尯鍩燂細{{ item.address }}</view>
- <view class="project-time">鏈嶅姟鏈烘瀯锛歿{ item.service }}</view>
- <view class="project-time">鏈嶅姟娆℃暟锛歿{ item.serviceTime }}娆�</view>
- <view class="project-time">璇婃柇寰楀垎锛歿{ item.socre }}</view>
- <view class="fixedTR project-status plr15" :style="{
- backgroundColor: item.status===1 ? '#E8F0FE' : '#CCCCCC',
- color: item.status===1 ? '#216EEE' : '#fff',
- }">
- {{
- item.status===0 ? '鏈紑濮�'
- : item.status===1 ? '杩涜涓�'
- : item.status===2 ? '宸茬粨鏉�' : '-'
- }}
- </view>
- <view class="rX">
- <view class="btn-width">
- <u-button text="涓婁紶璇婃柇鏁版嵁" color="#216EEE" type="primary"></u-button>
- </view>
- <view class="btn-width mr20">
- <u-button text="鏌ョ湅鏈嶅姟鏁版嵁"></u-button>
- </view>
- </view>
- </view>
-
- </view>
- </u-list-item>
- </u-list>
- </view>
-</template>
-
-<script>
- import { projectPage } from '@/util/api/index.js'
- import {
- mapState
- } from 'vuex'
- export default {
- data() {
- return {
- windowHeight: '',
- searchForm: {
- keyWard: ''
- },
- status: [{ name: '鍏ㄩ儴' }, { name: '宸插垎閰嶆湇鍔℃満鏋�' }, { name: '璇婃柇涓�' }
- ],
- commpanyList: [
- {
- name: '涓浗绉诲姩閫氫俊闆嗗洟瀹夊窘鏈夐檺鍏徃涓浗绉诲姩閫氫俊闆嗗洟瀹夊窘鏈夐檺鍏徃鈥�',
- address: '鑲ヨタ鍘�',
- service: '濡傛灉绉戞妧鏈夐檺鍏徃',
- serviceTime: '2',
- socre: 90,
- status: 0
- },
- {
- name: '涓浗绉诲姩閫氫俊闆嗗洟瀹夊窘鏈夐檺鍏徃',
- address: '鑲ヨタ鍘�',
- service: '濡傛灉绉戞妧鏈夐檺鍏徃',
- serviceTime: '2',
- socre: 90,
- status: 0
- },
- ]
- };
- },
- computed: {
- ...mapState(['statusbarHeight', 'navHeight']),
- },
- onLoad(option) {
- console.log(option);
- uni.getSystemInfo({
- success: res => {
- console.log(res);
- this.windowHeight = res.windowHeight
- }
- })
- },
- methods: {
- dateToStr(timestamp) {
- return uni.$u.timeFrom(timestamp, 'yyyy-mm-dd hh:MM:ss')
- },
- scrolltoupper() {
- this.page.pageIndex = 1
- this.getDataList()
- },
- scrolltolower() {
- if (this.page.total <= this.projectList.length) {
- return
- }
- this.loadmore()
- },
- loadmore() {
- this.page.pageIndex += 1
- this.getDataList()
- },
-
- getDataList() {
- projectPage({
- capacity: this.page.pageSize,
- model: this.searchForm,
- page: this.page.pageIndex
- })
- .then(res => {
- console.log(res.page);
- this.page.pageIndex = res.page
- this.page.total = res.total
- if (this.page.pageIndex===1) {
- this.projectList = []
- }
- console.log(res.records);
- this.projectList.push(...res.records)
- console.log(this.projectList);
- })
- .catch(err => {
-
- })
- },
-
- changeStatus({index}) {
- this.searchForm.status = index
- if (!index) {
- this.searchForm.status = ''
- }
- this.page.pageIndex = 1
- this.getDataList()
- },
-
-
- // 椤甸潰璺宠浆
- selectProject(item) {
- uni.navigateTo({
- url: '/pages/applyList/applyList'
- })
- }
- }
- }
-
-</script>
-
-<style lang="scss">
- .content {
- height: 100vh;
- background-color: #F3F6F9;
-
- .project-item {
- position: relative;
- .project-title {
- height: 44rpx;
- max-width: 480rpx;
- font-size: 32rpx;
- font-weight: 500;
- color: #222222;
- line-height: 44rpx;
- margin-bottom: 20rpx;
- }
- .project-time {
- height: 36rpx;
- font-size: 26rpx;
- font-weight: 400;
- color: #666666;
- line-height: 36rpx;
- margin-bottom: 12rpx;
- }
- .apply-count {
- height: 36rpx;
- font-size: 26rpx;
- font-weight: 400;
- color: #216EEE;
- line-height: 36rpx;
- }
- .project-status {
- border-top-right-radius: 8rpx;
- border-bottom-left-radius: 24rpx;
- height: 46rpx;
- line-height: 46rpx;
- text-align: center;
- font-weight: 400;
- font-size: 24rpx;
- background-color: #E8F0FE;
- color: #216EEE;
- }
- .btn-width {
- width: 190rpx;
- }
- .btn-height {
- height: 56rpx;
- }
- }
-
- }
-</style>
diff --git a/minipro_standard/pages/index/index.vue b/minipro_standard/pages/index/index.vue
index 32bb5b8..7308129 100644
--- a/minipro_standard/pages/index/index.vue
+++ b/minipro_standard/pages/index/index.vue
@@ -1,149 +1,77 @@
<template>
- <view class="content">
- <view class="p40 nav bbox">
- <view class="">鍚堣偉甯傛櫤鏀规暟杞瘖鏂湇鍔″钩鍙�</view>
- <view class="">娆㈣繋鐧诲綍</view>
- </view>
- <view class="p40 mt30">
- <u--input
- placeholder="璇疯緭鍏ヨ处鍙�"
- prefixIcon="account"
- clearable
- v-model="form.account"
- prefixIconStyle="font-size: 40rpx;color: #AAAAAA"
- ></u--input>
- <view class="p20"></view>
- <u--input
- placeholder="璇疯緭鍏ュ瘑鐮�"
- prefixIcon="lock"
- password
- clearable
- v-model="form.password"
- prefixIconStyle="font-size: 40rpx;color: #AAAAAA"
- ></u--input>
- <view class="ptb50"></view>
- <u-button
- :loading="logining"
- type="primary"
- color="#216EEE"
- text="鐧诲綍"
- size="large"
- @click="loginAction"
- ></u-button>
- </view>
+ <view>
+ <myTabbar :index="0" />
</view>
</template>
-<script>
-
- import { coustomLogin, wxEmpower } from '@/util/api/index'
+<script>
+ // import { coustomLogin, wxEmpower } from '@/util/api/index'
+
+
+ import myTabbar from "@/components/myTabber.vue"
export default {
+ components: {
+ myTabbar
+ },
data() {
return {
- form: {
- account: '',
- password: '',
- },
- logining: false,
+ form: {
+ account: '',
+ password: '',
+ },
+ logining: false,
openId: ''
}
- },
- onLoad() {
- uni.login({
- success: data => {
- this.wxLogin(data.code)
- },
- fail: err => {
- uni.$u.toast(err)
- }
- })
+ },
+ onLoad() {
+ // uni.login({
+ // success: data => {
+ // this.wxLogin(data.code)
+ // },
+ // fail: err => {
+ // uni.$u.toast(err)
+ // }
+ // })
},
methods: {
- loginAction() {
- if (!this.form.account || !this.form.password) {
- uni.$u.toast('璐﹀彿鎴栬�呭瘑鐮佷笉鑳戒负绌�')
- }
- this.logining = true
- coustomLogin({...this.form, openid: this.openId})
- .then(res => {
- this.$store.commit('SETTOKEN', res.token)
- this.$store.commit('SETUSERINFO', res)
- uni.navigateTo({
- url:'/pages/projectList/projectList'
- })
- })
- .finally(() => {
- this.logining = false
- })
- },
- wxLogin(code) {
- wxEmpower({code})
- .then(res => {
- this.openId = res.openid
- if (res.userInfo) {
- this.$store.commit('SETTOKEN', res.userInfo.token)
- this.$store.commit('SETUSERINFO', res.userInfo)
- uni.navigateTo({
- url:'/pages/projectList/projectList'
- })
- }
- })
- .catch(err => {
- uni.$u.toast(err)
- })
- }
+ // loginAction() {
+ // if (!this.form.account || !this.form.password) {
+ // uni.$u.toast('璐﹀彿鎴栬�呭瘑鐮佷笉鑳戒负绌�')
+ // }
+ // this.logining = true
+ // coustomLogin({...this.form, openid: this.openId})
+ // .then(res => {
+ // this.$store.commit('SETTOKEN', res.token)
+ // this.$store.commit('SETUSERINFO', res)
+ // uni.navigateTo({
+ // url:'/pages/projectList/projectList'
+ // })
+ // })
+ // .finally(() => {
+ // this.logining = false
+ // })
+ // },
+ // wxLogin(code) {
+ // wxEmpower({code})
+ // .then(res => {
+ // this.openId = res.openid
+ // if (res.userInfo) {
+ // this.$store.commit('SETTOKEN', res.userInfo.token)
+ // this.$store.commit('SETUSERINFO', res.userInfo)
+ // uni.navigateTo({
+ // url:'/pages/projectList/projectList'
+ // })
+ // }
+ // })
+ // .catch(err => {
+ // uni.$u.toast(err)
+ // })
+ // }
}
}
</script>
<style lang="scss" scoped>
- .content {
- // display: flex;
- // flex-direction: column;
- // align-items: center;
- // justify-content: center;
- height: 100vh;
- background-color: #FFFFFF;
- .nav {
-
- width: 750rpx;
- height: 520rpx;
- background: linear-gradient(180deg, #C7EBFF 0%, #FFFFFF 100%);
- display: flex;
- flex-direction: column-reverse;
- color: #293C5B;
- :first-child {
- height: 52rpx;
- font-size: 36rpx;
- line-height: 52rpx;
- }
- :last-child {
- height: 80rpx;
- font-size: 56rpx;
- font-weight: 500;
- line-height: 80rpx;
- margin-bottom: 16rpx;
- }
- }
- }
- .logo {
- height: 200rpx;
- width: 200rpx;
- margin-top: 200rpx;
- margin-left: auto;
- margin-right: auto;
- margin-bottom: 50rpx;
- }
-
- .text-area {
- display: flex;
- justify-content: center;
- }
-
- .title {
- font-size: 36rpx;
- color: #8f8f94;
- }
</style>
diff --git a/minipro_standard/pages/login/login.vue b/minipro_standard/pages/login/login.vue
new file mode 100644
index 0000000..0fd9d00
--- /dev/null
+++ b/minipro_standard/pages/login/login.vue
@@ -0,0 +1,84 @@
+<template>
+ <view class="login-content plr60">
+ <view class="login-bg">
+ <image src="@/static/login_bg@2x.png" mode="aspectFill" class="bg-img"></image>
+ <image src="@/static/logo@2x.png" mode="aspectFill" class="login-log img180"></image>
+ <view class="tc title">DM浜戝伐鍘�</view>
+ </view>
+ <view class="bg_w rd8 ptb30 pl40 bbox com-input flex input-height">
+ <image src="@/static/login_ic_code@2x.png" mode="" class="img40 mr25"></image>
+ <u--input placeholder="浼佷笟浠g爜" border="none"></u--input>
+ </view>
+ <view class="bg_w rd8 ptb30 pl40 bbox mt40 flex input-height">
+ <image src="@/static/login_ic_phone@2x.png" mode="" class="img40 mr25"></image>
+ <u--input placeholder="鎵嬫満鍙�" border="none"></u--input>
+ </view>
+ <view class="bg_w rd8 ptb30 pl40 bbox mt40 flex input-height">
+ <image src="@/static/login_ic_password@2x.png" mode="" class="img40 mr25"></image>
+ <u--input placeholder="瀵嗙爜" border="none"></u--input>
+ </view>
+ <view class="login-btn mt80">绔嬪嵆鐧诲綍</view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ bgImg: require('@/static/login_bg@2x.png')
+ };
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+.login-content {
+ height: 100vh;
+ background: #FFFFFF linear-gradient(180deg, rgba(66,117,252,0.2) 0%, rgba(66,117,252,0) 100%);
+ .login-bg {
+ position: relative;
+ height: 812rpx;
+ .bg-img {
+ position: absolute;
+ z-index: 1;
+ width: 100%;
+ height: 100%;
+ }
+ .login-log {
+ // margin-top: ;
+ margin: 356rpx auto 0 auto ;
+ left: 0;
+ right: 0;
+ position: absolute;
+ }
+ .title {
+ position: absolute;
+ margin-top: 576rpx;
+ left: 0;
+ width: 100%;
+ height: 60rpx;
+ font-size: 44rpx;
+ font-weight: 600;
+ color: #333333;
+ line-height: 60rpx;
+ }
+ }
+ .input-height {
+ height: 100rpx;
+ }
+ .com-input {
+ margin-top: -60px;
+ }
+ .login-btn {
+ height: 98rpx;
+ background: #4275FC;
+ box-shadow: 0rpx 12rpx 24rpx 0rpx rgba(66,117,252,0.2);
+ border-radius: 8rpx;
+ text-align: center;
+ font-size: 32rpx;
+ font-weight: 500;
+ color: #FFFFFF;
+ line-height: 98rpx;
+ }
+}
+</style>
diff --git a/minipro_standard/pages/mine/mine.vue b/minipro_standard/pages/mine/mine.vue
new file mode 100644
index 0000000..417e0d4
--- /dev/null
+++ b/minipro_standard/pages/mine/mine.vue
@@ -0,0 +1,74 @@
+<template>
+ <view>
+
+ <myTabbar :index="2" />
+ </view>
+</template>
+
+<script>
+ import myTabbar from "@/components/myTabber.vue"
+ export default {
+ components: {
+ myTabbar
+ },
+ data() {
+ return {
+ form: {
+ account: '',
+ password: '',
+ },
+ logining: false,
+ openId: ''
+ }
+ },
+ onLoad() {
+ // uni.login({
+ // success: data => {
+ // this.wxLogin(data.code)
+ // },
+ // fail: err => {
+ // uni.$u.toast(err)
+ // }
+ // })
+ },
+ methods: {
+ // loginAction() {
+ // if (!this.form.account || !this.form.password) {
+ // uni.$u.toast('璐﹀彿鎴栬�呭瘑鐮佷笉鑳戒负绌�')
+ // }
+ // this.logining = true
+ // coustomLogin({...this.form, openid: this.openId})
+ // .then(res => {
+ // this.$store.commit('SETTOKEN', res.token)
+ // this.$store.commit('SETUSERINFO', res)
+ // uni.navigateTo({
+ // url:'/pages/projectList/projectList'
+ // })
+ // })
+ // .finally(() => {
+ // this.logining = false
+ // })
+ // },
+ // wxLogin(code) {
+ // wxEmpower({code})
+ // .then(res => {
+ // this.openId = res.openid
+ // if (res.userInfo) {
+ // this.$store.commit('SETTOKEN', res.userInfo.token)
+ // this.$store.commit('SETUSERINFO', res.userInfo)
+ // uni.navigateTo({
+ // url:'/pages/projectList/projectList'
+ // })
+ // }
+ // })
+ // .catch(err => {
+ // uni.$u.toast(err)
+ // })
+ // }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+
+</style>
diff --git a/minipro_standard/pages/projectList/projectList.vue b/minipro_standard/pages/projectList/projectList.vue
deleted file mode 100644
index e0be488..0000000
--- a/minipro_standard/pages/projectList/projectList.vue
+++ /dev/null
@@ -1,225 +0,0 @@
-<template>
- <view class="content">
- <u-sticky>
- <view class="nav">
- <u-navbar title="椤圭洰鍒楄〃" bgColor="#ffffff00" @leftClick="show=true">
- <view class="" slot="left">
- <image src="../../static/ic_logout@2x.png" mode="" class="img44"></image>
- </view>
- <view class="c1 b f32" slot="center">椤圭洰鍒楄〃</view>
- </u-navbar>
- <view class="search" :style="{
- paddingTop: statusbarHeight + navHeight + 20 + 'px',
- paddingLeft: '20px',
- paddingRight: '20px'
- }">
- <u-search placeholder="鎼滅储" bgColor="#fff" :showAction="false" @search="scrolltoupper" v-model="searchForm.name">
- </u-search>
- <u-tabs :list="status" :is-scroll="false" :activeStyle="{ transform: 'scale(1.05)', color: '#222'}"
- itemStyle="width: 180rpx; line-height:40rpx; font-size: 20rpx; height: 88rpx"
- lineColor="#216EEE" @change="changeStatus">
- </u-tabs>
- </view>
- </view>
- </u-sticky>
- <!-- :height="statusbarHeight + navHeight + 60 + 'px'" -->
- <u-list
- :showScrollbar="false"
- @scrolltolower="scrolltolower"
- @scrolltoupper="scrolltoupper"
- :height="windowHeight - (statusbarHeight + navHeight + 120) + 'px'"
- >
- <u-list-item v-for="(item, index) in projectList" :key="index">
- <view class="plr30 mb20" @click="selectProject(item)">
- <view class="project-item bg_w bbox p30 rd8 ">
- <view class="project-title beyondO">{{ item.name }}</view>
- <view class="project-time">鎶ュ悕寮�濮嬫椂闂达細{{ item.startDate }}</view>
- <view class="project-time">鎶ュ悕缁撴潫鏃堕棿锛歿{ item.endDate }}</view>
- <view class="apply-count" :style="{color: item.status===1 ? '#216EEE' : '#CCCCCC',}">浼佷笟鎶ュ悕鏁伴噺锛歿{ item.serverCompanyNum }}</view>
- <view class="fixedTR project-status" :style="{
- backgroundColor: item.status===1 ? '#E8F0FE' : '#CCCCCC',
- color: item.status===1 ? '#216EEE' : '#fff',
- }">
- {{
- item.status===0 ? '鏈紑濮�'
- : item.status===1 ? '杩涜涓�'
- : item.status===2 ? '宸茬粨鏉�' : '-'
- }}
- </view>
- </view>
-
- </view>
- </u-list-item>
- </u-list>
- <u-modal :show="show" title="纭畾閫�鍑�" content='閫�鍑哄悗闇�瑕侀噸鏂扮櫥褰�' showCancelButton confirmColor="#f00" @cancel="show=false" @confirm="logoutAction"></u-modal>
- </view>
-</template>
-
-<script>
- import { projectPage, logout } from '@/util/api/index.js'
- import {
- mapState
- } from 'vuex'
- export default {
- data() {
- return {
- windowHeight: '',
- searchForm: {
- name: ''
- },
- status: [{ name: '鍏ㄩ儴' }, { name: '杩涜涓�' }, { name: '宸茬粨鏉�' }],
- projectList: [],
- page: {
- pageIndex: 1,
- pageSize: 10,
- total: 0
- },
- show: false
- };
- },
- computed: {
- ...mapState(['statusbarHeight', 'navHeight']),
- },
-
- onLoad() {
- if (!this.$store.state.token) {
- uni.reLaunch({
- url: '/pages/index/index'
- })
- return
- }
- uni.getSystemInfo({
- success: res => {
- this.windowHeight = res.windowHeight
- }
- })
- this.getDataList()
- },
- methods: {
- dateToStr(timestamp) {
- return uni.$u.timeFrom(timestamp, 'yyyy-mm-dd hh:MM:ss')
- },
- scrolltoupper() {
- this.page.pageIndex = 1
- this.getDataList()
- },
- scrolltolower() {
- if (this.page.total <= this.projectList.length) {
- return
- }
- this.loadmore()
- },
- loadmore() {
- this.page.pageIndex += 1
- this.getDataList()
- },
-
- getDataList() {
- projectPage({
- capacity: this.page.pageSize,
- model: this.searchForm,
- page: this.page.pageIndex
- })
- .then(res => {
- this.page.pageIndex = res.page
- this.page.total = res.total
- if (this.page.pageIndex===1) {
- this.projectList = []
- }
- this.projectList.push(...res.records)
- })
- .catch(err => {
-
- })
- },
-
- changeStatus({index}) {
- this.searchForm.status = index
- if (!index) {
- this.searchForm.status = ''
- }
- this.page.pageIndex = 1
- this.getDataList()
- },
-
-
- // 椤甸潰璺宠浆
- selectProject(item) {
- uni.navigateTo({
- url: `/pages/applyList/applyList?projectId=${item.id}`
- })
- },
- logoutAction() {
- this.show = false
- logout()
- .then(() => {
- this.$store.commit('SETTOKEN', '')
- this.$store.commit('SETUSERINFO', {})
- uni.reLaunch({
- url: '/pages/index/index'
- })
- })
- .catch(err => {
- uni.$u.tosat(err)
- })
- }
- }
- }
-</script>
-
-<style lang="scss">
- .content {
- height: 100vh;
- background-color: #F3F6F9;
-
- .nav {
- width: 750rpx;
- height: 400rpx;
- background: linear-gradient(180deg, #C7EBFF 0%, #F3F6F9 100%);
- color: #293C5B;
-
- .search {
- // margin-top: ;
- }
- }
- .project-item {
- position: relative;
- height: 272rpx;
- .project-title {
- height: 44rpx;
- font-size: 32rpx;
- font-weight: 500;
- color: #222222;
- line-height: 44rpx;
- margin-bottom: 20rpx;
- }
- .project-time {
- height: 36rpx;
- font-size: 26rpx;
- font-weight: 400;
- color: #666666;
- line-height: 36rpx;
- margin-bottom: 20rpx;
- }
- .apply-count {
- height: 36rpx;
- font-size: 26rpx;
- font-weight: 400;
- color: #216EEE;
- line-height: 36rpx;
- }
- .project-status {
- border-top-right-radius: 8rpx;
- border-bottom-left-radius: 24rpx;
- width: 104rpx;
- height: 46rpx;
- line-height: 46rpx;
- text-align: center;
- font-weight: 400;
- font-size: 24rpx;
- background-color: #E8F0FE;
- color: #216EEE;
- }
- }
- }
-</style>
diff --git a/minipro_standard/pages/uploadCheckData/uploadCheckData.vue b/minipro_standard/pages/uploadCheckData/uploadCheckData.vue
deleted file mode 100644
index 5f121f5..0000000
--- a/minipro_standard/pages/uploadCheckData/uploadCheckData.vue
+++ /dev/null
@@ -1,405 +0,0 @@
-<template>
- <view class="content p30">
- <view class="c2 f30 count-title">姝e湪杩涜绗瑊{hcServerCount + 1}}娆℃湇鍔�</view>
- <view class="bg_w p30 mt20 rd8">
-
- <view class="mt30 mb30">
- <view class="c2 f28 mb10 must">鐜板満鐓х墖</view>
- <view class="c9 f26 mb30">鎷嶆憚澶氬紶鐓х墖锛屾牳鏌ヤ汉鍛橀渶瑕佸嚭闀�</view>
- <u-upload
- :fileList="fileList2"
- @afterRead="afterRead"
- @delete="deletePic"
- :previewFullImage="true"
- :sizeType="['compressed']"
- width="194rpx"
- height="152rpx"
- name="2"
- >
- <image src="../../static/ic_uploadimg@2x.png" mode="widthFix" class="uploadImage"></image>
- </u-upload>
- </view>
- <u-line color="#e5e5e5"></u-line>
- <view class="mt30 mb30">
- <view class="c2 f28 mb10 must">鏍告煡璧勬枡</view>
- <view class="c9 f26 mb30">鏈嶅姟杩囩▼璇佹槑璧勬枡鍖呮嫭绛惧埌琛ㄣ�佷細璁邯瑕�</view>
- <view class="upload-btn ">
- <u-button color="#216EEE" text="鐐瑰嚮涓婁紶" @click="uploadFileList" plain></u-button>
- </view>
- <view class="mt30 bX f28" v-for="(item, index) in fileList">
- <view class="mc file-style">{{item.name}}</view>
- <view class="wc delet-btn" @click="fileList.splice(index, 1)">鍒犻櫎</view>
- </view>
- </view>
- <u-line color="#e5e5e5"></u-line>
- <view class="mt30 mb30" v-if="hcServerCount!==0">
- <view class="c2 f28 mb10">琛ュ厖璧勬枡</view>
- <view class="c9 f26 mb30">鏈嶅姟杩囩▼璇佹槑璧勬枡鍖呮嫭绛惧埌琛ㄣ�佷細璁邯瑕�</view>
- <view class="upload-btn ">
- <u-button color="#216EEE" text="鐐瑰嚮涓婁紶" @click="uploadFileExtraList" plain></u-button>
- </view>
- <view class="mt30 bX f28" v-for="(item, index) in fileExtraList">
- <view class="mc file-style">{{item.name}}</view>
- <view class="wc delet-btn" @click="fileExtraList.splice(index, 1)">鍒犻櫎</view>
- </view>
- </view>
- <u-line color="#e5e5e5"></u-line>
- <view class="mt30 mb30">
- <view class="c2 f28 mb10">鏍告煡鏃堕棿</view>
- <view class="bX" @click="show=true">
- <view class="fx1 c3 f30">{{ serviceDate || '璇烽�夋嫨' }}</view>
- <u-icon name="arrow-right" color="#666" size="18"></u-icon>
- </view>
- <u-datetime-picker
- ref="datetimePicker"
- :show="show"
- :formatter="formatter"
- v-model="date"
- mode="date"
- @confirm="confirmDate"
- @cancel="show=false"
- ></u-datetime-picker>
- </view>
- <u-line color="#e5e5e5"></u-line>
- <view class="mt30 mb30">
- <view class="c2 f28 mb10">鏍告煡璇存槑</view>
- <u--textarea v-model="content" border="none" placeholder="璇疯緭鍏ユ湇鍔¤鏄�" ></u--textarea>
- </view>
- </view>
-
- <!-- 搴曢儴澶勭悊 -->
- <view class="pt30">
- <view class="ptb15">
- <u-button color="#216EEE00"></u-button>
- </view>
- <u-safe-bottom></u-safe-bottom>
- </view>
- <view class="fixedBottom bg_w" style="z-index: 9999;">
- <view class="plr30 ptb15 bX">
- <view class="save-btn">
- <u-button color="#216EEE" text="淇濆瓨" plain @click="submit(0)"></u-button>
- </view>
- <view class="submit-btn">
- <u-button color="#216EEE" text="鎻愪氦" type="primary" @click="submit(1)"></u-button>
- </view>
- </view>
- <u-safe-bottom></u-safe-bottom>
- </view>
- <canvas :style="{
- position: 'fixed',
- width: canvasWidth + 'px',
- height: canvasHeight + 'px',
- bottom: -canvasHeight - 150 + 'px',
- right: -canvasWidth - 300 + 'px'
- }" canvas-id="imgId"></canvas>
- </view>
-</template>
-
-<script>
- import { baseUrl } from '@/common/config'
- import { getAddrByLatAndLng, declareService, uploadHCData } from '@/util/api/index.js'
- export default {
- data() {
- return {
- date: Number(new Date()),
- declareId: '',
- fileList2: [],
- fileList: [],
- fileExtraList: [],
- serviceDate: '',
- content: '',
- show: false,
- hcServerCount: 0,
- canvasWidth: '',
- canvasHeight: '',
- address:{}
- };
- },
- onLoad({declareId, hcServerCount}) {
- this.declareId = declareId
- this.hcServerCount = +hcServerCount
- declareService({ id:declareId, type:1 })
- .then(res => {
- if (res && res.status==0) {
- this.fileList = res.fileDiagnosisList || []
- this.fileExtraList = res.fileExtraList
- res.hcSceneFileList.forEach(item => {
- this.fileList2.push({
- ...item,
- url: item.fileurlfull
- })
- })
- this.serviceDate = res.serviceDate ? res.serviceDate.substring(0, res.serviceDate.length - 9) : ''
- this.content = res.content
- }
- })
- .catch(err => {
-
- })
- uni.getLocation({
- geocode: true,
- success: ({latitude, longitude}) => {
- getAddrByLatAndLng({latitude, longitude})
- .then(res => {
- this.address = res
- })
- .then(err => {})
- },
- fail: (err) => {
- console.log(err);
- }
- })
- },
- onReady() {
- this.$refs.datetimePicker.setFormatter(this.formatter)
- },
- methods: {
- formatter(type, value) {
- if (type === 'year') {
- return `${value}骞碻
- }
- if (type === 'month') {
- return `${value}鏈坄
- }
- if (type === 'day') {
- return `${value}鏃
- }
- return value
- },
- getInfoImage(url, callback) {
- // 灏忕▼搴忔病鏈塪ocument锛屽彧鑳藉湪椤甸潰涓缓涓�涓猚anvas锛岀劧鍚庡湪鎴愬姛鏃剁粰浠栭殣钘忋��
- // this.flag = false
- // 杩欎釜鍑芥暟鏄彲浠ユ嬁鍒板浘鐗囩殑涓�浜涗俊鎭紝瀹介珮绛�
- uni.getImageInfo({
- // 鍒濆鍖杙hotoIndex=0锛屾嬁鍒扮涓�寮犲浘鐗囷紝骞舵坊鍔犳按鍗�
- src: url,
- success: res => {
- console.log(res);
- // 璁剧疆鐢诲竷楂樺害鍜屽搴�
- this.canvasWidth = res.width
- this.canvasHeight = res.height
-
- //鑾峰彇褰撳墠鏃堕棿
- // let roleNameInfo = date(new Date(), 'long') + '\n' + this.from.data.address
- let timestamp = new Date().getTime()
- // uni.$u.timeFormat(timestamp, 'yyyy-mm-dd hh:MM:ss')
- let timeInfo = uni.$u.timeFormat(timestamp, 'yyyy-mm-dd hh:MM:ss')
- let address =`${this.address.province} ${this.address.city} ${this.address.district} ${this.address.street_number || this.address.street}`
- var ctx = uni.createCanvasContext('imgId', this)
- ctx.drawImage(url, 0, 0, res.width, res.height)
- // 涓哄浘鐗囨坊鍔犳按鍗�
- ctx.setFontSize(30) //姘村嵃瀛椾綋澶у皬
- ctx.setFillStyle('white') //姘村嵃棰滆壊
- // 姘村嵃浣嶇疆
- ctx.fillText(timeInfo, 60, res.height - 100)
- ctx.fillText(address, 60, res.height - 60)
- // 寮�濮嬬粯鍒舵坊鍔犳按鍗扮殑鍥剧墖骞舵樉绀哄湪椤甸潰涓�
- ctx.draw(false, () => {
- setTimeout(() => {
- //鎶婂綋鍓嶇敾甯冩寚瀹氬尯鍩熺殑鍐呭瀵煎嚭鐢熸垚鎸囧畾澶у皬鐨勫浘鐗囷紝骞惰繑鍥炴枃浠惰矾寰勩�傚湪鑷畾涔夌粍浠朵笅锛岀浜屼釜鍙傛暟浼犲叆鑷畾涔夌粍浠跺疄渚嬶紝浠ユ搷浣滅粍浠跺唴 <canvas> 缁勪欢銆�
- // 杩欓噷涓昏涓轰簡鎷垮埌璺緞
- uni.canvasToTempFilePath({
- canvasId: 'imgId',
- // 璁剧疆杈撳嚭鐨勫浘鐗囩殑瀹藉害楂樺害锛屼細鍔犲揩杈撳嚭鍥剧墖鏃堕棿
- destWidth: res.width,
- destHeight: res.height,
- fileType: 'jpg', //jpg涓轰簡鍘嬬缉
- quality: 0.8, //鍥剧墖鐨勮川閲�
- success: res => {
- // 杩斿洖鏈夋按鍗扮殑鍥剧墖
- callback(res.tempFilePath)
- },
- fail: err => {
- uni.hideLoading()
- }
- })
- }, 500)
- })
- },
- fail: err => {
- console.log('err')
- }
- })
- },
- // 鍒犻櫎鍥剧墖
- deletePic(event) {
- this[`fileList${event.name}`].splice(event.index, 1)
- },
- // 鏂板鍥剧墖
- async afterRead(event) {
- // 褰撹缃� multiple 涓� true 鏃�, file 涓烘暟缁勬牸寮忥紝鍚﹀垯涓哄璞℃牸寮�
- setTimeout(() => {
- let lists = [].concat(event.file)
- let fileListLen = this[`fileList${event.name}`].length
- lists.map((item) => {
- this[`fileList${event.name}`].push({
- ...item,
- status: 'uploading',
- message: '涓婁紶涓�'
- })
- })
- for (let i = 0; i < lists.length; i++) {
- this.getInfoImage(lists[i].url, async res => {
- const result = await this.uploadFilePromise(res)
- console.log(result);
- let item = this[`fileList${event.name}`][fileListLen]
- this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
- ...result.data,
- type: '',
- message: '',
- status: 'success',
- fileurlfull: result.data.url,
- fileurl: result.data.imgaddr
- }))
- fileListLen++
- })
- }
- }, 1500)
- },
- uploadFilePromise(url) {
-
- return new Promise((resolve, reject) => {
- let a = uni.uploadFile({
- url: `${baseUrl}/public/uploadWechat`,
- filePath: url,
- header: {
- token: this.$store.state.token,
- 'content-type': 'application/x-www-form-urlencoded;charset=utf-8',
- },
- name: 'file',
- formData: {
- folder: 'znzz/project_file'
- },
- success: (res) => {
- resolve(JSON.parse(res.data))
- uni.$u.toast('涓婁紶鎴愬姛')
- },
- fail: (err) => {
- uni.$u.toast(err)
- },
- complete: () => {
-
- }
- });
- })
- },
- confirmDate(val) {
- this.show=false
- const timeFormat = uni.$u.timeFormat
- this.serviceDate = timeFormat(val.value, 'yyyy-mm-dd')
- },
- uploadFileList() {
- uni.chooseImage({
- count: 1,
- success: res => {
- console.log(res);
- this.uploadFilePromise(res.tempFiles[0].path)
- .then(result => {
- this.fileList.push({
- ...result.data,
- name: result.data.imgname,
- type: '',
- fileurlfull: result.data.url,
- fileurl: result.data.imgaddr
- })
- })
- }
- })
- },
- uploadFileExtraList() {
- uni.chooseImage({
- count: 1,
- success: res => {
- this.uploadFilePromise(res.tempFiles[0].path)
- .then(result => {
- this.fileExtraList.push({
- ...result.data,
- name: result.data.imgname,
- type: '',
- fileurlfull: result.data.url,
- fileurl: result.data.imgaddr
- })
- })
- }
- })
- },
- submit(status) {
- if (status) {
- if (!this.fileList2.length) {
- uni.$u.toast('鑷冲皯涓婁紶鐜板満鐓х墖')
- return
- }
- if (!this.fileList.length) {
- uni.$u.toast('璇蜂笂鏍告煡璧勬枡')
- return
- }
- // if (!this.serviceDate) {
- // uni.$u.toast('璇蜂笂閫夋嫨鏈嶅姟鏃堕棿')
- // }
- }
- uploadHCData({
- status,
- type: 1,
- declareId: this.declareId,
- hcSceneFileList: this.fileList2,
- content: this.content,
- serviceDate: this.serviceDate + ' 00:00:00',
- fileList: this.fileList,
- fileExtraList: this.fileExtraList
- })
- .then(() => {
- uni.$u.toast(status?'鎻愪氦鎴愬姛':'淇濆瓨鎴愬姛')
- uni.$emit("success")
- uni.navigateBack()
- })
- .catch(err => {
-
- })
- }
- }
- }
-</script>
-
-<style lang="scss">
- .content {
- font-weight: 400;
-
- .count-title {
- height: 42rpx;
- line-height: 42rpx;
- }
- .file-style {
- color: #216EEE;
- min-width: 0;
- min-height: 0;
- word-wrap: break-word;
- }
- .delet-btn {
- width: 60rpx;
- flex-shrink: 0;
- }
- .uploadImage {
- width: 196rpx;
- height: 152rpx;
- }
- .upload-btn {
- width: 184rpx;
- }
- .must::after {
- content: ' *';
- color: #F98107;
- font-size: 28rpx;
- font-weight: 400;
- height: 40rpx;
- line-height: 40rpx;
- }
- }
-
- .save-btn {
- width: 224rpx;
- }
-
- .submit-btn {
- width: 446rpx;
- }
-</style>
diff --git a/minipro_standard/pages/uploadServiceData/uploadServiceData.vue b/minipro_standard/pages/uploadServiceData/uploadServiceData.vue
deleted file mode 100644
index d75e0f9..0000000
--- a/minipro_standard/pages/uploadServiceData/uploadServiceData.vue
+++ /dev/null
@@ -1,477 +0,0 @@
-<template>
- <view class="content p30">
- <view class="c2 f30 count-title">姝e湪杩涜绗瑊{upServerCount + 1}}娆℃湇鍔�</view>
- <view class="bg_w p30 mt20 rd8">
- <view class="">
- <view class="c2 f28 mb10 must">杩涘満鍚堝奖</view>
- <view class="c9 f26 mb30">鎷嶆憚涓�寮犵収鐗囷紝椤讳綋鐜颁紒涓歭ogo鍜屾湇鍔℃満鏋勪汉鍛樸�佷笓瀹剁瓑鍏ㄤ綋杩涘満浜哄憳</view>
- <u-upload
- :fileList="fileList1"
- @afterRead="afterRead"
- @delete="deletePic"
- :sizeType="['compressed']"
- :previewFullImage="true"
- :capture="['camera']"
- width="196rpx" height="152rpx" name="1" :multiple="false" maxCount="1">
- <image src="../../static/ic_uploadimg@2x.png" mode="widthFix" class="uploadImage"></image>
- </u-upload>
- </view>
- <view class="mt30 mb30">
- <view class="c2 f28 mb10 must">杩囩▼鐓х墖</view>
- <view class="c9 f26 mb30">鎷嶆憚2寮犱互涓婄収鐗囷紝椤讳綋鐜版湇鍔℃満鏋勪汉鍛樸�佷笓瀹跺拰鏈嶅姟鍦烘墍锛屽彲浠ユ槸杞﹂棿鎴栦細璁</view>
- <u-upload
- :fileList="fileList2"
- @afterRead="afterRead"
- @delete="deletePic"
- :sizeType="['compressed']"
- :previewFullImage="true"
- :capture="['camera']"
- width="196rpx"
- height="152rpx"
- name="2"
- >
- <image src="../../static/ic_uploadimg@2x.png" mode="widthFix" class="uploadImage"></image>
- </u-upload>
- </view>
- <u-line color="#e5e5e5"></u-line>
- <view class="mt30 mb30">
- <view class="c2 f28 mb10 must">鍑哄満鍚堝奖</view>
- <view class="c9 f26 mb30">鎷嶆憚涓�寮犵収鐗囷紝椤讳綋鐜颁紒涓歭ogo鍜屾湇鍔℃満鏋勪汉鍛樸�佷笓瀹剁瓑鍏ㄤ綋杩涘満浜哄憳</view>
- <u-upload
- :fileList="fileList3"
- @afterRead="afterRead"
- @delete="deletePic"
- :sizeType="['compressed']"
- :previewFullImage="true"
- width="196rpx"
- height="152rpx"
- name="3"
- :multiple="false"
- maxCount="1"
- :capture="['camera']"
- >
- <image src="../../static/ic_uploadimg@2x.png" mode="widthFix" class="uploadImage"></image>
- </u-upload>
- </view>
- <u-line color="#e5e5e5"></u-line>
- <view class="mt30 mb30">
- <view class="c2 f28 mb10 must">鏈嶅姟璧勬枡</view>
- <view class="c9 f26 mb30">鏈嶅姟杩囩▼璇佹槑璧勬枡鍖呮嫭绛惧埌琛ㄣ�佷細璁邯瑕�</view>
- <view class="upload-btn ">
- <u-button color="#216EEE" text="鐐瑰嚮涓婁紶" plain @click="uploadFileList"></u-button>
- </view>
- <view class="mt30 bX f28" v-for="(item, index) in fileList">
- <view class="mc fx1 file-style">{{item.name}}</view>
- <view class="wc delet-btn ml15" @click="fileList.splice(index, 1)">鍒犻櫎</view>
- </view>
- </view>
- <u-line color="#e5e5e5"></u-line>
- <view class="mt30 mb30" v-if="upServerCount!=0">
- <view class="c2 f28 mb10">琛ュ厖璧勬枡</view>
- <view class="c9 f26 mb30">鏈嶅姟杩囩▼璇佹槑璧勬枡鍖呮嫭绛惧埌琛ㄣ�佷細璁邯瑕�</view>
- <view class="upload-btn ">
- <u-button color="#216EEE" text="鐐瑰嚮涓婁紶" plain @click="uploadFileExtraList"></u-button>
- </view>
- <view class="mt30 bX f28" v-for="(item, index) in fileExtraList">
- <view class="fx1 file-style">{{item.name}}</view>
- <view class="wc delet-btn ml15" @click="fileExtraList.splice(index, 1)">鍒犻櫎</view>
- </view>
- </view>
- <u-line color="#e5e5e5"></u-line>
- <view class="mt30 mb30">
- <view class="c2 f28 mb10">鏈嶅姟鏃堕棿</view>
- <view class="bX">
- <view class="fx1 c3 f30">{{ serviceDate || '涓婁紶鍏ュ満鐓х墖鍚庝細鑷姩鏇存柊' }}</view>
- <!-- <u-icon name="arrow-right" color="#666" size="18"></u-icon> -->
- </view>
- <!-- <u-datetime-picker
- ref="datetimePicker"
- :show="show"
- :formatter="formatter"
- v-model="date"
- mode="date"
- @confirm="confirmDate"
- @cancel="show=false"
- ></u-datetime-picker> -->
- </view>
- <u-line color="#e5e5e5"></u-line>
- <view class="mt30 mb30">
- <view class="c2 f28 mb10">鏈嶅姟璇存槑</view>
- <u--textarea v-model="content" border="none" placeholder="璇疯緭鍏ユ湇鍔¤鏄�" ></u--textarea>
- </view>
- </view>
-
- <!-- 搴曢儴澶勭悊 -->
- <view class="pt30">
- <view class="ptb15">
- <u-button color="#216EEE00"></u-button>
- </view>
- <u-safe-bottom></u-safe-bottom>
- </view>
- <view class="fixedBottom bg_w" style="z-index: 9999;">
- <view class="plr30 ptb15 bX">
- <view class="save-btn">
- <u-button color="#216EEE" text="淇濆瓨" plain @click="submit(0)"></u-button>
- </view>
- <view class="submit-btn">
- <u-button color="#216EEE" text="鎻愪氦" type="primary" @click="submit(1)"></u-button>
- </view>
- </view>
- <u-safe-bottom></u-safe-bottom>
- </view>
- <canvas :style="{
- position: 'fixed',
- width: canvasWidth + 'px',
- height: canvasHeight + 'px',
- bottom: -canvasHeight - 150 + 'px',
- right: -canvasWidth - 300 + 'px'
- }" canvas-id="imgId"></canvas>
- <!--
-
- -->
- </view>
-</template>
-
-<script>
- import { baseUrl } from '@/common/config'
- import { getAddrByLatAndLng, declareService, uploadHCData } from '@/util/api/index.js'
- export default {
- data() {
- return {
- date: '',
- declareId: '',
- fileList1: [],
- fileList2: [],
- fileList3: [],
- fileList: [],
- fileExtraList: [],
- serviceDate: '',
- content: '',
- id: '',
- show: false,
- upServerCount: 1,
- canvasWidth: '',
- canvasHeight: '',
- address:{}
- };
- },
- onLoad({declareId, upServerCount}) {
-
- // let timestamp = new Date().getTime()
- // console.log(uni.$u.timeFormat(timestamp, 'yyyy-mm-dd hh:MM:ss'));
- this.declareId = declareId
- this.upServerCount = +upServerCount
- declareService({ id:declareId, type:0 })
- .then(res => {
- if (res && res.status==0) {
- this.fileList = res.fileList || []
- this.fileExtraList = res.fileExtraList
- if (res.upEnterFile) {
- this.fileList1 = [{
- ...res.upEnterFile,
- url: res.upEnterFile.fileurlfull
- }]
- }
- res.upProcessFileList.forEach(item => {
- this.fileList2.push({
- ...item,
- url: item.fileurlfull
- })
- })
- if (res.upOutFile) {
- this.fileList3 = [{
- ...res.upOutFile,
- url: res.upOutFile.fileurlfull
- }]
- }
- this.serviceDate = res.serviceDate ? res.serviceDate.substring(0, res.serviceDate.length - 9) : ''
- this.content = res.content
- this.id = res.id
- }
- })
- .catch(err => {
-
- })
- uni.getLocation({
- geocode: true,
- success: ({latitude, longitude}) => {
- getAddrByLatAndLng({latitude, longitude})
- .then(res => {
- this.address = res
- })
- .then(err => {})
- },
- fail: (err) => {
- console.log(err);
- }
- })
- },
- // onReady() {
- // this.$refs.datetimePicker.setFormatter(this.formatter)
- // },
- methods: {
- formatter(type, value) {
- if (type === 'year') {
- return `${value}骞碻
- }
- if (type === 'month') {
- return `${value}鏈坄
- }
- if (type === 'day') {
- return `${value}鏃
- }
- return value
- },
- getInfoImage(url, callback) {
- // 灏忕▼搴忔病鏈塪ocument锛屽彧鑳藉湪椤甸潰涓缓涓�涓猚anvas锛岀劧鍚庡湪鎴愬姛鏃剁粰浠栭殣钘忋��
- // this.flag = false
- // 杩欎釜鍑芥暟鏄彲浠ユ嬁鍒板浘鐗囩殑涓�浜涗俊鎭紝瀹介珮绛�
- uni.getImageInfo({
- // 鍒濆鍖杙hotoIndex=0锛屾嬁鍒扮涓�寮犲浘鐗囷紝骞舵坊鍔犳按鍗�
- src: url,
- success: res => {
- // // 璁剧疆鐢诲竷楂樺害鍜屽搴�
- this.canvasWidth = res.width
- this.canvasHeight = res.height
- //鑾峰彇褰撳墠鏃堕棿
- // let roleNameInfo = date(new Date(), 'long') + '\n' + this.from.data.address
- let timestamp = new Date().getTime()
- // uni.$u.timeFormat(timestamp, 'yyyy-mm-dd hh:MM:ss')
- let timeInfo = uni.$u.timeFormat(timestamp, 'yyyy-mm-dd hh:MM:ss')
- let address =`${this.address.province} ${this.address.city} ${this.address.district} ${this.address.street_number || this.address.street}`
- var ctx = uni.createCanvasContext('imgId', this)
- ctx.drawImage(url, 0, 0, res.width, res.height)
- // 涓哄浘鐗囨坊鍔犳按鍗�
- ctx.setFontSize(30) //姘村嵃瀛椾綋澶у皬
- ctx.setFillStyle('white') //姘村嵃棰滆壊
- // 姘村嵃浣嶇疆
- ctx.fillText(timeInfo, 30, res.height - 100)
- ctx.fillText(address, 30, res.height - 60)
- // 寮�濮嬬粯鍒舵坊鍔犳按鍗扮殑鍥剧墖骞舵樉绀哄湪椤甸潰涓�
- ctx.draw(false, () => {
- setTimeout(() => {
- //鎶婂綋鍓嶇敾甯冩寚瀹氬尯鍩熺殑鍐呭瀵煎嚭鐢熸垚鎸囧畾澶у皬鐨勫浘鐗囷紝骞惰繑鍥炴枃浠惰矾寰勩�傚湪鑷畾涔夌粍浠朵笅锛岀浜屼釜鍙傛暟浼犲叆鑷畾涔夌粍浠跺疄渚嬶紝浠ユ搷浣滅粍浠跺唴 <canvas> 缁勪欢銆�
- // 杩欓噷涓昏涓轰簡鎷垮埌璺緞
- uni.canvasToTempFilePath({
- canvasId: 'imgId',
- // 璁剧疆杈撳嚭鐨勫浘鐗囩殑瀹藉害楂樺害锛屼細鍔犲揩杈撳嚭鍥剧墖鏃堕棿
- destWidth: res.width,
- destHeight: res.height,
- fileType: 'jpg', //jpg涓轰簡鍘嬬缉
- quality: 0.8, //鍥剧墖鐨勮川閲�
- success: result => {
- // 杩斿洖鏈夋按鍗扮殑鍥剧墖
- callback(result.tempFilePath)
- },
- fail: err => {
- console.log('缁樺埗鎶ラ敊', err);
- }
- })
- }, 500)
- })
- }
- })
- },
- // 鍒犻櫎鍥剧墖
- deletePic(event) {
- this[`fileList${event.name}`].splice(event.index, 1)
- },
- // 鏂板鍥剧墖
- async afterRead(event) {
- // 褰撹缃� multiple 涓� true 鏃�, file 涓烘暟缁勬牸寮忥紝鍚﹀垯涓哄璞℃牸寮�
-
- setTimeout(()=> {
- let lists = [].concat(event.file)
- let fileListLen = this[`fileList${event.name}`].length
- lists.map((item) => {
- this[`fileList${event.name}`].push({
- ...item,
- status: 'uploading',
- message: '涓婁紶涓�'
- })
- })
-
- for (let i = 0; i < lists.length; i++) {
- this.getInfoImage(lists[i].url, async res => {
- const result = await this.uploadFilePromise(res)
- let item = this[`fileList${event.name}`][fileListLen]
- this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
- status: 'success',
- message: '',
- ...result.data,
- type: '',
- fileurlfull: result.data.url,
- fileurl: result.data.imgaddr
- }))
- if (event.name==1) {
- this.submit(0, false)
- }
- fileListLen++
- })
- }
- }, 1500)
- },
- uploadFilePromise(path) {
- return new Promise((resolve, reject) => {
- let a = uni.uploadFile({
- url: `${baseUrl}/public/uploadWechat`,
- filePath: path,
- header: {
- token: this.$store.state.token,
- 'content-type': 'application/x-www-form-urlencoded;charset=utf-8',
- },
- name: 'file',
- formData: {
- folder: 'znzz/project_file'
- },
- success: (res) => {
- resolve(JSON.parse(res.data))
- uni.$u.toast('涓婁紶鎴愬姛')
- },
- fail: (err) => {
- uni.$u.toast(err)
- },
- complete: () => {
-
- }
- });
- })
- },
- confirmDate(val) {
- this.show=false
-
- const timeFormat = uni.$u.timeFormat
- this.serviceDate = timeFormat(val.value, 'yyyy-mm-dd')
- },
- uploadFileList() {
- // console.log('uploadFileList');
- uni.chooseImage({
- count: 1,
- success: res => {
- // console.log(res);
- this.uploadFilePromise(res.tempFiles[0].path)
- .then(result => {
- this.fileList.push({
- ...result.data,
- name: result.data.imgname,
- type: '',
- fileurlfull: result.data.url,
- fileurl: result.data.imgaddr
- })
- })
- }
- })
- },
- uploadFileExtraList() {
- // console.log('uploadFileExtraList');
- uni.chooseImage({
- count: 1,
- success: res => {
- this.uploadFilePromise(res.tempFiles[0].path)
- .then(result => {
- this.fileExtraList.push({
- ...result.data,
- name: result.data.imgname,
- type: '',
- fileurlfull: result.data.url,
- fileurl: result.data.imgaddr
- })
- })
- }
- })
- },
- submit(status, isBtnAction=true) {
- if (status) {
- if (!this.fileList1.length) {
- uni.$u.toast('璇蜂笂浼犺繘鍦虹収鐗�')
- return
- }
- if (this.fileList2.length<2) {
- uni.$u.toast('鑷冲皯涓婁紶2寮犳湇鍔¤繃绋嬬収鐗�')
- return
- }
- if (!this.fileList3.length) {
- uni.$u.toast('璇蜂笂浼犲嚭鍦虹収鐗�')
- return
- }
- if (!this.fileList.length) {
- uni.$u.toast('璇蜂笂鏈嶅姟璧勬枡')
- return
- }
- // if (!this.serviceDate) {
- // uni.$u.toast('璇蜂笂閫夋嫨鏈嶅姟鏃堕棿')
- // return
- // }
- }
- let data ={
- status,
- type: 0,
- declareId: this.declareId,
- upOutFile: this.fileList3.length ? this.fileList3[0] : {},
- upProcessFileList: this.fileList2,
- content: this.content,
- fileList: this.fileList,
- fileExtraList: this.fileExtraList
- }
- if (!isBtnAction) {
- data.upEnterFile = this.fileList1.length ? this.fileList1[0] : {}
- }
- uploadHCData(data)
- .then(() => {
- uni.$u.toast(status?'鎻愪氦鎴愬姛':'淇濆瓨鎴愬姛')
- uni.$emit("success")
- if (isBtnAction) {
- uni.navigateBack()
- }
- })
- .catch(err => {
-
- })
- }
- }
- }
-</script>
-
-<style lang="scss">
- .content {
- font-weight: 400;
-
- .count-title {
- height: 42rpx;
- line-height: 42rpx;
- }
- .file-style {
- color: #216EEE;
- min-width: 0;
- min-height: 0;
- word-wrap: break-word;
- }
- .delet-btn {
- width: 60rpx;
- flex-shrink: 0;
- }
- .uploadImage {
- width: 196rpx;
- height: 152rpx;
- }
- .upload-btn {
- width: 184rpx;
- }
- .must::after {
- content: ' *';
- color: #F98107;
- font-size: 28rpx;
- font-weight: 400;
- height: 40rpx;
- line-height: 40rpx;
- }
- }
-
- .save-btn {
- width: 224rpx;
- }
-
- .submit-btn {
- width: 446rpx;
- }
-</style>
diff --git a/minipro_standard/pages/workbench/workbench.vue b/minipro_standard/pages/workbench/workbench.vue
new file mode 100644
index 0000000..8d77569
--- /dev/null
+++ b/minipro_standard/pages/workbench/workbench.vue
@@ -0,0 +1,55 @@
+<template>
+ <view>
+
+ <myTabbar :index="1" />
+ </view>
+</template>
+
+<script>
+ import myTabbar from "@/components/myTabber.vue"
+
+ export default {
+ components: {
+ myTabbar
+ },
+ data() {
+ return {
+
+ };
+ },
+ onLoad() {
+ uni.hideTabBar()
+ // uni.login({
+ // success: data => {
+ // this.wxLogin(data.code)
+ // },
+ // fail: err => {
+ // uni.$u.toast(err)
+ // }
+ // })
+ },
+ methods: {
+
+ // wxLogin(code) {
+ // wxEmpower({code})
+ // .then(res => {
+ // this.openId = res.openid
+ // if (res.userInfo) {
+ // this.$store.commit('SETTOKEN', res.userInfo.token)
+ // this.$store.commit('SETUSERINFO', res.userInfo)
+ // uni.navigateTo({
+ // url:'/pages/projectList/projectList'
+ // })
+ // }
+ // })
+ // .catch(err => {
+ // uni.$u.toast(err)
+ // })
+ // }
+ }
+ }
+</script>
+
+<style lang="scss">
+
+</style>
diff --git a/minipro_standard/static/2@2x.png b/minipro_standard/static/2@2x.png
new file mode 100644
index 0000000..03139c5
--- /dev/null
+++ b/minipro_standard/static/2@2x.png
Binary files differ
diff --git a/minipro_standard/static/3@2x.png b/minipro_standard/static/3@2x.png
new file mode 100644
index 0000000..b05e596
--- /dev/null
+++ b/minipro_standard/static/3@2x.png
Binary files differ
diff --git a/minipro_standard/static/@2x.png b/minipro_standard/static/@2x.png
new file mode 100644
index 0000000..323cb0b
--- /dev/null
+++ b/minipro_standard/static/@2x.png
Binary files differ
diff --git a/minipro_standard/static/ar_black@2x.png b/minipro_standard/static/ar_black@2x.png
new file mode 100644
index 0000000..7322e47
--- /dev/null
+++ b/minipro_standard/static/ar_black@2x.png
Binary files differ
diff --git a/minipro_standard/static/back.png b/minipro_standard/static/back.png
new file mode 100644
index 0000000..fa5c5eb
--- /dev/null
+++ b/minipro_standard/static/back.png
Binary files differ
diff --git a/minipro_standard/static/btn_saoma@2x.png b/minipro_standard/static/btn_saoma@2x.png
new file mode 100644
index 0000000..f60bd72
--- /dev/null
+++ b/minipro_standard/static/btn_saoma@2x.png
Binary files differ
diff --git a/minipro_standard/static/btn_upload@2x.png b/minipro_standard/static/btn_upload@2x.png
new file mode 100644
index 0000000..b1abc64
--- /dev/null
+++ b/minipro_standard/static/btn_upload@2x.png
Binary files differ
diff --git a/minipro_standard/static/btn_xinzeng@2x.png b/minipro_standard/static/btn_xinzeng@2x.png
new file mode 100644
index 0000000..1696c1a
--- /dev/null
+++ b/minipro_standard/static/btn_xinzeng@2x.png
Binary files differ
diff --git a/minipro_standard/static/chuku_ic_cangku@2x.png b/minipro_standard/static/chuku_ic_cangku@2x.png
new file mode 100644
index 0000000..0d75f47
--- /dev/null
+++ b/minipro_standard/static/chuku_ic_cangku@2x.png
Binary files differ
diff --git a/minipro_standard/static/chuku_ic_delete@2x.png b/minipro_standard/static/chuku_ic_delete@2x.png
new file mode 100644
index 0000000..1aa7415
--- /dev/null
+++ b/minipro_standard/static/chuku_ic_delete@2x.png
Binary files differ
diff --git a/minipro_standard/static/daiban_btn_saoma@2x.png b/minipro_standard/static/daiban_btn_saoma@2x.png
new file mode 100644
index 0000000..ac1ff2b
--- /dev/null
+++ b/minipro_standard/static/daiban_btn_saoma@2x.png
Binary files differ
diff --git a/minipro_standard/static/daiban_ic_daiban@2x.png b/minipro_standard/static/daiban_ic_daiban@2x.png
new file mode 100644
index 0000000..ca9ecf9
--- /dev/null
+++ b/minipro_standard/static/daiban_ic_daiban@2x.png
Binary files differ
diff --git a/minipro_standard/static/daiban_ic_xiaoxi@2x.png b/minipro_standard/static/daiban_ic_xiaoxi@2x.png
new file mode 100644
index 0000000..f19fd50
--- /dev/null
+++ b/minipro_standard/static/daiban_ic_xiaoxi@2x.png
Binary files differ
diff --git a/minipro_standard/static/default_404@2x.png b/minipro_standard/static/default_404@2x.png
new file mode 100644
index 0000000..f4d966a
--- /dev/null
+++ b/minipro_standard/static/default_404@2x.png
Binary files differ
diff --git a/minipro_standard/static/default_loginfailed@2x.png b/minipro_standard/static/default_loginfailed@2x.png
new file mode 100644
index 0000000..7faac9b
--- /dev/null
+++ b/minipro_standard/static/default_loginfailed@2x.png
Binary files differ
diff --git a/minipro_standard/static/default_weishouquan@2x.png b/minipro_standard/static/default_weishouquan@2x.png
new file mode 100644
index 0000000..d92c78d
--- /dev/null
+++ b/minipro_standard/static/default_weishouquan@2x.png
Binary files differ
diff --git a/minipro_standard/static/diantong_open@2x.png b/minipro_standard/static/diantong_open@2x.png
new file mode 100644
index 0000000..a69a1da
--- /dev/null
+++ b/minipro_standard/static/diantong_open@2x.png
Binary files differ
diff --git a/minipro_standard/static/gon1gdan_ic_saoma@2x.png b/minipro_standard/static/gon1gdan_ic_saoma@2x.png
new file mode 100644
index 0000000..8d64a09
--- /dev/null
+++ b/minipro_standard/static/gon1gdan_ic_saoma@2x.png
Binary files differ
diff --git a/minipro_standard/static/gongdan_ic_saoma@2x.png b/minipro_standard/static/gongdan_ic_saoma@2x.png
new file mode 100644
index 0000000..8d64a09
--- /dev/null
+++ b/minipro_standard/static/gongdan_ic_saoma@2x.png
Binary files differ
diff --git a/minipro_standard/static/gongdan_ic_shoudong@2x.png b/minipro_standard/static/gongdan_ic_shoudong@2x.png
new file mode 100644
index 0000000..c4f8fb8
--- /dev/null
+++ b/minipro_standard/static/gongdan_ic_shoudong@2x.png
Binary files differ
diff --git a/minipro_standard/static/ic_ar@2x.png b/minipro_standard/static/ic_ar@2x.png
new file mode 100644
index 0000000..043e5b6
--- /dev/null
+++ b/minipro_standard/static/ic_ar@2x.png
Binary files differ
diff --git a/minipro_standard/static/ic_close@2x.png b/minipro_standard/static/ic_close@2x.png
new file mode 100644
index 0000000..29468f1
--- /dev/null
+++ b/minipro_standard/static/ic_close@2x.png
Binary files differ
diff --git a/minipro_standard/static/ic_delete@2x.png b/minipro_standard/static/ic_delete@2x.png
new file mode 100644
index 0000000..0138338
--- /dev/null
+++ b/minipro_standard/static/ic_delete@2x.png
Binary files differ
diff --git a/minipro_standard/static/ic_notpass@2x.png b/minipro_standard/static/ic_notpass@2x.png
new file mode 100644
index 0000000..e43b14c
--- /dev/null
+++ b/minipro_standard/static/ic_notpass@2x.png
Binary files differ
diff --git a/minipro_standard/static/ic_pass@2x.png b/minipro_standard/static/ic_pass@2x.png
new file mode 100644
index 0000000..4844768
--- /dev/null
+++ b/minipro_standard/static/ic_pass@2x.png
Binary files differ
diff --git a/minipro_standard/static/ic_pdf@2x.png b/minipro_standard/static/ic_pdf@2x.png
new file mode 100644
index 0000000..bac700a
--- /dev/null
+++ b/minipro_standard/static/ic_pdf@2x.png
Binary files differ
diff --git a/minipro_standard/static/ic_play@2x.png b/minipro_standard/static/ic_play@2x.png
new file mode 100644
index 0000000..3965d00
--- /dev/null
+++ b/minipro_standard/static/ic_play@2x.png
Binary files differ
diff --git a/minipro_standard/static/ic_saomiao@2x.png b/minipro_standard/static/ic_saomiao@2x.png
new file mode 100644
index 0000000..b81dd16
--- /dev/null
+++ b/minipro_standard/static/ic_saomiao@2x.png
Binary files differ
diff --git a/minipro_standard/static/ic_search@2x.png b/minipro_standard/static/ic_search@2x.png
new file mode 100644
index 0000000..53ff2e1
--- /dev/null
+++ b/minipro_standard/static/ic_search@2x.png
Binary files differ
diff --git a/minipro_standard/static/ic_shenhe@2x.png b/minipro_standard/static/ic_shenhe@2x.png
new file mode 100644
index 0000000..dc27cbd
--- /dev/null
+++ b/minipro_standard/static/ic_shenhe@2x.png
Binary files differ
diff --git a/minipro_standard/static/jianyan_ic_saoma@2x.png b/minipro_standard/static/jianyan_ic_saoma@2x.png
new file mode 100644
index 0000000..28a46a6
--- /dev/null
+++ b/minipro_standard/static/jianyan_ic_saoma@2x.png
Binary files differ
diff --git a/minipro_standard/static/loginError.png b/minipro_standard/static/loginError.png
new file mode 100644
index 0000000..31eed74
--- /dev/null
+++ b/minipro_standard/static/loginError.png
Binary files differ
diff --git a/minipro_standard/static/login_bg@2x.png b/minipro_standard/static/login_bg@2x.png
new file mode 100644
index 0000000..684b9da
--- /dev/null
+++ b/minipro_standard/static/login_bg@2x.png
Binary files differ
diff --git a/minipro_standard/static/login_ic_code@2x.png b/minipro_standard/static/login_ic_code@2x.png
new file mode 100644
index 0000000..ad8838b
--- /dev/null
+++ b/minipro_standard/static/login_ic_code@2x.png
Binary files differ
diff --git a/minipro_standard/static/login_ic_password@2x.png b/minipro_standard/static/login_ic_password@2x.png
new file mode 100644
index 0000000..ea41beb
--- /dev/null
+++ b/minipro_standard/static/login_ic_password@2x.png
Binary files differ
diff --git a/minipro_standard/static/login_ic_phone@2x.png b/minipro_standard/static/login_ic_phone@2x.png
new file mode 100644
index 0000000..b89a086
--- /dev/null
+++ b/minipro_standard/static/login_ic_phone@2x.png
Binary files differ
diff --git a/minipro_standard/static/logo@2x.png b/minipro_standard/static/logo@2x.png
new file mode 100644
index 0000000..6840a3b
--- /dev/null
+++ b/minipro_standard/static/logo@2x.png
Binary files differ
diff --git a/minipro_standard/static/mine_bg@2x.png b/minipro_standard/static/mine_bg@2x.png
new file mode 100644
index 0000000..bc2b747
--- /dev/null
+++ b/minipro_standard/static/mine_bg@2x.png
Binary files differ
diff --git a/minipro_standard/static/mine_ic_bangding@2x.png b/minipro_standard/static/mine_ic_bangding@2x.png
new file mode 100644
index 0000000..b129d18
--- /dev/null
+++ b/minipro_standard/static/mine_ic_bangding@2x.png
Binary files differ
diff --git a/minipro_standard/static/mine_ic_change@2x.png b/minipro_standard/static/mine_ic_change@2x.png
new file mode 100644
index 0000000..faeb7ce
--- /dev/null
+++ b/minipro_standard/static/mine_ic_change@2x.png
Binary files differ
diff --git a/minipro_standard/static/mine_ic_gerenxinxi@2x.png b/minipro_standard/static/mine_ic_gerenxinxi@2x.png
new file mode 100644
index 0000000..ee2cd5d
--- /dev/null
+++ b/minipro_standard/static/mine_ic_gerenxinxi@2x.png
Binary files differ
diff --git a/minipro_standard/static/mine_ic_shoujihao@2x.png b/minipro_standard/static/mine_ic_shoujihao@2x.png
new file mode 100644
index 0000000..9729d04
--- /dev/null
+++ b/minipro_standard/static/mine_ic_shoujihao@2x.png
Binary files differ
diff --git a/minipro_standard/static/mine_ic_xitonggonggao@2x.png b/minipro_standard/static/mine_ic_xitonggonggao@2x.png
new file mode 100644
index 0000000..11273c6
--- /dev/null
+++ b/minipro_standard/static/mine_ic_xitonggonggao@2x.png
Binary files differ
diff --git a/minipro_standard/static/mine_ic_xiugaimima@2x.png b/minipro_standard/static/mine_ic_xiugaimima@2x.png
new file mode 100644
index 0000000..98fcd79
--- /dev/null
+++ b/minipro_standard/static/mine_ic_xiugaimima@2x.png
Binary files differ
diff --git a/minipro_standard/static/mine_ic_youxianghao@2x.png b/minipro_standard/static/mine_ic_youxianghao@2x.png
new file mode 100644
index 0000000..d69ee06
--- /dev/null
+++ b/minipro_standard/static/mine_ic_youxianghao@2x.png
Binary files differ
diff --git a/minipro_standard/static/nav_daiban@2x.png b/minipro_standard/static/nav_daiban@2x.png
new file mode 100644
index 0000000..1929df9
--- /dev/null
+++ b/minipro_standard/static/nav_daiban@2x.png
Binary files differ
diff --git a/minipro_standard/static/nav_daiban_sel@2x.png b/minipro_standard/static/nav_daiban_sel@2x.png
new file mode 100644
index 0000000..7d71a51
--- /dev/null
+++ b/minipro_standard/static/nav_daiban_sel@2x.png
Binary files differ
diff --git a/minipro_standard/static/nav_gongzuotai@2x.png b/minipro_standard/static/nav_gongzuotai@2x.png
new file mode 100644
index 0000000..07c2d52
--- /dev/null
+++ b/minipro_standard/static/nav_gongzuotai@2x.png
Binary files differ
diff --git a/minipro_standard/static/nav_gongzuotai_sel@2x.png b/minipro_standard/static/nav_gongzuotai_sel@2x.png
new file mode 100644
index 0000000..08eae8b
--- /dev/null
+++ b/minipro_standard/static/nav_gongzuotai_sel@2x.png
Binary files differ
diff --git a/minipro_standard/static/nav_ic_back@2x.png b/minipro_standard/static/nav_ic_back@2x.png
new file mode 100644
index 0000000..3c8b4d1
--- /dev/null
+++ b/minipro_standard/static/nav_ic_back@2x.png
Binary files differ
diff --git a/minipro_standard/static/nav_kanban@2x.png b/minipro_standard/static/nav_kanban@2x.png
new file mode 100644
index 0000000..8d4374c
--- /dev/null
+++ b/minipro_standard/static/nav_kanban@2x.png
Binary files differ
diff --git a/minipro_standard/static/nav_kanban_sel@2x.png b/minipro_standard/static/nav_kanban_sel@2x.png
new file mode 100644
index 0000000..9bbaef2
--- /dev/null
+++ b/minipro_standard/static/nav_kanban_sel@2x.png
Binary files differ
diff --git a/minipro_standard/static/nav_saoma@2x.png b/minipro_standard/static/nav_saoma@2x.png
new file mode 100644
index 0000000..23defa1
--- /dev/null
+++ b/minipro_standard/static/nav_saoma@2x.png
Binary files differ
diff --git a/minipro_standard/static/nav_wode@2x.png b/minipro_standard/static/nav_wode@2x.png
new file mode 100644
index 0000000..551866f
--- /dev/null
+++ b/minipro_standard/static/nav_wode@2x.png
Binary files differ
diff --git a/minipro_standard/static/nav_wode_sel@2x.png b/minipro_standard/static/nav_wode_sel@2x.png
new file mode 100644
index 0000000..14a9489
--- /dev/null
+++ b/minipro_standard/static/nav_wode_sel@2x.png
Binary files differ
diff --git a/minipro_standard/static/notfound.png b/minipro_standard/static/notfound.png
new file mode 100644
index 0000000..25b890c
--- /dev/null
+++ b/minipro_standard/static/notfound.png
Binary files differ
diff --git a/minipro_standard/static/password_ic_tip@2x.png b/minipro_standard/static/password_ic_tip@2x.png
new file mode 100644
index 0000000..0f84cee
--- /dev/null
+++ b/minipro_standard/static/password_ic_tip@2x.png
Binary files differ
diff --git a/minipro_standard/static/work_ic_guanli@2x.png b/minipro_standard/static/work_ic_guanli@2x.png
new file mode 100644
index 0000000..8a54d70
--- /dev/null
+++ b/minipro_standard/static/work_ic_guanli@2x.png
Binary files differ
diff --git a/minipro_standard/static/zhongjian_ic_delete.png b/minipro_standard/static/zhongjian_ic_delete.png
new file mode 100644
index 0000000..eb5f9de
--- /dev/null
+++ b/minipro_standard/static/zhongjian_ic_delete.png
Binary files differ
diff --git a/minipro_standard/store/index.js b/minipro_standard/store/index.js
index f73661c..0d677c6 100644
--- a/minipro_standard/store/index.js
+++ b/minipro_standard/store/index.js
@@ -1,5 +1,6 @@
import Vue from 'vue'
-import Vuex from 'vuex'
+import Vuex from 'vuex'
+import { pageCount } from '@/util/api/index.js'
Vue.use(Vuex) // vue鐨勬彃浠舵満鍒�
@@ -19,7 +20,12 @@
token: token || null,
menuButtonWidth: menuButtonWidth || '0',
statusbarHeight: statusbarHeight || '0',
- navHeight: navHeight || '0',
+ navHeight: navHeight || '0',
+ // 寰呭姙鏁伴噺
+ upcomingNum: {
+ d: 0,
+ y: 0
+ },
},
mutations: {
setHeight(state, val) {
@@ -37,6 +43,10 @@
SETUSERINFO(state, val) {
state.userInfo = val
uni.setStorageSync('userInfo', val);
+ },
+ SETNUM(state, val) {
+ state.upcomingNum.d = val.d
+ state.upcomingNum.y = val.y
}
},
actions: {
@@ -56,6 +66,12 @@
menuButtonWidth
})
},
+ async getUpcomingNum() {
+ let res = await pageCount({})
+ if (res.code === 200) {
+ content.commit('SETNUM', { d: res.data.startNum, y: res.data.endNum })
+ }
+ }
}
})
diff --git a/minipro_standard/util/api/index.js b/minipro_standard/util/api/index.js
index b92258e..9f2c82b 100644
--- a/minipro_standard/util/api/index.js
+++ b/minipro_standard/util/api/index.js
@@ -1,51 +1,18 @@
+console.log('-----------');
const http = uni.$u.http
// 鐧诲綍
export function coustomLogin(params) {
return http.get('/wechat/ordinaryLogin', {params})
}
+
// 寰俊鎺堟潈
export function wxEmpower(params) {
return http.get('/wechat/wxEmpower', {params})
}
-// 鍒嗛〉鏌ヨ椤圭洰淇℃伅
-export function projectPage(data) {
- return http.post('/wechat/project/page', data)
-}
-// 鏍规嵁椤圭洰id鍒嗛〉鏌ヨ浼佷笟鎶ュ悕鏁版嵁
-export function getPageByProjectId(data) {
- return http.post('/wechat/getPageByProjectId', data)
-}
-
-// 鏍规嵁ID鏌ヨ鎶ュ悕璇︽儏
-export function declaresDetail(id) {
- return http.get(`/wechat/declares/${id}`)
-}
-
-// 鏍规嵁ID鏌ヨ鎶ュ悕璇︽儏
-export function companyDetail(params) {
- return http.get(`/wechat/company/queryDetail`, { params })
-}
-
-
-// 鏍规嵁椤圭洰id鍒嗛〉鏌ヨ浼佷笟鎶ュ悕鏁版嵁
-export function serviceDetail(data) {
- return http.post('/wechat/declares/serviceDetail', data)
-}
-
-// 鏍规嵁缁忕含搴﹂�嗚В鏋愬湴鍧�
-export function getAddrByLatAndLng(params) {
- return http.get(`/wechat/getAddrByLatAndLng`, { params })
-}
-
-// 鏍规嵁鐢虫姤缂栫爜鏌ヨ鏈�鍚庝竴娆℃牳鏌ユ垨璇婃柇鏁版嵁
-export function declareService({id, type}) {
- return http.post(`/wechat/declareService/${id}?type=${type}`)
-}
-
-// 涓婁紶鏍告煡璧勬枡-涓婁紶鏈嶅姟璧勬枡
-export function uploadHCData(data) {
- return http.post(`/wechat/uploadHCData`, data)
+// 鏌ヨ缁熻鍒楄〃鏁伴噺
+export function pageCount(data) {
+ return http.post('/ext/noticesExt/pageCount', data)
}
// 閫�鍑虹櫥褰�
@@ -53,7 +20,3 @@
return http.get(`/wechat/logout`)
}
-// 鏍规嵁鐢虫姤id鏌ョ湅鐢虫姤杩涘害
-export function getDeclareHistoryList(data) {
- return http.post(`/wechat/getDeclareHistoryList`, data)
-}
\ No newline at end of file
diff --git a/minipro_standard/util/request/requestInterceptors.js b/minipro_standard/util/request/requestInterceptors.js
index 893fd2b..bc693ee 100644
--- a/minipro_standard/util/request/requestInterceptors.js
+++ b/minipro_standard/util/request/requestInterceptors.js
@@ -5,7 +5,8 @@
module.exports = (vm) => {
// console.log(vm)
uni.$u.http.interceptors.request.use((config) => { // 鍙娇鐢╝sync await 鍋氬紓姝ユ搷浣�
- // 鍒濆鍖栬姹傛嫤鎴櫒鏃讹紝浼氭墽琛屾鏂规硶锛屾鏃禿ata涓簎ndefined锛岃祴浜堥粯璁}
+ // 鍒濆鍖栬姹傛嫤鎴櫒鏃讹紝浼氭墽琛屾鏂规硶锛屾鏃禿ata涓簎ndefined锛岃祴浜堥粯璁}
+ console.log('璇锋眰鎷︽埅');
config.data = config.data || {}
const token = vm.$store.state.token
if (token) {
diff --git a/minipro_standard/util/request/responseInterceptors.js b/minipro_standard/util/request/responseInterceptors.js
index 67363ce..d2fe335 100644
--- a/minipro_standard/util/request/responseInterceptors.js
+++ b/minipro_standard/util/request/responseInterceptors.js
@@ -2,7 +2,6 @@
* 鍝嶅簲鎷︽埅
* @param {Object} http
*/
-import { coustomLogin, wxEmpower } from '@/util/api/index'
module.exports = (vm) => {
uni.$u.http.interceptors.response.use((response) => {
/* 瀵瑰搷搴旀垚鍔熷仛鐐逛粈涔� 鍙娇鐢╝sync await 鍋氬紓姝ユ搷浣�*/
@@ -11,10 +10,11 @@
const custom = response.config?.custom
if (data.code !== 200) { // 鏈嶅姟绔繑鍥炵殑鐘舵�佺爜涓嶇瓑浜�200锛屽垯reject()
uni.$u.toast(data.message)
- if (data.code === 5112) {
+ if (data.code === 401) {
+ // console.log('鏈櫥褰曘�佺櫥褰曞け鏁�');
// 鏈櫥褰曘�佺櫥褰曞け鏁�
uni.reLaunch({
- url: '/pages/index/index'
+ url: '/pages/login/login'
})
}
return Promise.reject(data)
diff --git a/web_standard/.env.development b/web_standard/.env.development
index 7327196..0689558 100644
--- a/web_standard/.env.development
+++ b/web_standard/.env.development
@@ -14,12 +14,15 @@
VUE_APP_API_PREFIX = ''
# 鐒︽澗
-VUE_APP_BASE_URL = 'http://192.168.0.36:10021/'
+# VUE_APP_BASE_URL = 'http://192.168.0.36:10021/'
# VUE_APP_BASE_URL = 'http://192.168.0.134:10021/'
+
+# 浠诲悍鏈湴
+VUE_APP_BASE_URL = 'http://192.168.0.15:10021/'
# 姹熻悕
# VUE_APP_BASE_URL = 'http://192.168.0.35:10021/'
# 娴嬭瘯鏈嶅姟鍣�
-# VUE_APP_BASE_URL = 'https://dmtest.ahapp.net/doumeeplant_api/'
+VUE_APP_BASE_URL = 'https://dmtest.ahapp.net/doumeeplant_api/'
diff --git a/web_standard/src/components/base/BaseTable.vue b/web_standard/src/components/base/BaseTable.vue
index 016fbda..b242c97 100644
--- a/web_standard/src/components/base/BaseTable.vue
+++ b/web_standard/src/components/base/BaseTable.vue
@@ -3,7 +3,7 @@
export default {
name: 'BaseTable',
extends: BasePage,
- data () {
+ data() {
return {
// 鎺ュ彛
api: null,
@@ -51,7 +51,7 @@
*
* @param extParams 閰嶇疆鍙傛暟
*/
- config (extParams) {
+ config(extParams) {
if (extParams == null) {
throw new Error('Parameter can not be null of method \'config\' .')
}
@@ -70,13 +70,13 @@
/**
* 鎼滅储锛堢偣鍑绘悳绱㈡寜閽椂瑙﹀彂锛�
*/
- search () {
+ search() {
this.handlePageChange(1)
},
/**
* 瀵煎嚭Excel锛堢偣鍑诲鍑烘寜閽椂瑙﹀彂锛�
*/
- exportExcel () {
+ exportExcel() {
this.__checkApi()
this.$dialog.exportConfirm('纭瀵煎嚭鍚楋紵')
.then(() => {
@@ -108,7 +108,7 @@
/**
* 閲嶇疆鎼滅储鏉′欢锛堢偣鍑婚噸缃寜閽椂瑙﹀彂锛�
*/
- reset () {
+ reset() {
this.$refs.searchForm.resetFields()
this.search()
},
@@ -117,7 +117,7 @@
*
* @param pageSize 椤靛閲�
*/
- handleSizeChange (pageSize) {
+ handleSizeChange(pageSize) {
this.tableData.pagination.pageSize = pageSize
this.search()
},
@@ -126,7 +126,7 @@
*
* @param selectedRows 宸查�変腑鐨勮鏁扮粍
*/
- handleSelectionChange (selectedRows) {
+ handleSelectionChange(selectedRows) {
this.tableData.selectedRows = selectedRows
},
/**
@@ -134,7 +134,7 @@
*
* @param sortData 鎺掑簭鍙傛暟
*/
- handleSortChange (sortData) {
+ handleSortChange(sortData) {
this.tableData.sorts = []
if (sortData.order != null) {
this.tableData.sorts.push({
@@ -149,7 +149,7 @@
*
* @param pageIndex 鏂伴〉鐮�
*/
- handlePageChange (pageIndex) {
+ handlePageChange(pageIndex) {
this.__checkApi()
this.tableData.pagination.pageIndex = pageIndex || this.tableData.pagination.pageIndex
this.isWorking.search = true
@@ -176,7 +176,7 @@
* @param row 琛屽璞�
* @param childConfirm 鍒犻櫎瀛愯妭鐐规椂鏄惁杩涜浜屾纭
*/
- deleteById (row, childConfirm = true) {
+ deleteById(row, childConfirm = true) {
this.__checkApi()
let message = `纭鍒犻櫎${this.module}銆�${row[this.configData['field.main']]}銆戝悧?`
if (childConfirm && row.children != null && row.children.length > 0) {
@@ -196,14 +196,14 @@
this.isWorking.delete = false
})
})
- .catch(() => {})
+ .catch(() => { })
},
/**
* 鎵归噺鍒犻櫎锛堢偣鍑绘壒閲忓垹闄ゆ椂瑙﹀彂锛�
*
* @param childConfirm 鍒犻櫎瀛愯妭鐐规椂鏄惁杩涜浜屾纭
*/
- deleteByIdInBatch (childConfirm = true) {
+ deleteByIdInBatch(childConfirm = true) {
this.__checkApi()
if (this.tableData.selectedRows.length === 0) {
this.$tip.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�')
@@ -235,7 +235,7 @@
this.isWorking.delete = false
})
})
- .catch(() => {})
+ .catch(() => { })
},
/**
* 鍒犻櫎鍚庡鐞嗭紝鍦ㄥ崟琛屽垹闄ゆ垨澶氳鍒犻櫎鍚庤皟鐢�
@@ -243,7 +243,7 @@
* @param deleteCount 鍒犻櫎鏁伴噺
* @private
*/
- __afterDelete (deleteCount = 1) {
+ __afterDelete(deleteCount = 1) {
this.$tip.apiSuccess('鍒犻櫎鎴愬姛')
// 鍒犻櫎褰撳墠椤垫渶鍚庝竴鏉¤褰曟椂鏌ヨ涓婁竴椤垫暟鎹�
if (this.tableData.list.length - deleteCount === 0) {
@@ -257,12 +257,101 @@
*
* @private
*/
- __checkApi () {
+ __checkApi() {
console.log(this.api);
if (this.api == null) {
throw new Error('The page is not initialized, you can use method \'this.config\' to initialize this page.')
}
+ },
+ /**
+ * 鏁板瓧鐩稿姞
+ * @param {*} arg1
+ * @param {*} arg2
+ * @returns
+ */
+ accAdd(arg1, arg2) {
+ return this.changeNum(arg1, arg2)
+ },
+
+ /**
+ * 鏁板瓧鐩稿噺
+ * @param {*} arg1
+ * @param {*} arg2
+ * @returns
+ */
+ accSub(arg1, arg2) {
+ return this.changeNum(arg1, arg2, false)
+ },
+
+ /**
+ * 鏁板瓧鐩镐箻
+ * @param {*} arg1
+ * @param {*} arg2
+ * @returns
+ */
+ accMul(arg1, arg2) {
+ let m = 0;
+ m = accAdd(m, getDecimalLength(arg1))
+ m = accAdd(m, getDecimalLength(arg2))
+ return getNum(arg1) * getNum(arg2) / Math.pow(10, m)
+ },
+
+ /**
+ * 鏁板瓧鐩搁櫎
+ * @param {*} arg1
+ * @param {*} arg2
+ * @returns
+ */
+ accDiv(arg1, arg2) {
+ let t1, t2;
+ t1 = this.getDecimalLength(arg1)
+ t2 = this.getDecimalLength(arg2)
+ if (t1 - t2 > 0) {
+ return (this.getNum(arg1) / this.getNum(arg2)) / Math.pow(10, t1 - t2)
+ } else {
+ return (this.getNum(arg1) / this.getNum(arg2)) * Math.pow(10, t2 - t1)
+ }
+ },
+
+ changeNum(arg1 = '', arg2 = '', isAdd = true) {
+ function changeInteger(arg, r, maxR) {
+ if (r != maxR) {
+ let addZero = ''
+ for (let i = 0; i < maxR - r; i++) {
+ addZero += '0'
+ }
+ arg = Number(arg.toString().replace('.', '') + addZero)
+ } else {
+ arg = this.getNum(arg)
+ }
+ return arg
+ }
+ let r1, r2, maxR, m;
+ r1 = this.getDecimalLength(arg1)
+ r2 = this.getDecimalLength(arg2)
+ maxR = Math.max(r1, r2)
+ arg1 = changeInteger(arg1, r1, maxR)
+ arg2 = changeInteger(arg2, r2, maxR)
+ m = Math.pow(10, maxR)
+ if (isAdd) {
+ return (arg1 + arg2) / m
+ } else {
+ return (arg1 - arg2) / m
+ }
+ },
+
+ getDecimalLength(arg = '') {
+ try {
+ return arg.toString().split(".")[1].length
+ } catch (e) {
+ return 0
+ }
+ },
+
+ getNum(arg = '') {
+ return Number(arg.toString().replace(".", ""))
}
+
}
}
</script>
diff --git a/web_standard/src/components/business/OperaSalaryParamWindow.vue b/web_standard/src/components/business/OperaSalaryParamWindow.vue
index 5e14d92..d524e1e 100644
--- a/web_standard/src/components/business/OperaSalaryParamWindow.vue
+++ b/web_standard/src/components/business/OperaSalaryParamWindow.vue
@@ -196,7 +196,9 @@
// if (!isEdit) {
// this.form.materialId = res[0]?res[0].materialId:''
// }
- // this.selectMaterial(this.form.materialId)
+ if (isEdit) {
+ this.selectMaterial(this.form.materialId)
+ }
})
.catch(err => {
console.log(err)
diff --git a/web_standard/src/components/ext/OperaPlanStaock.vue b/web_standard/src/components/ext/OperaPlanStaock.vue
index 81527e2..137b19c 100644
--- a/web_standard/src/components/ext/OperaPlanStaock.vue
+++ b/web_standard/src/components/ext/OperaPlanStaock.vue
@@ -219,8 +219,8 @@
layout="total, prev, pager, next, jumper"
:total="pagination.total"
@current-change="handlePageChange"
- background>
- </el-pagination>
+ background
+ ></el-pagination>
</div>
</SelectMaterail>
</GlobalWindow>
diff --git a/web_standard/src/components/ext/OperaUserDeviceExtWindow.vue b/web_standard/src/components/ext/OperaUserDeviceExtWindow.vue
index 708bfac..312cee7 100644
--- a/web_standard/src/components/ext/OperaUserDeviceExtWindow.vue
+++ b/web_standard/src/components/ext/OperaUserDeviceExtWindow.vue
@@ -18,7 +18,7 @@
</el-select>
</el-form-item>
<el-form-item label="鎵�灞炲憳宸ワ細" prop="userIds">
- <el-select v-model="form.userIds" multiple clearable filterable placeholder="璇烽�夋嫨" @change="selectUser">
+ <el-select v-model="form.userIds" reserve-keyword multiple clearable filterable placeholder="璇烽�夋嫨" @change="selectUser">
<el-option
v-for="(item, index) in select()"
:key="item.id"
diff --git a/web_standard/src/components/ext/OperaWInboundExtWindow.vue b/web_standard/src/components/ext/OperaWInboundExtWindow.vue
index c49c986..658fb75 100644
--- a/web_standard/src/components/ext/OperaWInboundExtWindow.vue
+++ b/web_standard/src/components/ext/OperaWInboundExtWindow.vue
@@ -126,8 +126,7 @@
<SelectMaterail
ref="selectMaterail"
@selectData="selectData"
- >
- </SelectMaterail>
+ ></SelectMaterail>
</GlobalWindow>
</template>
diff --git a/web_standard/src/components/ext/OperaWOutboundExtWindow.vue b/web_standard/src/components/ext/OperaWOutboundExtWindow.vue
index 226e9a0..6fcd9d4 100644
--- a/web_standard/src/components/ext/OperaWOutboundExtWindow.vue
+++ b/web_standard/src/components/ext/OperaWOutboundExtWindow.vue
@@ -460,12 +460,26 @@
},
sorts: null
}).then(res => {
- // console.log('res', res)
this.pagination.total = res.total
this.pagination.pageSize = res.capacity
this.pagination.pageIndex = res.page
this.tempMaterials = res.records
this.isSelectMaterial = true
+ // console.log('getTempMaterails', this.selectedAllMaterails)
+ if (this.selectedAllMaterails[this.pagination.pageIndex]) {
+ // debugger
+ for (const item of this.selectedAllMaterails[this.pagination.pageIndex]) {
+
+ this.$nextTick(() => {
+ this.tempMaterials.forEach(tempItem => {
+ if (tempItem.id === item.id) {
+ console.log(tempItem.mmodelUnionName);
+ this.$refs.materials.toggleRowSelection(tempItem, true)
+ }
+ })
+ })
+ }
+ }
}).catch(err => {
this.$tip.error(err)
})
@@ -475,8 +489,9 @@
this.getTempMaterails()
},
handleSelectionChange (selectedRows) {
- // console.log(selectedRows)
+ console.log(selectedRows)
this.selectedAllMaterails[this.pagination.pageIndex] = selectedRows
+ console.log(this.selectedAllMaterails);
},
selectData () {
// console.log(this.selectedAllMaterails)
diff --git a/web_standard/src/components/ext/OperaWrollOutStore.vue b/web_standard/src/components/ext/OperaWrollOutStore.vue
index 6b4f08e..1c1ecb3 100644
--- a/web_standard/src/components/ext/OperaWrollOutStore.vue
+++ b/web_standard/src/components/ext/OperaWrollOutStore.vue
@@ -581,6 +581,18 @@
this.pagination.pageIndex = res.page
this.tempMaterials = res.records
this.isSelectMaterial = true
+ if (this.selectedAllMaterails[this.pagination.pageIndex]) {
+ for (const item of this.selectedAllMaterails[this.pagination.pageIndex]) {
+ this.$nextTick(() => {
+ this.tempMaterials.forEach(tempItem => {
+ if (tempItem.id === item.id) {
+ console.log(tempItem.mmodelUnionName);
+ this.$refs.materials.toggleRowSelection(tempItem, true)
+ }
+ })
+ })
+ }
+ }
}).catch(err => {
this.$tip.error(err)
})
@@ -592,6 +604,7 @@
handleSelectionChange (selectedRows) {
// console.log(selectedRows)
this.selectedAllMaterails[this.pagination.pageIndex] = selectedRows
+ console.log(this.selectedMaterails);
},
selectData () {
console.log(this.selectedAllMaterails)
diff --git a/web_standard/src/components/ext/OrderDistrubution.vue b/web_standard/src/components/ext/OrderDistrubution.vue
index 9d055e4..b0d8aaa 100644
--- a/web_standard/src/components/ext/OrderDistrubution.vue
+++ b/web_standard/src/components/ext/OrderDistrubution.vue
@@ -38,6 +38,7 @@
<el-select
v-model="form.proUserList"
:disabled="!form.proGroupId"
+ reserve-keyword
multiple
clearable
filterable
diff --git a/web_standard/src/views/business/salaryParam.vue b/web_standard/src/views/business/salaryParam.vue
index a2d95f0..ce84574 100644
--- a/web_standard/src/views/business/salaryParam.vue
+++ b/web_standard/src/views/business/salaryParam.vue
@@ -62,7 +62,11 @@
<el-table-column prop="materialName" label="鐗╂枡鍚嶇О" min-width="140px"></el-table-column>
<el-table-column prop="materialCode" label="鐗╂枡缂栫爜" min-width="100px"></el-table-column>
<el-table-column prop="procedureName" label="宸ュ簭鍚嶇О" min-width="100px"></el-table-column>
- <el-table-column prop="salary" label="宸ヨ祫鍗曚环锛堝厓)" min-width="100px"></el-table-column>
+ <el-table-column prop="salary" label="宸ヨ祫鍗曚环锛堝厓)" min-width="100px">
+ <!-- <template slot-scope="{row}">
+ {{ accDiv(row.salary, 100) }}
+ </template> -->
+ </el-table-column>
<el-table-column prop="num" label="鏍囧噯浜у嚭" min-width="100px">
<template slot-scope="{row}">
{{ (row.num == 0 || !row.num) ? '-' : row.num }}
diff --git a/web_standard/src/views/ext/plansExt.vue b/web_standard/src/views/ext/plansExt.vue
index 6fdcdb1..dddd349 100644
--- a/web_standard/src/views/ext/plansExt.vue
+++ b/web_standard/src/views/ext/plansExt.vue
@@ -3,8 +3,8 @@
<keep-alive><TableLayout v-permissions="['ext:plansext:query']">
<!-- 鎼滅储琛ㄥ崟 -->
<el-form slot="search-form" ref="searchForm" :model="searchForm" label-suffix="锛�" label-width="110px" inline>
- <el-form-item label="鎼滅储淇℃伅" prop="mixParam">
- <el-input v-model="searchForm.mixParam" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�/缂栫爜/宸ュ簭鍚嶇О" @keypress.enter.native="search"></el-input>
+ <el-form-item label="鐗╂枡淇℃伅" prop="mixParam">
+ <el-input v-model="searchForm.mixParam" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�/缂栫爜" @keypress.enter.native="search"></el-input>
</el-form-item>
<el-form-item label="鎴愬搧璁″垝" prop="workPlanCode">
<el-input v-model="searchForm.workPlanCode" placeholder="璇疯緭鍏ユ垚鍝佽鍒掔紪鐮�" @keypress.enter.native="search"></el-input>
@@ -71,19 +71,19 @@
<!-- 琛ㄦ牸鍜屽垎椤� -->
<template v-slot:table-wrap>
<ul class="toolbar">
- <!-- <li v-permissions="['ext:plansext:importExcel']">
+ <li v-permissions="['ext:plansext:distribute']"><el-button type="primary" @click="plansDistribute">鎵归噺鍒嗛厤</el-button></li>
+ <li v-permissions="['ext:plansext:importExcel']">
<ImportButton
text="瀵煎叆"
template-name="plans_import_template.xlsx"
- template-path="template/plans_import_template.xlsx"
+ template-path="/template/plans_import_template.xlsx"
action="/ext/plansExt/importBatch"
@success="search"
/>
- </li> -->
+ </li>
<!-- <li v-permissions="['ext:plansext:create']"><el-button type="primary" @click="$refs.operaPlansExtWindow.open('鏂板缓鐢熶骇璁″垝')" >鏂板缓</el-button></li> -->
<!-- <li v-permissions="['ext:plansext:publish']"><el-button type="primary" @click="planRelease" >鍙戝竷</el-button></li> -->
- <li v-permissions="['ext:plansext:distribute']"><el-button type="primary" @click="plansDistribute">鎵归噺鍒嗛厤</el-button></li>
- <li v-permissions="['ext:plansext:exportExcel']"><el-button type="primary" :loading="isWorking.export" @click="exportExcel">瀵煎嚭</el-button></li>
+ <!-- <li v-permissions="['ext:plansext:exportExcel']"><el-button type="primary" :loading="isWorking.export" @click="exportExcel">瀵煎嚭</el-button></li> -->
<!-- <li v-permissions="['ext:plansext:planpink']"><el-button type="primary" @click="$refs.operaWTransferExtWindow.open('璁″垝棰嗘枡')">璁″垝棰嗘枡</el-button></li> -->
<!-- <li v-permissions="['ext:plansext:stockpink']"><el-button type="primary" @click="$refs.operaPlanStaock.open('搴撳瓨棰嗘枡')">搴撳瓨棰嗘枡</el-button></li> -->
<!-- <li v-permissions="['ext:plansext:delete']"><el-button type="danger" plain @click="deleteByIdInBatch">鎵归噺鍒犻櫎</el-button></li> -->
diff --git a/web_standard/src/views/ext/salaryStatistic.vue b/web_standard/src/views/ext/salaryStatistic.vue
index edf46b2..b448f9d 100644
--- a/web_standard/src/views/ext/salaryStatistic.vue
+++ b/web_standard/src/views/ext/salaryStatistic.vue
@@ -60,18 +60,18 @@
<el-table-column prop="userInfo.departName" label="閮ㄩ棬" min-width="100px"> </el-table-column>
<el-table-column prop="jijianSalary" label="璁′欢宸ヨ祫" min-width="100px">
<template slot-scope="{row}">
- {{ row.jijianSalary / 100 }}
+ {{ accDiv(Math.round(row.jijianSalary), 100) }}
</template>
</el-table-column>
<el-table-column prop="jishiSalary" label="璁℃椂宸ヨ祫" min-width="100px">
<template slot-scope="{row}">
- {{ row.jishiSalary / 100 }}
+ {{ accDiv(Math.round(row.jishiSalary), 100) }}
</template>
</el-table-column>
<el-table-column prop="num" label="鎶ュ伐鍗曟�绘暟" min-width="100px"></el-table-column>
<el-table-column prop="totalSalary" label="灏忚宸ヨ祫(鍏�)" min-width="100px">
<template slot-scope="{row}">
- {{ row.totalSalary / 100 }}
+ {{ accDiv(Math.round(row.totalSalary), 100) }}
</template>
</el-table-column>
diff --git a/web_standard/src/views/ext/workorderPutRecordExt.vue b/web_standard/src/views/ext/workorderPutRecordExt.vue
index b618fe0..b94d303 100644
--- a/web_standard/src/views/ext/workorderPutRecordExt.vue
+++ b/web_standard/src/views/ext/workorderPutRecordExt.vue
@@ -120,19 +120,33 @@
<span class="long-title-style">{{ row.procedureName }}</span>
</template>
</el-table-column>
- <el-table-column prop="qualifiedNum" label="鍚堟牸鏁伴噺" min-width="100px">
+ <!-- <el-table-column prop="qualifiedNum" label="鍚堟牸鏁伴噺" min-width="100px">
<template slot-scope="{row}">
<span class="valid-style">{{ row.qualifiedNum + row.umodel.name }}</span>
</template>
</el-table-column>
<el-table-column prop="unqualifiedNum" label="涓嶈壇鏁伴噺" min-width="100px">
<template slot-scope="{row}">
- <span class="unvalid-style">{{ row.num + row.umodel.name}}</span>
- <!-- <span :class="row.materialDonetype==0 ? 'valid-style' : ''">{{ row.num + row.umodel.name }}</span> -->
+ <span class="unvalid-style">{{ row.unqualifiedNum + row.umodel.name}}</span>
</template>
- </el-table-column>
- <el-table-column prop="num" label="鎶ュ伐鏁伴噺" min-width="100px"></el-table-column>
- <!-- <el-table-column prop="amodel.code" label="宸ヨ鍣ㄥ叿" min-width="100px"></el-table-column> -->
+ </el-table-column> -->
+ <el-table-column prop="doneType" label="璐ㄩ噺灞炴��" min-width="100px">
+ <template slot-scope="{row}">
+ <span v-if="row.materialDonetype==0" class="valid-style">鍚堟牸</span>
+ <span v-else-if="row.materialDonetype==1" class="unvalid-style">涓嶈壇</span>
+ <span v-else>-</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="num" label="鏁伴噺" min-width="100px">
+ <template slot-scope="{row}">
+ <span :class="row.materialDonetype==0 ? 'valid-style' : 'unvalid-style'">{{ row.num + row.umodel.name }}</span>
+ </template>
+ </el-table-column>
+ <!-- <el-table-column prop="num" label="鎶ュ伐鏁伴噺" min-width="100px">
+ <template slot-scope="{row}">
+ {{ row.num + row.umodel.name }}
+ </template>
+ </el-table-column> -->
<el-table-column prop="deviceCode" label="璁惧" show-overflow-tooltip min-width="100px">
<template slot-scope="{row}">
<span class="long-title-style" :title="row.deviceCode + ' | ' + row.deviceName">{{ row.deviceCode + ' | ' + row.deviceName}}</span>
@@ -264,7 +278,7 @@
if (index === 0) {
sums[index] = '鍚堣';
return;
- } else if (index === 4 || index === 6 || index === 8 || index === 10) {
+ } else if (index === 4 || index === 8 || index === 10) {
// || index === 8 || index === 9 || index === 16 || index === 17
sums[index] = '-';
return;
--
Gitblit v1.9.3