From 282e032b5771da13d224214d3b0b71f3efde9a42 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 25 八月 2023 18:45:42 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmMes
---
h5_standard/src/views/workOrder/reportingForWork.vue | 6
minipro_standard/manifest.json | 2
web_standard/src/components/system/user/OperaSystemRoleApplysWindow.vue | 4
web_standard/src/components/common/Menu.vue | 6
h5_standard/src/views/plannedProgress/details.vue | 57 +
web_standard/src/views/ext/deviceExt.vue | 19
web_standard/coderd.json | 2
screen_standard/src/views/index.vue | 71 ++
screen_standard/vite.config.js | 10
web_standard/package.json | 4
h5_standard/.env.production | 4
h5_standard/src/views/tabPage/my.vue | 16
h5_standard/public/redirect.html | 2
h5_standard/src/views/workOrder/workOrderReporting.vue | 4
web_standard/src/components/ext/OperaWInboundExtWindow.vue | 161 ++---
h5_standard/src/views/LogInAgain.vue | 2
h5_standard/src/views/children.vue | 2
platform_web/src/components/business/OperaClientMangerWindow.vue | 6
platform_web/src/views/business/clientManger.vue | 11
web_standard/src/components/ext/OperaUnitExtWindow.vue | 11
minipro_standard/main.js | 4
minipro_standard/pages/updatePhone/updatePhone.vue | 127 ++++
platform_web/src/views/system/loginLog.vue | 55 +
screen_standard/src/views/process.vue | 18
web_standard/src/components/ext/OperaPlansDetailExtWindow.vue | 2
web_standard/src/components/system/role/PermissionConfigWindow.vue | 2
h5_standard/src/utils/request.ts | 5
platform_web/package.json | 2
minipro_standard/pages/personal/personal.vue | 89 +++
web_standard/.env.development | 4
web_standard/src/components/common/Header.vue | 4
web_standard/src/views/ext/salaryStatistic.vue | 1
h5_standard/src/views/index.vue | 2
h5_standard/src/router/module/index.ts | 9
minipro_standard/pages/index/index.vue | 79 -
web_standard/src/layouts/TableLayout.vue | 5
h5_standard/src/apis/index.ts | 20
minipro_standard/pages.json | 139 +++-
minipro_standard/pages/updateMailbox/updateMailbox.vue | 130 ++++
web_standard/src/api/business/unqualifiedRecord.js | 16
web_standard/src/api/ext/workorderRecordPutExt.js | 16
web_standard/src/api/ext/categoryUnionExt.js | 2
web_standard/public/template/device_import_template.xlsx | 0
h5_standard/.env | 2
web_standard/src/components/system/user/OperaSystemRoleNone.vue | 2
minipro_standard/App.vue | 1
minipro_standard/pages/mine/mine.vue | 35
web_standard/src/views/ext/appliancesExt.vue | 4
web_standard/src/views/business/unqualifiedRecord.vue | 98 +++
h5_standard/src/store/index.ts | 2
h5_standard/src/views/appletLogin.vue | 191 ++++++
h5_standard/src/utils/utils.ts | 2
minipro_standard/pages/changePassword/changePassword.vue | 128 ++++
web_standard/src/views/ext/workorderPutRecordExt.vue | 6
platform_web/src/components/business/OperaClientDetailWindow.vue | 27
55 files changed, 1,302 insertions(+), 327 deletions(-)
diff --git a/h5_standard/.env b/h5_standard/.env
index 4e27e94..3a04738 100644
--- a/h5_standard/.env
+++ b/h5_standard/.env
@@ -1,5 +1,5 @@
# 鎺ュ彛鍓嶇紑 _api
-VUE_APP_API_PREFIX = '/doumeeplant_api'
+VUE_APP_API_PREFIX = '/doumeeplant'
# 涓婁笅鏂囪矾寰� --> 榛樿./锛堝彲浠ラ儴缃插湪鏈嶅姟鍣ㄤ换鎰忚矾寰勶級
VUE_APP_CONTEXT = './'
diff --git a/h5_standard/.env.production b/h5_standard/.env.production
index af03e19..c874a31 100644
--- a/h5_standard/.env.production
+++ b/h5_standard/.env.production
@@ -18,7 +18,7 @@
# VUE_APP_API = 'https://hsky.doumee.com/doumeeplant_api/'
# 娴嬭瘯
-VUE_APP_API = 'https://dmtest.ahapp.net/doumeeplant_api/'
+# VUE_APP_API = 'https://dmtest.ahapp.net/doumeeplant_api/'
# 婕旂ず
-# VUE_APP_API = 'https://www.mes.red/doumeeplant/'
+VUE_APP_API = 'https://www.mes.red/doumeeplant/'
diff --git a/h5_standard/public/redirect.html b/h5_standard/public/redirect.html
index 4da729b..d5db9b2 100644
--- a/h5_standard/public/redirect.html
+++ b/h5_standard/public/redirect.html
@@ -10,10 +10,12 @@
if (url.indexOf('?code') === -1) {
let query = url.split('?')[1]
let tempUrl = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx6ea339a336f26380&redirect_url=https://www.mes.red/h5/redirect.html&response_type=code&scope=snsapi_base&state=#wechat_redirect`
+ // let tempUrl = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx6ea339a336f26380&redirect_url=https://dmtest.ahapp.net/doumeeplant_h5/redirect.html&response_type=code&scope=snsapi_base&state=#wechat_redirect`
window.location.replace(tempUrl)
} else {
var code = url.substring(url.indexOf('?') + 6, url.indexOf('&'))
let href1 = `https://www.mes.red/h5/#/wxLogin?code=${code}`
+ // let href1 = `https://dmtest.ahapp.net/doumeeplant_h5/#/wxLogin?code=${code}`
window.location.replace(href1)
}
</script>
diff --git a/h5_standard/src/apis/index.ts b/h5_standard/src/apis/index.ts
index 9a34f2b..90d69b7 100644
--- a/h5_standard/src/apis/index.ts
+++ b/h5_standard/src/apis/index.ts
@@ -20,7 +20,16 @@
})
}
-// 寰俊绔櫥褰�
+// 寰俊灏忕▼搴忕櫥褰�
+export function wxProgramLogin(params: any): Promise<any> {
+ return httpRequest({
+ url: '/system/wxProgramLogin',
+ method: 'get',
+ params
+ })
+}
+
+// 寰俊鍏紬鍙风櫥褰�
export function wxAccountLogin(data: any): Promise<any> {
return httpRequest({
url: '/system/wxAccountLogin',
@@ -29,6 +38,15 @@
})
}
+// 寰俊閫�鍑虹櫥褰�
+export function wxLoginOut(data: any): Promise<any> {
+ return httpRequest({
+ url: '/system/wxLoginOut',
+ method: 'post',
+ data
+ })
+}
+
// 鑾峰彇浼佷笟id
export function getDingdingCorpId(companyId: any): Promise<any> {
return httpRequest({
diff --git a/h5_standard/src/router/module/index.ts b/h5_standard/src/router/module/index.ts
index 9c09218..af41af7 100644
--- a/h5_standard/src/router/module/index.ts
+++ b/h5_standard/src/router/module/index.ts
@@ -104,6 +104,15 @@
keepAlive: false
},
component: () => import('@/views/wxLogin.vue')
+ },
+ {
+ path: '/appletLogin',
+ name: 'appletLogin',
+ meta: {
+ title: 'DM浜戝伐鍘�',
+ keepAlive: false
+ },
+ component: () => import('@/views/appletLogin.vue')
}
]
diff --git a/h5_standard/src/store/index.ts b/h5_standard/src/store/index.ts
index 8842991..eac1058 100644
--- a/h5_standard/src/store/index.ts
+++ b/h5_standard/src/store/index.ts
@@ -10,7 +10,7 @@
export default createStore({
state: {
- // 椤圭洰鍏ュ彛鐜 DD / H5
+ // 椤圭洰鍏ュ彛鐜 DD / H5 / WX / XCX
env: env ? env : null,
// 鏄惁闇�瑕侀�傞厤鑻规灉搴曢儴瀹夊叏璺濈
diff --git a/h5_standard/src/utils/request.ts b/h5_standard/src/utils/request.ts
index 733c77b..06d7b67 100644
--- a/h5_standard/src/utils/request.ts
+++ b/h5_standard/src/utils/request.ts
@@ -29,10 +29,9 @@
// 娣诲姞鍝嶅簲鎷︽埅鍣�
service.interceptors.response.use(
(response) => {
-
- if (response.config.url?.indexOf('/lingyang/login') == -1 && response.config.url?.indexOf('/edgp/loginDemo') == -1 && response.config.url?.indexOf('/lingyang/loginDemo') == -1 && response.config.url?.indexOf('/edgp/login') == -1) {
+ // if (response.config.url?.indexOf('/lingyang/login') == -1 && response.config.url?.indexOf('/edgp/loginDemo') == -1 && response.config.url?.indexOf('/lingyang/loginDemo') == -1 && response.config.url?.indexOf('/edgp/login') == -1) {
loading.clear();
- }
+ // }
if (response.data.code === 401) { // 澶勭悊鐧诲綍杩囨湡
Toast.fail({ message: '鐧诲綍杩囨湡锛屽噯澶囪嚜鍔ㄩ噸鏂扮櫥褰�', duration: 2000, forbidClick: true })
setTimeout(() => {
diff --git a/h5_standard/src/utils/utils.ts b/h5_standard/src/utils/utils.ts
index d04a906..aebc40d 100644
--- a/h5_standard/src/utils/utils.ts
+++ b/h5_standard/src/utils/utils.ts
@@ -199,7 +199,7 @@
function judgmentPlatform (): boolean {
// alert(store.state.env)
// alert(store.state.env !== 'DD')
- return store.state.env === 'DD'
+ return store.state.env === 'DD' || store.state.env === 'WX';
// return dd.env.platform !== 'notInDingTalk';
}
diff --git a/h5_standard/src/views/LogInAgain.vue b/h5_standard/src/views/LogInAgain.vue
index 8ccb876..b7856d0 100644
--- a/h5_standard/src/views/LogInAgain.vue
+++ b/h5_standard/src/views/LogInAgain.vue
@@ -94,7 +94,7 @@
let res = await testLogin({ // 鏂囨
username: '18656077929',
password: '123456',
- companyId: '8',
+ companyId: '111',
uuid: '0000',
code: '0000'
})
diff --git a/h5_standard/src/views/appletLogin.vue b/h5_standard/src/views/appletLogin.vue
new file mode 100644
index 0000000..e77dd96
--- /dev/null
+++ b/h5_standard/src/views/appletLogin.vue
@@ -0,0 +1,191 @@
+<template>
+ <div class="wx">
+ <img class="wx_bg" src="@/assets/background/login_bg@2x.png" alt="" />
+ <div class="wx_login">
+ <img class="wx_login_icon" src="@/assets/icon/logo@2x.png" alt="" />
+ <span>DM浜戝伐鍘�</span>
+ <div class="wx_login_list">
+ <div class="wx_login_list_item">
+ <img src="@/assets/icon/login_ic_code@2x.png" alt="" />
+ <input type="text" v-model="from.companyId" placeholder="浼佷笟浠g爜" />
+ </div>
+ <div class="wx_login_list_item">
+ <img src="@/assets/icon/login_ic_phone@2x.png" alt="" />
+ <input type="text" maxlength="11" v-model="from.username" placeholder="鎵嬫満鍙�" />
+ </div>
+ <div class="wx_login_list_item">
+ <img src="@/assets/icon/login_ic_password@2x.png" alt="" />
+ <input type="password" v-model="from.password" placeholder="瀵嗙爜" />
+ </div>
+ </div>
+ <div class="wx_login_footer">
+ <div class="wx_login_footer_btn" @click="login">绔嬪嵆鐧诲綍</div>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script setup lang="ts">
+import { onMounted, reactive } from 'vue';
+import { useRoute, useRouter } from 'vue-router';
+import { useStore } from 'vuex';
+import { wxAccountLogin, getUserInfo, wxProgramLogin } from '@/apis/index';
+import { Toast } from 'vant';
+
+const route = useRoute()
+const router = useRouter()
+const store = useStore()
+
+let from: any = reactive({
+ openid: '',
+ unionid: '',
+ companyId: '',
+ username: '',
+ password: ''
+})
+
+const login = async () => {
+ // if (!from.openid) return Toast('openid涓嶈兘涓虹┖')
+ // if (!from.unionid) return Toast('unionid涓嶈兘涓虹┖')
+ if (!from.companyId) return Toast('浼佷笟浠g爜涓嶈兘涓虹┖')
+ if (!from.username) return Toast('鎵嬫満鍙蜂笉鑳戒负绌�')
+ if (!from.password) return Toast('瀵嗙爜涓嶈兘涓虹┖')
+ Toast.loading({
+ message: '鐧诲綍涓�...',
+ forbidClick: true
+ });
+ let res = await wxAccountLogin(from)
+ if (res.code === 200) {
+ let info = await getUserInfo()
+ if (info.code === 200) {
+ await store.commit('setEntrance', 'XCX')
+ await store.commit('setUserInfo', info.data)
+ await store.dispatch('getMenuList', 2)
+ await router.replace('/workbench')
+ }
+ }
+ Toast.clear();
+}
+
+onMounted(() => {
+ wxProgramLogin({ code: route.query.code })
+ .then(async (res) => {
+ if (res.code === 200) {
+ // 鍏嶇櫥褰曪紝鐩存帴璺抽椤�
+ if (res.data.loginStatus == 0) {
+ let info = await getUserInfo()
+ if (info.code === 200) {
+ await store.commit('setEntrance', 'XCX')
+ await store.commit('setUserInfo', info.data)
+ await store.dispatch('getMenuList', 2)
+ await router.replace('/workbench')
+ }
+ } else {
+ from.openid = res.data.openid
+ from.unionid = res.data.unionid
+ }
+ }
+ })
+})
+</script>
+
+<style lang="scss" scoped>
+ .wx {
+ width: 100vw;
+ height: 100vh;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background: #FFFFFF linear-gradient(180deg, rgba(66,117,252,0.2) 0%, rgba(66,117,252,0) 100%);
+ .wx_bg {
+ width: 100vw;
+ height: 812px;
+ position: fixed;
+ top: 0;
+ left: 0;
+ }
+ .wx_login {
+ width: 100vw;
+ height: auto;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-direction: column;
+ .wx_login_icon {
+ width: 180px;
+ height: 180px;
+ }
+ span {
+ font-size: 44px;
+ font-family: PingFangSC-Semibold, PingFang SC;
+ font-weight: 600;
+ color: #333333;
+ margin-top: 40px;
+ }
+ .wx_login_list {
+ width: 100vw;
+ padding: 0 60px;
+ box-sizing: border-box;
+ margin-top: 80px;
+ position: relative;
+ z-index: 9;
+ .wx_login_list_item {
+ width: 100%;
+ height: 98px;
+ background: #FFFFFF;
+ border-radius: 8px;
+ padding: 0 40px;
+ box-sizing: border-box;
+ display: flex;
+ align-items: center;
+ margin-bottom: 40px;
+ &:last-child {
+ margin-bottom: 0 !important;
+ }
+ img {
+ width: 40px;
+ height: 40px;
+ flex-shrink: 0;
+ margin-right: 24px;
+ }
+ input::-webkit-input-placeholder {
+ font-size: 30px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #B7BBC5;
+ }
+ input {
+ flex: 1;
+ height: 100%;
+ padding: 0 !important;
+ font-size: 30px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #222222;
+ border: none;
+ outline: none;
+ }
+ }
+ }
+ .wx_login_footer {
+ width: 100vw;
+ padding: 0 60px;
+ box-sizing: border-box;
+ margin-top: 80px;
+ .wx_login_footer_btn {
+ width: 100%;
+ height: 98px;
+ line-height: 98px;
+ text-align: center;
+ background: #4275FC;
+ box-shadow: 0px 12px 24px 0px rgba(66,117,252,0.2);
+ border-radius: 8px;
+ font-size: 32px;
+ font-family: PingFangSC-Medium, PingFang SC;
+ font-weight: 500;
+ color: #FFFFFF;
+ }
+ }
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/h5_standard/src/views/children.vue b/h5_standard/src/views/children.vue
index adfe02d..bd66219 100644
--- a/h5_standard/src/views/children.vue
+++ b/h5_standard/src/views/children.vue
@@ -1,7 +1,7 @@
<template>
<div class="box">
<!-- 澶撮儴瀵艰埅 -->
- <template v-if="env == 'H5'">
+ <template v-if="env == 'H5' || env == 'XCX'">
<v-Header :pathList="pathLists">
<template v-slot:title>{{title}}</template>
</v-Header>
diff --git a/h5_standard/src/views/index.vue b/h5_standard/src/views/index.vue
index 55141cd..1a9e4f8 100644
--- a/h5_standard/src/views/index.vue
+++ b/h5_standard/src/views/index.vue
@@ -1,7 +1,7 @@
<template>
<div class="index">
<!-- 澶撮儴瀵艰埅 -->
- <template v-if="env == 'H5'">
+ <template v-if="env == 'H5' || env == 'XCX'">
<v-Header :pathList="pathLists">
<template v-slot:title>{{ title }}</template>
</v-Header>
diff --git a/h5_standard/src/views/plannedProgress/details.vue b/h5_standard/src/views/plannedProgress/details.vue
index 29d7c25..e4d9b0a 100644
--- a/h5_standard/src/views/plannedProgress/details.vue
+++ b/h5_standard/src/views/plannedProgress/details.vue
@@ -53,7 +53,7 @@
</div>
<div class="content_list_item_content_item">
<div class="content_list_item_content_item_label">鍒嗛厤鏁伴噺锛�</div>
- <div class="content_list_item_content_item_nr">{{info.createTime}}</div>
+ <div class="content_list_item_content_item_nr" v-if="info.umodel">{{info.distributNum}}{{info.umodel.name}}</div>
</div>
<div class="content_list_item_content_item">
<div class="content_list_item_content_item_label">瀹屽伐鏁伴噺锛�</div>
@@ -64,20 +64,22 @@
</div>
<NotFound info="鏆傛湭鍒嗛厤宸ュ崟" v-if="info.workorderList && info.workorderList.length === 0" />
<template v-else>
- <div class="details_list">
- <div class="details_list_item" v-for="(item, i) in info.workorderList" :key="i" @click="jump(item.id)">
+ <!-- <div class="details_list">
+ <div class="details_list_item" v-for="(item, i) in info.workorderList" :key="i" @click="jump(item)">
<div class="details_list_item_top">
- <span>{{ item.createUserName }}</span><span>{{ item.code }}</span>
+ <span>{{ item.createUserName }}</span>
+ <span>{{ item.code }}</span>
</div>
<div class="details_list_item_center">
- <span>鑹搧鏁帮細{{ item.qualifiedNum }}</span><span>涓嶈壇鏁帮細<span class="red">{{ item.unqualifiedNum }}</span></span>
+ <span>鑹搧鏁帮細{{ item.qualifiedNum }}</span>
+ <span>涓嶈壇鏁帮細<span class="red">{{ item.unqualifiedNum }}</span></span>
</div>
<div class="details_list_item_bottom">
<span>{{ item.createTime }}</span>
</div>
</div>
- </div>
- <!-- <div class="details_timeline" v-for="(item, i) in info.workorderList" :key="i">
+ </div> -->
+ <div class="details_timeline" v-for="(item, i) in info.workorderList" :key="i">
<div class="details_timeline_header">
<div class="details_timeline_header_code">
<span>宸ュ崟缂栧彿锛歿{item.code}}</span>
@@ -89,10 +91,10 @@
<span v-if="item.status === 3" class="purple">宸叉楠�</span>
<span v-if="item.status === 4">宸叉姤宸�</span>
<span v-if="item.status === 5">宸插叆搴�</span>
- <span v-if="item.status === 6">宸插彇娑�</span> -->
+ <span v-if="item.status === 6">宸插彇娑�</span>
<!-- <span v-if="item.status === 7">宸插彇娑�</span>-->
<!-- <span v-if="item.status === 8">宸插叧闂�</span>-->
- <!-- </div>
+ </div>
<div class="details_timeline_item" v-if="item.produceDate">
<div class="activedian"></div>
<div class="dian active"></div>
@@ -153,8 +155,10 @@
</div>
</div>
</div>
- </div> -->
+ </div>
</template>
+ <!-- <div class="details_zw"></div> -->
+ <!-- <div class="details_btn" @click="toJump">鍘绘姤宸�</div> -->
</div>
</template>
@@ -182,8 +186,17 @@
})
}
- const jump = (id: any) => {
- router.push({ name: 'workOrderReporting', query: { id } })
+ const toJump = () => {
+ router.push({ name: 'reportingForWork' })
+ }
+
+ const jump = (item: any) => {
+ if (item.status === 4 || item.status === 6 || item.paused === 1) {
+ router.push({ name: 'afterWorkReport', query: { id: item.id } })
+ } else {
+ router.push({ name: 'workOrderReporting', query: { id: item.id } })
+ }
+ // router.push({ name: 'workOrderReporting', query: { id } })
}
const proUserStr = (item: any) => {
@@ -210,6 +223,26 @@
height: 100%;
position: absolute;
background: #F7F7F7;
+ .details_zw {
+ width: 100%;
+ height: 148px;
+ }
+ .details_btn {
+ position: fixed;
+ bottom: 60px;
+ left: 30px;
+ width: calc(100% - 60px);
+ height: 88px;
+ line-height: 88px;
+ text-align: center;
+ background: #305ED5;
+ box-shadow: 0px 0px 12px 0px rgba(0,0,0,0.08);
+ border-radius: 8px;
+ font-size: 30px;
+ font-family: PingFangSC-Medium, PingFang SC;
+ font-weight: 500;
+ color: #FFFFFF;
+ }
.van-skeleton {
padding: 0 !important;
}
diff --git a/h5_standard/src/views/tabPage/my.vue b/h5_standard/src/views/tabPage/my.vue
index 1bd4eb8..5df450e 100644
--- a/h5_standard/src/views/tabPage/my.vue
+++ b/h5_standard/src/views/tabPage/my.vue
@@ -21,7 +21,7 @@
</div>
</div>
</div>
-<!-- <div class="box_out"><span>閫�鍑虹櫥褰�</span></div>-->
+ <div class="box_out" v-if="store.state.env && (store.state.env == 'WX' || store.state.env == 'XCX')" @click="loginOut"><span>閫�鍑虹櫥褰�</span></div>
</div>
<van-popup v-model:show="show" position="bottom" round :style="{ height: '50%' }">
<van-picker
@@ -40,6 +40,7 @@
import { Dialog, Toast } from 'vant'
const VanDialog = Dialog.Component;
import { changeCom, getDepartmentListByConditon } from '@/apis/PersonalAPI'
+ import { wxLoginOut } from '@/apis'
const router = useRouter()
@@ -69,6 +70,19 @@
})
};
+ // 閫�鍑虹櫥褰�
+ const loginOut = () => {
+ wxLoginOut({
+ companyUserId: store.state.userInfo.companyUser.id
+ }).then(res => {
+ if (res.code === 200) {
+ // window.parent.postMessage('闃垮悍', '*')
+ let href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx6ea339a336f26380&redirect_url=https://www.mes.red/h5/redirect.html&response_type=code&scope=snsapi_base&state=#wechat_redirect'
+ window.open(href)
+ }
+ })
+ }
+
// 鍏抽棴缁勭粐寮规
const onCancel = (): void => {
show.value = false
diff --git a/h5_standard/src/views/workOrder/reportingForWork.vue b/h5_standard/src/views/workOrder/reportingForWork.vue
index 241b071..ccaceec 100644
--- a/h5_standard/src/views/workOrder/reportingForWork.vue
+++ b/h5_standard/src/views/workOrder/reportingForWork.vue
@@ -392,6 +392,12 @@
if (!from.qualified && !from.undesirable) {
return Toast('鑹搧鏁颁笌涓嶈壇鏁颁笉鑳藉悓鏃朵负绌�')
}
+ if (from.qualified && from.qualified <= 0) {
+ return Toast('鑹搧鏁板繀椤诲ぇ浜�0')
+ }
+ if (from.undesirable && from.undesirable <= 0) {
+ return Toast('涓嶈壇鍝佹暟蹇呴』澶т簬0')
+ }
// if (!from.qualified) return Toast('鑹搧鏁颁笉鑳戒负绌�')
// 鏈変笉鑹暟
if (from.undesirable > 0) {
diff --git a/h5_standard/src/views/workOrder/workOrderReporting.vue b/h5_standard/src/views/workOrder/workOrderReporting.vue
index b24be91..689f086 100644
--- a/h5_standard/src/views/workOrder/workOrderReporting.vue
+++ b/h5_standard/src/views/workOrder/workOrderReporting.vue
@@ -962,7 +962,7 @@
if (info.value.bomType === 1) { // 鎷夊紡
console.log('鎷夊紡')
statisticsData.value = []
- if (produceFrom.qualified <= 0) {
+ if (produceFrom.qualified <= 0 && produceFrom.undesirable <= 0) {
Toast.fail({ message: '浜у嚭鏄庣粏涓嶈兘涓虹┖' })
return
}
@@ -1121,7 +1121,7 @@
Toast.fail({ message: '鎶曟枡鏄庣粏涓嶈兘涓虹┖' })
return
}
- if (produceFrom.qualified <= 0) {
+ if (produceFrom.qualified <= 0 && produceFrom.undesirable <= 0) {
Toast.fail({ message: '浜у嚭鏄庣粏涓嶈兘涓虹┖' })
return
}
diff --git a/minipro_standard/App.vue b/minipro_standard/App.vue
index d1aed6d..d52fd35 100644
--- a/minipro_standard/App.vue
+++ b/minipro_standard/App.vue
@@ -1,5 +1,4 @@
<script>
- console.log('app------');
// import { pageCount } from '@/util/api/index.js'
export default {
onLaunch: function() {
diff --git a/minipro_standard/main.js b/minipro_standard/main.js
index a8ee7ad..4686581 100644
--- a/minipro_standard/main.js
+++ b/minipro_standard/main.js
@@ -10,7 +10,7 @@
store.dispatch('getHeight')
Vue.config.productionTip = false
App.mpType = 'app'
-console.log(uni.$u);
+// console.log(uni.$u);
// #ifdef MP
// 寮曞叆uView瀵瑰皬绋嬪簭鍒嗕韩鐨刴ixin灏佽
const mpShare = require('@/uni_modules/uview-ui/libs/mixin/mpShare.js')
@@ -24,6 +24,6 @@
})
require('./util/request/index')(app)
// 鑾峰彇寰呭姙鏁伴噺
-store.dispatch('getUpcomingNum')
+// store.dispatch('getUpcomingNum')
app.$mount()
\ No newline at end of file
diff --git a/minipro_standard/manifest.json b/minipro_standard/manifest.json
index a25c0b8..0bc644d 100644
--- a/minipro_standard/manifest.json
+++ b/minipro_standard/manifest.json
@@ -50,7 +50,7 @@
"quickapp" : {},
/* 灏忕▼搴忕壒鏈夌浉鍏� */
"mp-weixin" : {
- "appid" : "wxcd2b89fd2ff065f8",
+ "appid" : "wx1605a61f7a48cea6",
"setting" : {
"urlCheck" : false,
"es6" : true,
diff --git a/minipro_standard/pages.json b/minipro_standard/pages.json
index cb37cc6..b77d9e9 100644
--- a/minipro_standard/pages.json
+++ b/minipro_standard/pages.json
@@ -1,65 +1,104 @@
{
"pages": [
- {
- "path": "pages/workbench/workbench",
- "style": {
- "navigationBarTitleText": "宸ヤ綔鍙�",
- "enablePullDownRefresh": false
- }
- },
+ // {
+ // "path": "pages/workbench/workbench",
+ // "style": {
+ // "navigationBarTitleText": "宸ヤ綔鍙�",
+ // "enablePullDownRefresh": false
+ // }
+ // },
{
"path": "pages/index/index",
"style": {
- "navigationBarTitleText": "寰呭姙"
- }
- }, {
- "path": "pages/mine/mine",
- "style": {
- "navigationBarTitleText": "鎴戠殑",
- "enablePullDownRefresh": false
+ "navigationBarTitleText": "",
+ "navigationStyle": "custom"
}
}
- ,{
- "path" : "pages/login/login",
- "style" :
- {
- "navigationBarTitleText": "鐧诲綍",
- "enablePullDownRefresh": false,
- "navigationStyle": "custom"
- }
- }
+ // , {
+ // "path": "pages/mine/mine",
+ // "style": {
+ // "navigationBarTitleText": "鎴戠殑",
+ // "enablePullDownRefresh": false
+ // }
+ // }
+ // ,{
+ // "path" : "pages/login/login",
+ // "style" :
+ // {
+ // "navigationBarTitleText": "鐧诲綍",
+ // "enablePullDownRefresh": false,
+ // "navigationStyle": "custom"
+ // }
+ // }
+ // ,{
+ // "path" : "pages/personal/personal",
+ // "style" :
+ // {
+ // "navigationBarTitleText": "涓汉淇℃伅",
+ // "enablePullDownRefresh": false
+ // }
+
+ // }
+ // ,{
+ // "path" : "pages/changePassword/changePassword",
+ // "style" :
+ // {
+ // "navigationBarTitleText": "淇敼瀵嗙爜",
+ // "enablePullDownRefresh": false
+ // }
+
+ // }
+ // ,{
+ // "path" : "pages/updatePhone/updatePhone",
+ // "style" :
+ // {
+ // "navigationBarTitleText": "鏇存柊鎵嬫満鍙�",
+ // "enablePullDownRefresh": false
+ // }
+
+ // }
+ // ,{
+ // "path" : "pages/updateMailbox/updateMailbox",
+ // "style" :
+ // {
+ // "navigationBarTitleText": "鏇存柊閭鍙�",
+ // "enablePullDownRefresh": false
+ // }
+
+ // }
],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#ffffff",
- "backgroundColor": "#ffffff"
+ "backgroundColor": "#ffffff",
+ "navigationStyle": "custom"
},
- "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": "鎴戠殑"
- }
- ]
- },
+ // "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/changePassword/changePassword.vue b/minipro_standard/pages/changePassword/changePassword.vue
new file mode 100644
index 0000000..a975dd8
--- /dev/null
+++ b/minipro_standard/pages/changePassword/changePassword.vue
@@ -0,0 +1,128 @@
+<template>
+ <view class="password">
+ <view class="password_tip">
+ <image src="@/static/password_ic_tip@2x.png" alt="" />
+ <text>瀵嗙爜鐢�6-20涓嫳鏂囧瓧姣嶃�佹暟瀛楁垨绗﹀彿缁勬垚</text>
+ </view>
+ <view class="password_list">
+ <view class="password_list_item">
+ <text>鍘熷瘑鐮�</text>
+ <view class="password_list_item_box">
+ <input type="password" v-model="form.originalPassword" maxlength="20" placeholder="璇疯緭鍏ュ師瀵嗙爜">
+ </view>
+ </view>
+ <view class="password_list_item">
+ <text>鏂板瘑鐮�</text>
+ <view class="password_list_item_box">
+ <input type="password" v-model="form.newPassword" maxlength="20" placeholder="璇疯緭鍏ユ柊瀵嗙爜">
+ </view>
+ </view>
+ <view class="password_list_item">
+ <text>纭瀵嗙爜</text>
+ <view class="password_list_item_box">
+ <input type="password" v-model="form.confirmPassword" maxlength="20" placeholder="鍐嶆杈撳叆鏂板瘑鐮�">
+ </view>
+ </view>
+ </view>
+ <view class="password_footer">
+ <button v-preventReClick class="password_footer_submit">
+ <text>瀹屾垚</text>
+ </button>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ form: {
+ originalPassword: '',
+ newPassword: '',
+ confirmPassword: ''
+ }
+ };
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .password {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ background: white;
+ .password_tip {
+ height: 72rpx;
+ display: flex;
+ align-items: center;
+ background: #F7F7F7;
+ padding: 0 30rpx;
+ image {
+ width: 24rpx;
+ height: 24rpx;
+ margin-right: 10rpx;
+ }
+ text {
+ font-size: 24rpx;
+ font-weight: 400;
+ color: #666666;
+ }
+ }
+ .password_list {
+ padding: 0 30rpx;
+ .password_list_item {
+ display: flex;
+ align-items: center;
+ height: 90rpx;
+ border-bottom: 1rpx solid #E5E5E5;
+ text {
+ width: 150rpx;
+ flex-shrink: 0;
+ font-size: 30rpx;
+ font-weight: 400;
+ color: #222222;
+ }
+ .password_list_item_box {
+ display: flex;
+ justify-content: space-between;
+ flex: 1;
+ input {
+ border: none;
+ font-size: 30rpx;
+ }
+ input::-webkit-input-placeholder {
+ font-size: 28rpx;
+ font-weight: 400;
+ color: #B2B2B2;
+ }
+ p {
+ font-size: 26rpx;
+ font-weight: 400;
+ color: #4275FC;
+ }
+ }
+ }
+ }
+ .password_footer {
+ margin-top: 80rpx;
+ padding: 0 30rpx;
+ .password_footer_submit {
+ width: 100%;
+ height: 88rpx;
+ border: none;
+ background: #4275FC;
+ box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
+ border-radius: 8rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ text {
+ font-size: 30rpx;
+ font-weight: 500;
+ color: #FFFFFF;
+ }
+ }
+ }
+ }
+</style>
diff --git a/minipro_standard/pages/index/index.vue b/minipro_standard/pages/index/index.vue
index c6d7304..74356de 100644
--- a/minipro_standard/pages/index/index.vue
+++ b/minipro_standard/pages/index/index.vue
@@ -1,73 +1,44 @@
<template>
- <view>
- <myTabbar :index="0" />
+ <view class="index">
+ <web-view v-if="show" @onPostMessage="onMessage" :src="'https://dmtest.ahapp.net/doumeeplant_h5/#/appletLogin?code=' + code"></web-view>
+ <!-- <myTabbar :index="0" /> -->
</view>
</template>
<script>
- import myTabbar from "@/components/myTabber.vue"
+ // import myTabbar from "@/components/myTabber.vue"
export default {
- components: {
- myTabbar
- },
+ // components: {
+ // myTabbar
+ // },
data() {
return {
- form: {
- account: '',
- password: '',
- },
- logining: false,
- openId: ''
+ code: '',
+ show: false
}
},
onLoad() {
- // uni.login({
- // success: data => {
- // this.wxLogin(data.code)
- // },
- // fail: err => {
- // uni.$u.toast(err)
- // }
- // })
+ var that = this
+ uni.login({
+ provider: 'weixin',
+ success: function (loginRes) {
+ // console.log(loginRes);
+ that.code = loginRes.code
+ that.show = true
+ }
+ });
},
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)
- // })
- // }
+ onMessage(e) {
+ console.log('12345654321')
+ }
}
}
</script>
<style lang="scss" scoped>
-
+ .index {
+ width: 100vw;
+ height: 100vh;
+ }
</style>
diff --git a/minipro_standard/pages/mine/mine.vue b/minipro_standard/pages/mine/mine.vue
index 081c8eb..18f9c4f 100644
--- a/minipro_standard/pages/mine/mine.vue
+++ b/minipro_standard/pages/mine/mine.vue
@@ -5,14 +5,14 @@
<image src="@/static/2@2x.png" mode="widthFix" />
<div class="box_info_box">
<text>寮犱笁</text>
- <div class="box_info_box_x">
+ <div class="box_info_box_x" @click="show = true">
<text>璞嗙背绉戞妧</text>
<image src="@/static/mine_ic_change@2x.png" alt="" />
</div>
</div>
</div>
<div class="box_function">
- <div class="box_function_item" v-for="(item, index) in MENU" :key="index">
+ <div class="box_function_item" v-for="(item, index) in MENU" :key="index" @click="jump(item.url)">
<div class="box_function_item_left">
<image :src="item.icon" alt="" />
<text>{{item.name}}</text>
@@ -24,6 +24,8 @@
</div>
<div class="box_out"><text>閫�鍑虹櫥褰�</text></div>
</div>
+ <!-- 閮ㄩ棬閫夋嫨鍣� -->
+ <u-picker :show="show" :columns="columns" @confirm="confirm"></u-picker>
<myTabbar :index="2" />
</view>
</template>
@@ -37,28 +39,31 @@
data() {
return {
MENU: [
- { name: '涓汉淇℃伅', url: '/personal/personalInformation', icon: require('@/static/mine_ic_gerenxinxi@2x.png') },
+ { name: '涓汉淇℃伅', url: '/pages/personal/personal', icon: require('@/static/mine_ic_gerenxinxi@2x.png') },
// { name: '绯荤粺閫氱煡', url: '', icon: require('@/assets/icon/mine_ic_xitonggonggao@2x.png') },
- { name: '鏇存柊鎵嬫満鍙�', url: '/personal/updatePhone', icon: require('@/static/mine_ic_shoujihao@2x.png') },
- { name: '鏇存柊閭鍙�', url: '/personal/updateMailbox', icon: require('@/static/mine_ic_youxianghao@2x.png') },
+ { name: '鏇存柊鎵嬫満鍙�', url: '/pages/updatePhone/updatePhone', icon: require('@/static/mine_ic_shoujihao@2x.png') },
+ { name: '鏇存柊閭鍙�', url: '/pages/updateMailbox/updateMailbox', icon: require('@/static/mine_ic_youxianghao@2x.png') },
{ name: '鎵爜缁戝畾璐﹀彿', url: '', icon: require('@/static/mine_ic_bangding@2x.png') },
- { name: '淇敼瀵嗙爜', url: '/personal/changePassword', icon: require('@/static/mine_ic_xiugaimima@2x.png') },
+ { name: '淇敼瀵嗙爜', url: '/pages/changePassword/changePassword', icon: require('@/static/mine_ic_xiugaimima@2x.png') },
],
- img: require('@/static/mine_bg@2x.png')
+ img: require('@/static/mine_bg@2x.png'),
+ show: false,
+ columns: [
+ ['涓浗', '缇庡浗', '鏃ユ湰']
+ ]
}
},
onLoad() {
uni.hideTabBar()
- // uni.login({
- // success: data => {
- // this.wxLogin(data.code)
- // },
- // fail: err => {
- // uni.$u.toast(err)
- // }
- // })
},
methods: {
+ jump(url) {
+ uni.navigateTo({ url })
+ },
+ confirm(val) {
+ console.log(val)
+ this.show = false
+ }
}
}
</script>
diff --git a/minipro_standard/pages/personal/personal.vue b/minipro_standard/pages/personal/personal.vue
new file mode 100644
index 0000000..22f5c25
--- /dev/null
+++ b/minipro_standard/pages/personal/personal.vue
@@ -0,0 +1,89 @@
+<template>
+ <view class="info">
+ <view class="info_portrait">
+ <image src="@/static/2@2x.png" mode="widthFix" />
+ <text>鐢ㄦ埛鍚�</text>
+ </view>
+ <view class="info_list">
+ <view class="info_list_item">
+ <text>鏄电О</text>
+ <text>鏆傛棤鏄电О</text>
+ </view>
+ <view class="info_list_item">
+ <text>鎵嬫満鍙�</text>
+ <text>鏆傛棤鎵嬫満鍙�</text>
+ </view>
+ <view class="info_list_item">
+ <text>鎵�灞為儴闂�</text>
+ <text>鏆傛棤鎵�灞為儴闂�</text>
+ </view>
+ <view class="info_list_item">
+ <text>宀椾綅</text>
+ <text>鏆傛棤宀椾綅</text>
+ </view>
+ <view class="info_list_item">
+ <text>褰撳墠缁勭粐</text>
+ <text>鏆傛棤缁勭粐</text>
+ </view>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+
+ };
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+.info {
+ padding: 30rpx;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ box-sizing: border-box;
+ background: white;
+ .info_portrait {
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ margin-top: 60rpx;
+ image {
+ width: 140rpx;
+ height: 140rpx;
+ margin-bottom: 30rpx;
+ }
+ text {
+ font-size: 30rpx;
+ font-weight: 400;
+ color: #222222;
+ }
+ }
+ .info_list {
+ margin-top: 30rpx;
+ .info_list_item {
+ height: 98rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ border-bottom: 1rpx solid #E5E5E5;
+ text {
+ &:first-child {
+ font-size: 30rpx;
+ font-weight: 400;
+ color: #777777;
+ }
+ &:last-child {
+ font-size: 28rpx;
+ font-weight: 400;
+ color: #222222;
+ }
+ }
+ }
+ }
+}
+</style>
diff --git a/minipro_standard/pages/updateMailbox/updateMailbox.vue b/minipro_standard/pages/updateMailbox/updateMailbox.vue
new file mode 100644
index 0000000..5af8c3f
--- /dev/null
+++ b/minipro_standard/pages/updateMailbox/updateMailbox.vue
@@ -0,0 +1,130 @@
+<template>
+ <view class="password">
+ <view class="password_tip">
+ <image src="@/static/password_ic_tip@2x.png" mode="widthFix" />
+ <text>缁戝畾閭鍙峰彲浠ユ洿濂藉湴淇濇姢鎮ㄧ殑璐︽埛瀹夊叏锛屼繚鎶や釜浜轰俊鎭笉琚镜瀹炽��</text>
+ </view>
+ <view class="password_list">
+ <view class="password_list_item">
+ <text>褰撳墠缁戝畾</text>
+ <view class="password_list_item_box">
+ <input type="text" disabled v-model="form.currentMailbox" />
+ </view>
+ </view>
+ <view class="password_list_item">
+ <text>鏂伴偖绠卞彿</text>
+ <view class="password_list_item_box">
+ <input type="text" v-model="form.newMailbox" placeholder="璇疯緭鍏ユ柊鐨勯偖绠�" />
+ </view>
+ </view>
+ <view class="password_list_item">
+ <text>楠岃瘉鐮�</text>
+ <view class="password_list_item_box">
+ <input type="text" v-model="form.verificationCode" maxlength="4" placeholder="璇疯緭鍏ラ獙璇佺爜">
+ <p @click="getVerificationCode" v-if="!code.isOpen">鑾峰彇楠岃瘉鐮�</p>
+ <p @click="getVerificationCode" v-else>{{code.num}}</p>
+ </view>
+ </view>
+ </view>
+ <view class="password_footer">
+ <button v-preventReClick class="password_footer_submit">
+ <text>瀹屾垚</text>
+ </button>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ form: {
+ currentMailbox: '',
+ newMailbox: '',
+ verificationCode: ''
+ }
+ };
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .password {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ background: white;
+ .password_tip {
+ padding: 20rpx 30rpx;
+ display: flex;
+ background: #F7F7F7;
+ box-sizing: border-box;
+ image {
+ width: 24rpx;
+ height: 24rpx;
+ margin-right: 10rpx;
+ margin-top: 8rpx;
+ }
+ text {
+ font-size: 24rpx;
+ font-weight: 400;
+ color: #666666;
+ }
+ }
+ .password_list {
+ padding: 0 30rpx;
+ .password_list_item {
+ display: flex;
+ align-items: center;
+ height: 90rpx;
+ border-bottom: 1rpx solid #E5E5E5;
+ text {
+ width: 150rpx;
+ flex-shrink: 0;
+ font-size: 30rpx;
+ font-weight: 400;
+ color: #222222;
+ }
+ .password_list_item_box {
+ display: flex;
+ justify-content: space-between;
+ flex: 1;
+ input {
+ border: none;
+ font-size: 30rpx;
+ }
+ input::-webkit-input-placeholder {
+ font-size: 28rpx;
+ font-weight: 400;
+ color: #B2B2B2;
+ }
+ p {
+ font-size: 26rpx;
+ font-weight: 400;
+ color: #4275FC;
+ }
+ }
+ }
+ }
+ .password_footer {
+ margin-top: 80rpx;
+ padding: 0 30rpx;
+ .password_footer_submit {
+ width: 100%;
+ height: 88rpx;
+ border: none;
+ background: #4275FC;
+ box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
+ border-radius: 8rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ text {
+ font-size: 30rpx;
+ font-weight: 500;
+ color: #FFFFFF;
+ }
+ }
+ }
+ }
+</style>
diff --git a/minipro_standard/pages/updatePhone/updatePhone.vue b/minipro_standard/pages/updatePhone/updatePhone.vue
new file mode 100644
index 0000000..b70fb79
--- /dev/null
+++ b/minipro_standard/pages/updatePhone/updatePhone.vue
@@ -0,0 +1,127 @@
+<template>
+ <view class="password">
+ <view class="password_tip">
+ <image src="@/static/password_ic_tip@2x.png" alt="" />
+ <text>缁戝畾鎵嬫満鍙峰彲浠ユ洿濂藉湴淇濇姢鎮ㄧ殑璐︽埛瀹夊叏锛屼繚鎶や釜浜轰俊鎭笉琚镜瀹炽��</text>
+ </view>
+ <view class="password_list">
+ <view class="password_list_item">
+ <text>褰撳墠缁戝畾</text>
+ <view class="password_list_item_box">
+ <input type="number" disabled v-model="form.currentPhone" maxlength="11">
+ </view>
+ </view>
+ <view class="password_list_item">
+ <text>鏂版墜鏈哄彿</text>
+ <view class="password_list_item_box">
+ <input type="text" v-model="form.newPhone" maxlength="11" placeholder="璇疯緭鍏ユ柊鎵嬫満鍙�">
+ </view>
+ </view>
+ <view class="password_list_item">
+ <text>楠岃瘉鐮�</text>
+ <view class="password_list_item_box">
+ <input type="text" v-model="form.verificationCode" maxlength="4" placeholder="璇疯緭鍏ユ墜鏈洪獙璇佺爜">
+ <p @click="getVerificationCode" v-if="!code.isOpen">鑾峰彇楠岃瘉鐮�</p>
+ <p @click="getVerificationCode" v-else>{{code.num}}</p>
+ </view>
+ </view>
+ </view>
+ <view class="password_footer">
+ <button v-preventReClick class="password_footer_submit" @click="submit">
+ <text>瀹屾垚</text>
+ </button>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ form: {
+ currentPhone: '',
+ newPhone: '',
+ verificationCode: ''
+ }
+ };
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .password {
+ width: 100%;
+ .password_tip {
+ padding: 20rpx 30rpx;
+ display: flex;
+ background: #F7F7F7;
+ box-sizing: border-box;
+ image {
+ width: 24rpx;
+ height: 24rpx;
+ margin-right: 10rpx;
+ margin-top: 8rpx;
+ }
+ text {
+ font-size: 24rpx;
+ font-weight: 400;
+ color: #666666;
+ }
+ }
+ .password_list {
+ padding: 0 30rpx;
+ .password_list_item {
+ display: flex;
+ align-items: center;
+ height: 90rpx;
+ border-bottom: 1rpx solid #E5E5E5;
+ text {
+ width: 150rpx;
+ flex-shrink: 0;
+ font-size: 30rpx;
+ font-weight: 400;
+ color: #222222;
+ }
+ .password_list_item_box {
+ display: flex;
+ justify-content: space-between;
+ flex: 1;
+ input {
+ border: none;
+ font-size: 30rpx;
+ }
+ input::-webkit-input-placeholder {
+ font-size: 28rpx;
+ font-weight: 400;
+ color: #B2B2B2;
+ }
+ p {
+ font-size: 26rpx;
+ font-weight: 400;
+ color: #4275FC;
+ }
+ }
+ }
+ }
+ .password_footer {
+ margin-top: 80rpx;
+ padding: 0 30rpx;
+ .password_footer_submit {
+ width: 100%;
+ height: 88rpx;
+ border: none;
+ background: #4275FC;
+ box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
+ border-radius: 8rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ text {
+ font-size: 30rpx;
+ font-weight: 500;
+ color: #FFFFFF;
+ }
+ }
+ }
+ }
+</style>
diff --git a/platform_web/package.json b/platform_web/package.json
index 44c7272..c288459 100644
--- a/platform_web/package.json
+++ b/platform_web/package.json
@@ -5,7 +5,7 @@
"scripts": {
"serve": "vue-cli-service serve",
"build:pro": "vue-cli-service build",
- "build:staging": "vue-cli-service build --mode staging",
+ "build:dev": "vue-cli-service build --mode staging",
"lint": "vue-cli-service lint",
"fix": "eslint --ext .js,.vue src --fix"
},
diff --git a/platform_web/src/components/business/OperaClientDetailWindow.vue b/platform_web/src/components/business/OperaClientDetailWindow.vue
index 24ed75a..e64ba84 100644
--- a/platform_web/src/components/business/OperaClientDetailWindow.vue
+++ b/platform_web/src/components/business/OperaClientDetailWindow.vue
@@ -6,15 +6,15 @@
@confirm="confirm"
>
<div class="title-style">瀹㈡埛淇℃伅 <div class="tips">{{form.oepnType ? '姝e紡' : '浣撻獙' }}</div><div class="tips">鏈夋晥鏈燂細{{ form.oepnValidDate.substring(0, form.oepnValidDate.length-9) }}</div></div>
- <el-descriptions direction="horizontal" :column="1">
- <el-descriptions-item label="瀹㈡埛鍚嶇О">{{ form.orgName }}</el-descriptions-item>
- <el-descriptions-item label="瀹㈡埛绠�绉�">{{ form.remark }}</el-descriptions-item>
- <el-descriptions-item label="涓荤櫥褰曡处鍙�">{{ form.phone }}</el-descriptions-item>
- <el-descriptions-item label="鎵�鍦ㄥ湴鍧�">{{ form.addr }}</el-descriptions-item>
- <el-descriptions-item label="浼佷笟淇$敤浠g爜">{{ form.creditCode }}</el-descriptions-item>
- <el-descriptions-item label="鑱旂郴浜�">{{ form.linkName }} {{ form.linkPhone }}</el-descriptions-item>
- <el-descriptions-item label="閿�鍞汉鍛�">{{ form.salespersonName }} {{ form.salespersonmobile }}</el-descriptions-item>
- <el-descriptions-item label="钀ヤ笟鎵х収">
+ <el-descriptions direction="horizontal" :column="1" :colon="false">
+ <el-descriptions-item label="瀹㈡埛鍚嶇О锛�">{{ form.orgName }}</el-descriptions-item>
+ <el-descriptions-item label="瀹㈡埛绠�绉帮細">{{ form.remark }}</el-descriptions-item>
+ <el-descriptions-item label="涓荤櫥褰曡处鍙凤細">{{ form.phone }}</el-descriptions-item>
+ <el-descriptions-item label="鎵�鍦ㄥ湴鍧�锛�">{{ form.addr }}</el-descriptions-item>
+ <el-descriptions-item label="浼佷笟淇$敤浠g爜锛�">{{ form.creditCode }}</el-descriptions-item>
+ <el-descriptions-item label="鑱旂郴浜猴細">{{ form.linkName }} {{ form.linkPhone }}</el-descriptions-item>
+ <el-descriptions-item label="閿�鍞汉鍛橈細">{{ form.salespersonName }} {{ form.salespersonmobile }}</el-descriptions-item>
+ <el-descriptions-item label="钀ヤ笟鎵х収锛�">
<!-- {{ form.fileurlfull }} -->
<el-image
v-if="form.fileStoreAddr"
@@ -24,7 +24,7 @@
:preview-src-list="[form.fileurlfull]"
></el-image>
</el-descriptions-item>
- <el-descriptions-item label="绯荤粺璁块棶鍦板潃">
+ <el-descriptions-item label="绯荤粺璁块棶鍦板潃锛�">
<a :href="form.systemUrl" target="_blank" rel="noopener noreferrer">{{ form.systemUrl }}</a>
<span style="cursor: pointer; margin-left: 10px;" @click="copy">澶嶅埗</span>
</el-descriptions-item>
@@ -78,7 +78,7 @@
open (target) {
this.title = '瀹㈡埛璧勬枡'
this.visible = true
- // debugger
+ debugger
// 缂栬緫
this.$nextTick(() => {
for (const key in this.form) {
@@ -102,7 +102,10 @@
<style lang="scss" scoped>
::v-deep .el-descriptions-item__label {
- width: 90px;
+ width: 85px;
+ text-align: right;
+ display: flex;
+ flex-direction: row-reverse;
}
.title-style {
font-weight: 500;
diff --git a/platform_web/src/components/business/OperaClientMangerWindow.vue b/platform_web/src/components/business/OperaClientMangerWindow.vue
index 9d37323..9a42755 100644
--- a/platform_web/src/components/business/OperaClientMangerWindow.vue
+++ b/platform_web/src/components/business/OperaClientMangerWindow.vue
@@ -54,8 +54,8 @@
</el-form-item>
</div>
<div class="tip-line">
- <el-form-item label="寮�閫氱敤鎴锋暟" prop="openUserNum">
- <el-input v-model="form.openUserNum" placeholder="璇疯緭鍏ュ紑閫氱敤鎴锋暟" v-trim/>
+ <el-form-item label="浜烘暟闄愬埗" prop="openUserNum">
+ <el-input v-model="form.openUserNum" placeholder="璇疯緭鍏ヤ汉鏁伴檺鍒�" v-trim/>
娉細涓�0涓嶉檺鍒朵汉鏁�
</el-form-item>
</div>
@@ -150,7 +150,7 @@
linkPhone: '',
fileStoreAddr: '',
fileurlfull: '',
- openUserNum:0
+ openUserNum: 10
// fileList: [],
},
isEdit: false,
diff --git a/platform_web/src/views/business/clientManger.vue b/platform_web/src/views/business/clientManger.vue
index 6b36e93..4c2d44c 100644
--- a/platform_web/src/views/business/clientManger.vue
+++ b/platform_web/src/views/business/clientManger.vue
@@ -51,11 +51,11 @@
<span>{{ row.oepnType == 1 ? '姝e紡' : '璇曠敤' }}</span>
</template>
</el-table-column>
+ <el-table-column prop="openUserNum" label="浜烘暟闄愬埗" align="center" min-width="140px"></el-table-column>
<el-table-column prop="phone" label="涓昏处鍙�" align="center" min-width="100px"></el-table-column>
<el-table-column prop="linkName" label="鑱旂郴浜�" align="center" min-width="100px"></el-table-column>
<el-table-column prop="linkPhone" label="鑱旂郴鐢佃瘽" align="center" min-width="120px"></el-table-column>
<el-table-column prop="oepnValidDate" label="鏈夋晥鏈�" align="center" min-width="140px"></el-table-column>
- <el-table-column prop="openUserNum" label="寮�閫氱敤鎴锋暟" align="center" min-width="140px"></el-table-column>
<el-table-column prop="salespersonName" label="閿�鍞汉鍛�" align="center" min-width="100px"></el-table-column>
<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" align="center" min-width="140px"></el-table-column>
<el-table-column prop="status" label="鐘舵��" align="center" min-width="100px">
@@ -142,8 +142,13 @@
// this.$refs.operaApplianceChangeDetailWindow.open('鏇存崲鍗曡鎯�', row)
findCompanyInfo({ CompanyId: row.id })
.then(res => {
- const element = isEdit ? this.$refs.operaClientMangerWindow : this.$refs.operaClientDetailWindow
- element.open(res)
+ if (isEdit) {
+ this.$refs.operaClientMangerWindow.open({...res, openUserNum: row.openUserNum})
+ } else {
+ this.$refs.operaClientDetailWindow.open(res)
+ }
+ // const element = isEdit ? this.$refs.operaClientMangerWindow : this.$refs.operaClientDetailWindow
+ // element.open({...res, ...row})
})
.catch(err => {
this.$tip.error(err)
diff --git a/platform_web/src/views/system/loginLog.vue b/platform_web/src/views/system/loginLog.vue
index 60d10ae..aff49db 100644
--- a/platform_web/src/views/system/loginLog.vue
+++ b/platform_web/src/views/system/loginLog.vue
@@ -5,7 +5,7 @@
<el-form-item label="鐧诲綍鐢ㄦ埛鍚�" prop="loginUsername">
<el-input v-model="searchForm.loginUsername" placeholder="璇疯緭鍏ョ櫥褰曠敤鎴峰悕" @keypress.enter.native="search"></el-input>
</el-form-item>
- <el-form-item label="鐧诲綍IP" prop="ip">
+ <!-- <el-form-item label="鐧诲綍IP" prop="ip">
<el-input v-model="searchForm.ip" placeholder="璇疯緭鍏ョ櫥褰旾P" @keypress.enter.native="search"></el-input>
</el-form-item>
<el-form-item label="鏈嶅姟鍣↖P" prop="serverIp">
@@ -16,8 +16,8 @@
<el-option value="true" label="鐧诲綍鎴愬姛"/>
<el-option value="false" label="鐧诲綍澶辫触"/>
</el-select>
- </el-form-item>
- <el-form-item label="鏉ユ簮" prop="success">
+ </el-form-item> -->
+ <el-form-item label="鏉ユ簮" prop="orgin">
<el-select v-model="searchForm.orgin" placeholder="璇烽�夋嫨鐧诲綍鏉ユ簮" clearable @change="search">
<el-option value="0" label="PC鐧婚檰"/>
<el-option value="1" label="閽夐拤骞冲彴"/>
@@ -26,7 +26,7 @@
<el-option value="4" label="寰俊灏忕▼搴�"/>
</el-select>
</el-form-item>
- <el-form-item label="鐧诲綍鏃堕棿" prop="loginTime">
+ <!-- <el-form-item label="鐧诲綍鏃堕棿" prop="loginTime">
<el-date-picker
v-model="searchDateRange"
type="datetimerange"
@@ -36,10 +36,10 @@
end-placeholder="缁撴潫鏃堕棿"
@change="handleSearchTimeChange"
></el-date-picker>
- </el-form-item>
+ </el-form-item> -->
<section>
<el-button type="primary" @click="search">鎼滅储</el-button>
- <el-button :loading="isWorking.export" @click="exportExcel">瀵煎嚭</el-button>
+ <!-- <el-button :loading="isWorking.export" @click="exportExcel">瀵煎嚭</el-button> -->
<el-button @click="reset">閲嶇疆</el-button>
</section>
</el-form>
@@ -50,16 +50,23 @@
:data="tableData.list"
stripe
border
- :default-sort="{prop: 'loginTime', order: 'descending'}"
@sort-change="handleSortChange"
>
+ <!-- :default-sort="{prop: 'loginTime', order: 'descending'}" -->
+
<el-table-column prop="orgin" label="鏉ユ簮" align="center" min-width="100px">
<template slot-scope="{row}">
{{row.orgin | orginText}}
</template>
</el-table-column>
+ <el-table-column prop="companyUserId" label="鐢ㄦ埛id" align="center" min-width="100px"></el-table-column>
<el-table-column prop="companyName" label="浼佷笟鍚嶇О" align="center" min-width="100px"></el-table-column>
<el-table-column prop="loginUsername" label="鐧诲綍鐢ㄦ埛鍚�" align="center" min-width="100px"></el-table-column>
+ <el-table-column prop="companyUserName" label="鐧诲綍鐢ㄦ埛鍚�" align="center" min-width="100px">
+ <template slot-scope="{row}">
+ {{ row.companyUserName || row.loginUsername }}
+ </template>
+ </el-table-column>
<el-table-column prop="ip" label="鐧诲綍IP" align="center" min-width="120px"></el-table-column>
<el-table-column prop="location" label="鐧诲綍鍦板潃" align="center" min-width="160px"></el-table-column>
<el-table-column prop="clientInfo" label="瀹㈡埛绔�" align="center" min-width="160px"></el-table-column>
@@ -73,7 +80,11 @@
{{row.success | statusText}}
</template>
</el-table-column>
- <el-table-column prop="reason" label="澶辫触鍘熷洜" min-width="160px"></el-table-column>
+ <el-table-column prop="reason" label="澶辫触鍘熷洜" min-width="160px" show-overflow-tooltip>
+ <template slot-scope="{row}">
+ <span class="lang-title-style">{{ row.reason }}</span>
+ </template>
+ </el-table-column>
</el-table>
<pagination
@size-change="handleSizeChange"
@@ -133,15 +144,7 @@
},
methods: {
// 鏃堕棿鎼滅储鑼冨洿鍙樺寲
- handleSearchTimeChange (value) {
- this.searchForm.startTime = null
- this.searchForm.endTime = null
- if (value != null) {
- this.searchForm.startTime = value[0]
- this.searchForm.endTime = value[1]
- }
- this.search()
- }
+
},
created () {
this.config({
@@ -155,6 +158,24 @@
}]
})
this.search()
+ },
+ methods: {
+ handleSearchTimeChange (value) {
+ this.searchForm.startTime = null
+ this.searchForm.endTime = null
+ if (value != null) {
+ this.searchForm.startTime = value[0]
+ this.searchForm.endTime = value[1]
+ }
+ this.search()
+ },
+ reset() {
+ this.$refs.searchForm.resetFields()
+ this.searchDateRange = []
+ this.searchForm.startTime = ''
+ this.searchForm.endTime = ''
+ this.search()
+ }
}
}
</script>
diff --git a/screen_standard/src/views/index.vue b/screen_standard/src/views/index.vue
index 16b27c6..025a41b 100644
--- a/screen_standard/src/views/index.vue
+++ b/screen_standard/src/views/index.vue
@@ -285,9 +285,11 @@
.then(res => {
if (res.length > 0) {
data.baseNum = res[0].doneNum
- data.production = res
- start()
+ } else {
+ data.baseNum = 0
}
+ data.production = res
+ data.fifthScroll = true
})
// 浠撳簱瀹炴椂浣欓噺缁熻
// getStockList(companyId.value, departId.value)
@@ -405,6 +407,11 @@
fontSize: 12
}
},
+ grid: {
+ top: 40,
+ bottom: 30,
+ left: 60
+ },
xAxis: {
type: 'category',
boundaryGap: false,
@@ -412,6 +419,15 @@
lineStyle: {
width: 0.5,
color: ['#fff']
+ }
+ },
+ axisLine: {
+ show: true,
+ onZero: true,
+ lineStyle: {
+ width: 0.5,
+ color: '#fff',
+ opacity: .5
}
},
axisLabel: {
@@ -428,6 +444,15 @@
lineStyle: {
width: 0.5,
color: ['#fff']
+ }
+ },
+ axisLine: {
+ show: true,
+ onZero: true,
+ lineStyle: {
+ width: 1,
+ color: '#fff',
+ opacity: .5
}
},
axisLabel: {
@@ -767,18 +792,29 @@
if (scrollDom.offsetHeight == 0) {
scrollDom = scrollContainer4.value
} else {
- // console.log(bottom1.value.height);
- let num = scrollContainer4.value.offsetHeight / 35;
- // alert(scrollDom.children.length +"---------------"+num)
- // 濡傛灉鍒楄〃鏁伴噺杩囧皯涓嶈繘琛屾粴鍔�
+ // console.log(scrollDom.offsetHeight);
+ let num = scrollDom.offsetHeight / 35;
+ num = num + (scrollDom.offsetHeight % 35 > 0 ? 1 : 0)
+ // console.log('----------');
+ // console.log('scrollDom.children.length', scrollDom.children.length)
+ // console.log('scrollDom.offsetHeight % 35', scrollDom.offsetHeight % 35)
+ // console.log('num', num)
+ // console.log('----------');
+ // // 濡傛灉鍒楄〃鏁伴噺杩囧皯涓嶈繘琛屾粴鍔�
if (scrollDom.children.length <= num) {
clearTimeout(timer4.value)
return
}
// 缁勪欢杩涜婊氬姩
- scrollDom.scrollTop += 2
+ scrollDom.scrollTop += 1
+
// 鍒ゆ柇鏄惁婊氬姩鍒板簳閮�
- if (scrollDom.scrollTop+1 >= (scrollDom.scrollHeight - scrollDom.clientHeight)) {
+ if (scrollDom.scrollTop >= (scrollDom.scrollHeight - scrollDom.clientHeight)) {
+ console.log('scrollDom.scrollTop', scrollDom.scrollTop);
+ console.log('scrollDom.scrollHeight', scrollDom.scrollHeight);
+ console.log('scrollDom.clientHeight', scrollDom.clientHeight );
+ // if (scrollDom.scrollTop >= 35) {
+
// 鑾峰彇缁勪欢绗竴涓妭鐐�
let first = scrollDom.children[0]
// 鍒犻櫎鑺傜偣
@@ -794,8 +830,23 @@
// })
onMounted(() => {
- if (!departId.value) return;
- timer5.value = setInterval(init(), 60000)
+ if (departId.value) {
+ console.log('onMounted');
+ init()
+ timer5.value = setInterval(init, 60000)
+ timer.value = setInterval(scrillAction, 100)
+ }
+ window.addEventListener('resize', () => {
+ setTypeChart()
+ setDayChart()
+ })
+
+})
+
+onUnmounted(() => {
+ clearTimeout(timer.value)
+ clearTimeout(timer5.value)
+
})
</script>
diff --git a/screen_standard/src/views/process.vue b/screen_standard/src/views/process.vue
index 5ddfde1..d81206d 100644
--- a/screen_standard/src/views/process.vue
+++ b/screen_standard/src/views/process.vue
@@ -328,6 +328,15 @@
color: ['#fff']
}
},
+ axisLine: {
+ show: true,
+ onZero: true,
+ lineStyle: {
+ width: 1,
+ color: '#fff',
+ opacity: .5
+ }
+ },
axisLabel: {
textStyle: {
color: '#fff'
@@ -344,6 +353,15 @@
color: ['#fff']
}
},
+ axisLine: {
+ show: true,
+ onZero: true,
+ lineStyle: {
+ width: 1,
+ color: '#fff',
+ opacity: .5
+ }
+ },
axisLabel: {
textStyle: {
color: '#fff'
diff --git a/screen_standard/vite.config.js b/screen_standard/vite.config.js
index 966fbbe..722a9a4 100644
--- a/screen_standard/vite.config.js
+++ b/screen_standard/vite.config.js
@@ -11,10 +11,10 @@
// https://vitejs.dev/config/
export default defineConfig(({mode, command}) => {
let env = loadEnv(mode, process.cwd(), '')
- console.log('-------');
- console.log(env.VITE_BASE_PATH);
- console.log(env.VITE_BASE_PATH.replace(env.VITE_BASE_PATH, ''));
- console.log('-------');
+ // console.log('-------');
+ // console.log(env.VITE_BASE_PATH);
+ // console.log(env.VITE_BASE_PATH.replace(env.VITE_BASE_PATH, ''));
+ // console.log('-------');
return {
base:env.VITE_BASE_CONTEXT,
plugins: [
@@ -42,6 +42,8 @@
// 鏈湴杩愯閰嶇疆锛屽強鍙嶅悜浠g悊閰嶇疆
server: {
+ host: '192.168.0.3',
+ port: '8080',
cors: true, // 榛樿鍚敤骞跺厑璁镐换浣曟簮
open: true, // 鍦ㄦ湇鍔″櫒鍚姩鏃惰嚜鍔ㄥ湪娴忚鍣ㄤ腑鎵撳紑搴旂敤绋嬪簭
//鍙嶅悜浠g悊閰嶇疆锛屾敞鎰弐ewrite鍐欐硶锛屽紑濮嬫病鐪嬫枃妗e湪杩欓噷韪╀簡鍧�
diff --git a/web_standard/.env.development b/web_standard/.env.development
index 475d3bc..1d53d1c 100644
--- a/web_standard/.env.development
+++ b/web_standard/.env.development
@@ -14,14 +14,14 @@
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 = 'http://192.168.0.35:10021/'
# 娴嬭瘯鏈嶅姟鍣�
# VUE_APP_BASE_URL = 'https://dmtest.ahapp.net/doumeeplant_api/'
diff --git a/web_standard/coderd.json b/web_standard/coderd.json
index 36dcaf5..d5d499c 100644
--- a/web_standard/coderd.json
+++ b/web_standard/coderd.json
@@ -4,7 +4,7 @@
"alias": "eva",
"command": "page",
"option": {
- "resources": "salary_param"
+ "resources": "unqualified_record"
}
}
}
\ No newline at end of file
diff --git a/web_standard/package.json b/web_standard/package.json
index 51ae3a5..1703628 100644
--- a/web_standard/package.json
+++ b/web_standard/package.json
@@ -4,8 +4,8 @@
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
- "build": "vue-cli-service build",
- "build:staging": "vue-cli-service build --mode staging",
+ "build:pro": "vue-cli-service build",
+ "build:dev": "vue-cli-service build --mode staging",
"lint": "vue-cli-service lint",
"fix": "eslint --ext .js,.vue src --fix"
},
diff --git a/web_standard/public/template/device_import_template.xlsx b/web_standard/public/template/device_import_template.xlsx
new file mode 100644
index 0000000..5eedf8a
--- /dev/null
+++ b/web_standard/public/template/device_import_template.xlsx
Binary files differ
diff --git a/web_standard/src/api/business/unqualifiedRecord.js b/web_standard/src/api/business/unqualifiedRecord.js
new file mode 100644
index 0000000..b063192
--- /dev/null
+++ b/web_standard/src/api/business/unqualifiedRecord.js
@@ -0,0 +1,16 @@
+import request from '../../utils/request'
+
+// 鏌ヨ
+export function fetchList (data) {
+ return request.post('/business/unqualifiedRecord/page', data, {
+ trim: true
+ })
+}
+
+// 瀵煎嚭Excel
+export function exportExcel (data) {
+ return request.post('/business/unqualifiedRecord/exportExcel', data, {
+ trim: true,
+ download: true
+ })
+}
diff --git a/web_standard/src/api/ext/categoryUnionExt.js b/web_standard/src/api/ext/categoryUnionExt.js
index 8305850..c3a74f9 100644
--- a/web_standard/src/api/ext/categoryUnionExt.js
+++ b/web_standard/src/api/ext/categoryUnionExt.js
@@ -26,7 +26,7 @@
}
// 鏌ヨ鎵�鏈�
export function checkAllList (data) {
- return request.post('/ext/categoryUnionExt/checkAllList', data)
+ return request.post('/ext/categoryExt/list', data)
}
// 鍒犻櫎
diff --git a/web_standard/src/api/ext/workorderRecordPutExt.js b/web_standard/src/api/ext/workorderRecordPutExt.js
new file mode 100644
index 0000000..e66cac1
--- /dev/null
+++ b/web_standard/src/api/ext/workorderRecordPutExt.js
@@ -0,0 +1,16 @@
+import request from '../../utils/request'
+
+// 鏌ヨ
+export function fetchList (data) {
+ return request.post('/ext/workorderRecordExt/page', data, {
+ trim: true
+ })
+}
+
+// 瀵煎嚭Excel
+export function exportExcel (data) {
+ return request.post('/ext/workorderRecordExt/exportExcelFeeding', data, {
+ trim: true,
+ download: true
+ })
+}
diff --git a/web_standard/src/components/common/Header.vue b/web_standard/src/components/common/Header.vue
index 82597f4..674ffae 100644
--- a/web_standard/src/components/common/Header.vue
+++ b/web_standard/src/components/common/Header.vue
@@ -200,8 +200,8 @@
* 閫�鍑虹櫥褰�
*/
logout () {
- console.log(this.$store.state.companyId);
- debugger
+ // console.log(this.$store.state.companyId);
+ // debugger
logout()
.then(() => {
let companyId = this.$store.state.userInfo.company.id
diff --git a/web_standard/src/components/common/Menu.vue b/web_standard/src/components/common/Menu.vue
index 34cb1e8..3b9319f 100644
--- a/web_standard/src/components/common/Menu.vue
+++ b/web_standard/src/components/common/Menu.vue
@@ -30,7 +30,7 @@
name: 'Menu',
components: { Scrollbar, MenuItems },
computed: {
- ...mapState(['menuData']),
+ ...mapState(['menuData', 'userInfo']),
// 閫変腑鐨勮彍鍗昳ndex
activeIndex () {
let path = this.$route.path
@@ -59,6 +59,10 @@
*/
handleSelect (menuIndex) {
const menuConfig = this.__getMenuConfig(menuIndex, 'index', this.menuData.list)
+ if (menuConfig.url.includes('http')) {
+ window.open(`${menuConfig.url}?companyId=${this.userInfo.company.id}`, '_black')
+ return
+ }
// 鎵句笉鍒伴〉闈�
try {
require('@/views' + menuConfig.url)
diff --git a/web_standard/src/components/ext/OperaPlansDetailExtWindow.vue b/web_standard/src/components/ext/OperaPlansDetailExtWindow.vue
index d5299f7..ad4674c 100644
--- a/web_standard/src/components/ext/OperaPlansDetailExtWindow.vue
+++ b/web_standard/src/components/ext/OperaPlansDetailExtWindow.vue
@@ -31,7 +31,7 @@
</el-form-item>
<el-form-item label="鍙戝竷鏃ユ湡">{{ form.publishDate }}</el-form-item>
<el-form-item label="璁″垝浜哄憳">{{ form.usermodel.realname }}</el-form-item>
- <el-form-item label="鍒嗛厤鏁伴噺">{{ form.workorderDistributNum }}</el-form-item>
+ <el-form-item label="鍒嗛厤鏁伴噺">{{ form.distributNum }}</el-form-item>
<el-form-item label="瀹屽伐鏁伴噺">{{ form.doneNum }}</el-form-item>
</el-form>
</div>
diff --git a/web_standard/src/components/ext/OperaUnitExtWindow.vue b/web_standard/src/components/ext/OperaUnitExtWindow.vue
index 1396cbf..546279f 100644
--- a/web_standard/src/components/ext/OperaUnitExtWindow.vue
+++ b/web_standard/src/components/ext/OperaUnitExtWindow.vue
@@ -29,7 +29,7 @@
</el-option>
</el-select>
</el-form-item>-->
- <el-form-item v-else label="鍗曚綅绫诲瀷" prop="types">
+ <!-- <el-form-item label="鍗曚綅绫诲瀷" prop="types">
<el-select v-model="form.types" multiple filterable clearable placeholder="璇烽�夋嫨">
<el-option
v-for="(item, index) in unitTypes"
@@ -38,7 +38,7 @@
:value="item.id">
</el-option>
</el-select>
- </el-form-item>
+ </el-form-item> -->
</el-form>
</GlobalWindow>
</template>
@@ -58,7 +58,7 @@
name: '',
attributeData: 0,
//types: [],
- // type: null
+ type: 1
},
// 楠岃瘉瑙勫垯
rules: {
@@ -97,7 +97,7 @@
}
// 璋冪敤鏂板缓鎺ュ彛
const newForm = JSON.parse(JSON.stringify(this.form))
- newForm.types = newForm.types.join(',')
+ // newForm.types = newForm.types.join(',')
this.isWorking = true
this.api.create(newForm)
.then(() => {
@@ -115,4 +115,7 @@
}
}
}
+/**
+ *
+ */
</script>
diff --git a/web_standard/src/components/ext/OperaWInboundExtWindow.vue b/web_standard/src/components/ext/OperaWInboundExtWindow.vue
index 8c51fc6..cd18790 100644
--- a/web_standard/src/components/ext/OperaWInboundExtWindow.vue
+++ b/web_standard/src/components/ext/OperaWInboundExtWindow.vue
@@ -1,11 +1,5 @@
<template>
- <GlobalWindow
- :title="title"
- width="80%"
- :visible.sync="visible"
- :confirm-working="isWorking"
- @confirm="confirm"
- >
+ <GlobalWindow :title="title" width="80%" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm">
<div style="margin-bottom: 10px">
<span class="title-add-style" style="vertical-align:middle">鍏ュ簱淇℃伅</span>
<!-- <el-button type="primary" style="margin-left: 10px;vertical-align:middle">閫夋嫨鏉ユ簮鍗曟嵁</el-button> -->
@@ -19,36 +13,24 @@
<el-input v-model="form.originCode" disabled placeholder="閫夋嫨鏉ユ簮鍗曟嵁鍚庨粯璁ゅ甫鍑�" v-trim/>
</el-form-item> -->
<el-form-item label="璁″垝鍏ュ簱鏃ユ湡" prop="planDate">
- <el-date-picker
- v-model="form.planDate"
- value-format="yyyy-MM-dd"
- placeholder="閫夋嫨鏃ユ湡"
- :picker-options="pickerOptions"
- ></el-date-picker>
+ <el-date-picker v-model="form.planDate" value-format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡"
+ :picker-options="pickerOptions"></el-date-picker>
</el-form-item>
<el-form-item label="鍏ュ簱绫诲瀷" prop="type">
<el-select v-model="form.type" :disabled="disabled" placeholder="璇烽�夋嫨鍏ュ簱绫诲瀷">
- <el-option
- v-for="(item, index) in type"
- :key="index"
- :label="item.name"
- :value="item.id">
+ <el-option v-for="(item, index) in type" :key="index" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="鍏ュ簱浠撳簱" prop="warehouseId">
<el-select v-model="form.warehouseId" filterable clearable placeholder="璇烽�夋嫨鍏ュ簱浠撳簱" @change="selectWare">
- <el-option
- v-for="(item, index) in tempWarehouses"
- :key="index"
- :label="item.name"
- :value="item.id">
+ <el-option v-for="(item, index) in tempWarehouses" :key="index" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<div class="mark">
<el-form-item label="鍗曟嵁鎽樿" prop="abstracts">
- <el-input v-model="form.abstracts" placeholder="璇疯緭鍏ュ崟鎹憳瑕�" v-trim/>
+ <el-input v-model="form.abstracts" placeholder="璇疯緭鍏ュ崟鎹憳瑕�" v-trim />
</el-form-item>
</div>
</el-form>
@@ -61,11 +43,7 @@
<li><el-button type="primary" @click="addMaterial">閫夋嫨鐗╂枡</el-button></li>
</ul>
- <el-table
- :data="form.woutboundInBodyBeanList"
- border
- stripe
- >
+ <el-table :data="form.woutboundInBodyBeanList" border stripe>
<el-table-column align="center" label="搴忓彿" type="index" />
<el-table-column prop="code" label="鐗╂枡缂栫爜" show-overflow-tooltip min-width="160px">
<template slot-scope="{row}">
@@ -80,65 +58,46 @@
<el-table-column v-if="whLocation.length" label="璐т綅" min-width="100px">
<template slot-scope="{row}">
<el-select v-model="row.locationId" filterable placeholder="璇烽�夋嫨" @select="selectLocation">
- <el-option
- v-for="(item, index) in whLocation"
- :key="index"
- :label="item.unionName"
- :value="item.id">
+ <el-option v-for="(item, index) in whLocation" :key="index" :label="item.unionName" :value="item.id">
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="璐ㄩ噺灞炴��" min-width="100px">
<template slot-scope="scope">
- <el-select v-model="scope.row.qualityType" :disabled='canSelect(scope.$index)' filterable clearable placeholder="璇烽�夋嫨">
- <el-option
- v-for="(item, index) in properties"
- :key="index"
- :label="item.name"
- :value="item.id">
+ <el-select v-model="scope.row.qualityType" :disabled='canSelect(scope.$index)' filterable clearable
+ placeholder="璇烽�夋嫨">
+ <el-option v-for="(item, index) in properties" :key="index" :label="item.name" :value="item.id">
</el-option>
</el-select>
</template>
</el-table-column>
- <el-table-column v-if="winType==2" label="宸ュ簭" min-width="100px">
- <template slot-scope="{row}">
- <el-select v-model="row.procedureId" filterable placeholder="璇烽�夋嫨" @select="selectProcedure">
- <el-option
- v-for="(item, index) in row.procedureList"
- :key="index"
- :label="item.name"
- :value="item.id">
- </el-option>
- </el-select>
- </template>
- </el-table-column>
+ <el-table-column v-if="winType == 2" label="宸ュ簭" min-width="100px">
+ <template slot-scope="{row}">
+ <el-select v-model="row.procedureId" :disabled="!row.procedureList" filterable placeholder="璇烽�夋嫨">
+ <el-option v-for="(item, index) in row.procedureList" :key="index" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ </template>
+ </el-table-column>
<el-table-column label="鎵规鍙�" min-width="100px">
<template slot-scope="{row}">
- <el-input v-model="row.batch" placeholder="璇疯緭鍏ユ壒娆″彿" v-trim/>
+ <el-input v-model="row.batch" placeholder="璇疯緭鍏ユ壒娆″彿" v-trim />
</template>
</el-table-column>
<el-table-column prop="umodelName" label="鍗曚綅" min-width="60px"></el-table-column>
<el-table-column label="鍏ュ簱鏁伴噺" min-width="100px">
<template slot-scope="{row}">
- <el-input v-model="row.num" type="number" placeholder="鍏ュ簱鏁伴噺" v-trim/>
+ <el-input v-model="row.num" type="number" placeholder="鍏ュ簱鏁伴噺" v-trim />
</template>
</el-table-column>
- <el-table-column
- label="鎿嶄綔"
- min-width="60px"
- align="center"
- fixed="right"
- >
+ <el-table-column label="鎿嶄綔" min-width="60px" align="center" fixed="right">
<template slot-scope="{row}">
<span class="delete-button-style" @click="deleteMaterail(row)">鍒犻櫎</span>
</template>
</el-table-column>
</el-table>
- <SelectMaterail
- ref="selectMaterail"
- @selectData="selectData"
- ></SelectMaterail>
+ <SelectMaterail ref="selectMaterail" @selectData="selectData"></SelectMaterail>
</GlobalWindow>
</template>
@@ -155,7 +114,7 @@
GlobalWindow,
SelectMaterail: () => import('@/components/ext/SelectMaterail')
},
- data () {
+ data() {
return {
// 琛ㄥ崟鏁版嵁
form: {
@@ -166,7 +125,7 @@
origin: 0,
woutboundInBodyBeanList: []
},
- winType:0,
+ winType: 0,
disabled: false,
pickerOptions: {},
tempWarehouses: [],
@@ -179,29 +138,29 @@
activeName: 'first',
whLocation: [],
type: [
- {name:'閲囪喘鍏ュ簱', id: 25}
+ { name: '閲囪喘鍏ュ簱', id: 25 }
],
tempMaterials: [
],
selectedMaterails: [],
properties: [
// 0 1涓嶈壇 2鎶ュ簾
- {name:'鍚堟牸', id: 0},
- {name:'涓嶈壇', id: 1},
- {name:'鎶ュ簾', id: 2},
+ { name: '鍚堟牸', id: 0 },
+ { name: '涓嶈壇', id: 1 },
+ { name: '鎶ュ簾', id: 2 },
]
}
},
inject: ['warehouses'],
- created () {
+ created() {
this.config({
api: '/ext/wOutboundExt',
'field.id': 'id'
})
this.pickerOptions.disabledDate = (time) => {
- // 涓�澶�
- let tempTime = 3600 * 1000 * 24
- return time.getTime() < new Date()-tempTime
+ // 涓�澶�
+ let tempTime = 3600 * 1000 * 24
+ return time.getTime() < new Date() - tempTime
}
// queryListByCode('?dicCode=SYSTEM_APPLIANCE_TYPE')
// .then(res => {
@@ -230,10 +189,10 @@
}
this.__confirmEdit()
},
- open (title, type = 0) {
+ open(title, type = 0) {
this.title = title
this.visible = true
- this.winType=type
+ this.winType = type
// 鏂板缓
this.$nextTick(() => {
this.$refs.form.resetFields()
@@ -242,16 +201,17 @@
if (title === '鍏跺畠鍏ュ簱') {
this.form.planDate = new Date()
this.form.type = null
+ // this.form.woutboundInBodyBeanList = []
this.disabled = false
this.type = [
- { name:'瀹㈤��妫�楠屽叆搴�', id: 26 },
- { name:'瀹㈣繑妫�楠屽叆搴�', id: 27 },
- { name:'搴撳瓨璋冩暣', id: 28 }
+ { name: '瀹㈤��妫�楠屽叆搴�', id: 26 },
+ { name: '瀹㈣繑妫�楠屽叆搴�', id: 27 },
+ { name: '搴撳瓨璋冩暣', id: 28 }
]
} else {
this.disabled = true
this.type = [
- { name:'閲囪喘鍏ュ簱', id: 25 }
+ { name: '閲囪喘鍏ュ簱', id: 25 }
]
}
@@ -271,15 +231,15 @@
this.tempWarehouses = this.warehouses()
}
})
-
+
},
- selectWare (v) {
+ selectWare(v) {
// console.log(v)
getListByWarehouseId(v)
.then(res => {
console.log(res)
this.whLocation = res
- if (this.whLocation.length === 0 ) {
+ if (this.whLocation.length === 0) {
let temQualityType = 0
for (const item of this.tempWarehouses) {
if (item.id === v) {
@@ -313,9 +273,9 @@
.catch(err => {
console.log(err)
})
-
+
},
- setQuality (type) {
+ setQuality(type) {
for (const item of this.form.woutboundInBodyBeanList) {
item.qualityType = type
}
@@ -351,7 +311,7 @@
}
return !cans
},
- selectLocation (v) {
+ selectLocation(v) {
// console.log(index, row);
// for (const item of this.whLocation) {
// if (item.id === v) {
@@ -380,16 +340,16 @@
// }
// }
},
- addMaterial () {
+ addMaterial() {
// console.log('澧炲姞鐗╂枡')
// const ids = this.form.woutboundInBodyBeanList.map(e => { return e.materialId }).join(',')
- this.$refs.selectMaterail.open('閫夋嫨鐗╂枡', { ids: '', multiple: true, isPurchase:false,queryType:1 })
+ this.$refs.selectMaterail.open('閫夋嫨鐗╂枡', { ids: '', multiple: true, isPurchase: false, queryType: 1 })
},
- deleteMaterail (row) {
+ deleteMaterail(row) {
// console.log('鍒犻櫎鐗╂枡')
this.form.woutboundInBodyBeanList.splice(this.form.woutboundInBodyBeanList.indexOf(row), 1)
},
- selectData (data) {
+ selectData(data) {
// 閫夋嫨鐗╂枡鍥炶皟
console.log(data)
for (const item of data.selectedMaterails) {
@@ -397,8 +357,8 @@
code: item.mmodelCode,
name: item.mmodelUnionName,
umodelName: item.umodelName,
- procedureList:item.procedureList,
- procedureId:null,
+ procedureList: item.procedureList,
+ procedureId: item.procedureList ? item.procedureList[0].id : null,
locationId: this.whLocation.length ? this.whLocation[0].id : null,
qualityType: this.whLocation.length ? 0 : this.houseProperty,
materialId: item.id,
@@ -408,14 +368,14 @@
})
}
},
- __confirmCreate () {
+ __confirmCreate() {
this.$refs.form.validate((valid) => {
if (!this.form.woutboundInBodyBeanList.length) {
this.$tip.error('鑷冲皯閫夋嫨涓�鏉$墿鏂�')
return
}
for (const item of this.form.woutboundInBodyBeanList) {
- if (item.num<=0) {
+ if (item.num <= 0) {
this.$tip.error('鍏ュ簱鐗╂枡鏁伴噺蹇呴』澶т簬0锛�')
return
}
@@ -449,28 +409,33 @@
.toolbar {
border-bottom: 1px solid #eee;
padding-bottom: 10px;
+
li {
display: inline-block;
margin-right: 6px;
}
}
+
.form-data {
- ::v-deep .el-form-item{
+ ::v-deep .el-form-item {
width: 40%;
margin-right: 1%;
}
+
.mark {
.el-form-item {
width: 81%;
// margin-right: 1%;
}
}
+
::v-deep .el-form-item__content {
width: calc(100% - 134px);
}
}
+
.delete-button-style {
- color: red;
- cursor: pointer;
- }
+ color: red;
+ cursor: pointer;
+}
</style>
diff --git a/web_standard/src/components/system/role/PermissionConfigWindow.vue b/web_standard/src/components/system/role/PermissionConfigWindow.vue
index 1b8a8e2..b848cd6 100644
--- a/web_standard/src/components/system/role/PermissionConfigWindow.vue
+++ b/web_standard/src/components/system/role/PermissionConfigWindow.vue
@@ -69,8 +69,6 @@
*/
confirm () {
const selectedPermissions = this.$refs.tree.getCheckedNodes(false, true).filter(item => item.type !== 'module').map(item => item.id)
- console.log(selectedPermissions);
- debugger
this.isWorking = true
createRolePermission({
roleId: this.role.id,
diff --git a/web_standard/src/components/system/user/OperaSystemRoleApplysWindow.vue b/web_standard/src/components/system/user/OperaSystemRoleApplysWindow.vue
index 8b9efa0..3e92857 100644
--- a/web_standard/src/components/system/user/OperaSystemRoleApplysWindow.vue
+++ b/web_standard/src/components/system/user/OperaSystemRoleApplysWindow.vue
@@ -76,8 +76,8 @@
// 纭閫夋嫨鏉冮檺
confirm () {
this.isWorking = true
- console.log(this.selectedIds);
- debugger
+ // console.log(this.selectedIds);
+ // debugger
createRolePermission({
roleId: this.role.id,
permissionIds: this.selectedIds
diff --git a/web_standard/src/components/system/user/OperaSystemRoleNone.vue b/web_standard/src/components/system/user/OperaSystemRoleNone.vue
index fe51722..ea58b3d 100644
--- a/web_standard/src/components/system/user/OperaSystemRoleNone.vue
+++ b/web_standard/src/components/system/user/OperaSystemRoleNone.vue
@@ -75,8 +75,6 @@
// 纭閫夋嫨鏉冮檺
confirm () {
this.isWorking = true
- console.log(this.selectedIds);
- debugger
createRolePermission({
roleId: this.role.id,
permissionIds: this.selectedIds,
diff --git a/web_standard/src/layouts/TableLayout.vue b/web_standard/src/layouts/TableLayout.vue
index 898f162..125231c 100644
--- a/web_standard/src/layouts/TableLayout.vue
+++ b/web_standard/src/layouts/TableLayout.vue
@@ -133,8 +133,13 @@
line-height: 20px;
display: flex;
align-items: center;
+ width: 100%;
+ // justify-content: center;
}
}
+ ::v-deep .el-table--small td {
+ padding: 0 !important;
+ }
// 澶嶉�夋鍒�
.el-table-column--selection {
.cell {
diff --git a/web_standard/src/views/business/unqualifiedRecord.vue b/web_standard/src/views/business/unqualifiedRecord.vue
new file mode 100644
index 0000000..d27e83d
--- /dev/null
+++ b/web_standard/src/views/business/unqualifiedRecord.vue
@@ -0,0 +1,98 @@
+<template>
+ <TableLayout :permissions="['business:unqualifiedrecord:query']">
+ <!-- 鎼滅储琛ㄥ崟 -->
+ <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+ <el-form-item label="宸ュ崟缂栫爜" prop="code">
+ <el-input v-model="searchForm.code" placeholder="璇疯緭鍏ュ伐鍗曠紪鐮�" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="涓嶈壇椤�" prop="categoryId">
+ <el-select v-model="searchForm.categoryId" filterable clearable placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="(item, index) in category"
+ :key="index"
+ :label="item.name"
+ :value="item.id">
+ </el-option>
+ </el-select>
+ </el-form-item>
+
+ <section>
+ <el-button type="primary" @click="search">鎼滅储</el-button>
+
+ <el-button @click="reset">閲嶇疆</el-button>
+ </section>
+ </el-form>
+ <!-- 琛ㄦ牸鍜屽垎椤� -->
+ <template v-slot:table-wrap>
+ <ul class="toolbar" v-permissions="['business:unqualifiedrecord:exportExcel']">
+ <el-button type="primary" :loading="isWorking.export" v-permissions="['business:unqualifiedrecord:exportExcel']" @click="exportExcel">瀵煎嚭</el-button>
+ </ul>
+ <el-table
+ v-loading="isWorking.search"
+ :data="tableData.list"
+ border
+ stripe
+ >
+ <el-table-column type="index" :index="customIndex" label="搴忓彿" align="center" fixed="left" min-width="80px"></el-table-column>
+ <el-table-column prop="workOrderCode" label="宸ュ崟缂栫爜" align="center" min-width="100px"></el-table-column>
+ <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" align="center" min-width="100px"></el-table-column>
+ <el-table-column prop="materialCode" label="鐗╂枡缂栫爜" align="center" min-width="100px"></el-table-column>
+ <el-table-column prop="proceduresName" label="宸ュ簭" align="center" min-width="100px"></el-table-column>
+ <el-table-column prop="categoryName" label="涓嶈壇椤�" align="center" min-width="100px"></el-table-column>
+ <el-table-column prop="unqualifiedNum" label="鏁伴噺" align="center" min-width="100px"></el-table-column>
+ <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" align="center" min-width="100px"></el-table-column>
+ <el-table-column prop="createUserName" label="鍒涘缓浜�" align="center" min-width="100px"></el-table-column>
+ </el-table>
+ <pagination
+ @size-change="handleSizeChange"
+ @current-change="handlePageChange"
+ :pagination="tableData.pagination"
+ >
+ </pagination>
+ </template>
+ </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import { checkAllList } from '@/api/ext/categoryUnionExt'
+export default {
+ name: 'UnqualifiedRecord',
+ extends: BaseTable,
+ components: { TableLayout, Pagination },
+ data () {
+ return {
+ // 鎼滅储
+ searchForm: {
+ code: '',
+ categoryId: ''
+ },
+ category: []
+ }
+ },
+ created () {
+ this.config({
+ module: '宸ュ崟绫�-鎶ュ伐涓嶈壇璁板綍绫诲瀷琛�',
+ api: '/business/unqualifiedRecord',
+ 'field.id': 'id',
+ 'field.main': 'id'
+ })
+ this.search()
+ checkAllList({ cateType: 3 })
+ .then(res => {
+ this.category = res
+ })
+ .catch(err => {
+ console.log(err)
+ })
+ },
+ methods: {
+ customIndex(index) {
+ return (this.tableData.pagination.pageIndex-1) * this.tableData.pagination.pageSize + index + 1
+ }
+ },
+}
+
+</script>
diff --git a/web_standard/src/views/ext/appliancesExt.vue b/web_standard/src/views/ext/appliancesExt.vue
index 194cd73..bb77f3d 100644
--- a/web_standard/src/views/ext/appliancesExt.vue
+++ b/web_standard/src/views/ext/appliancesExt.vue
@@ -15,7 +15,7 @@
<el-option
v-for="item in appTypes"
:key="item.id"
- :label="item.combinationName"
+ :label="item.name"
:value="item.id"
>
</el-option>
@@ -393,7 +393,7 @@
'field.main': 'name'
})
this.search()
- checkAllList({ bmodelCateType: 2 })
+ checkAllList({ cateType: 2 })
.then(res => {
this.appTypes = res
})
diff --git a/web_standard/src/views/ext/deviceExt.vue b/web_standard/src/views/ext/deviceExt.vue
index e609b81..aa0b933 100644
--- a/web_standard/src/views/ext/deviceExt.vue
+++ b/web_standard/src/views/ext/deviceExt.vue
@@ -55,6 +55,15 @@
<template v-slot:table-wrap>
<ul class="toolbar">
<li><el-button type="primary" @click="$refs.operaDeviceExtWindow.open('鏂板缓璁惧')" v-permissions="['ext:deviceext:create']">鏂板</el-button></li>
+ <li v-permissions="['ext:deviceExt:importExcel']">
+ <ImportButton
+ text="瀵煎叆"
+ template-name="device_import_template.xlsx"
+ template-path="/template/device_import_template.xlsx"
+ action="/ext/deviceExt/importBatch"
+ @success="search"
+ />
+ </li>
<li>
<el-button
type="primary"
@@ -86,12 +95,12 @@
</el-table-column>
<el-table-column prop="wpmodel.unionName" label="寰呯敓浜ц揣浣�" show-overflow-tooltip min-width="100px">
<template slot-scope="{row}">
- <span class="long-title-style">{{ row.wpmodel.unionName }}</span>
+ <span class="long-title-style">{{ row.wpmodel ? row.wpmodel.unionName : '-' }}</span>
</template>
</el-table-column>
<el-table-column prop="wfmodel.unionName" label="宸插畬宸ヨ揣浣�" show-overflow-tooltip min-width="100px">
<template slot-scope="{row}">
- <span class="long-title-style">{{ row.wfmodel.unionName }}</span>
+ <span class="long-title-style">{{ row.wfmodel ? row.wfmodel.unionName : '-' }}</span>
</template>
</el-table-column>
<el-table-column prop="stationCode" label="宸ヤ綅缂栧彿" min-width="100px"></el-table-column>
@@ -143,6 +152,7 @@
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
+import ImportButton from '@/components/common/ImportButton'
// import SearchFormCollapse from '@/components/common/SearchFormCollapse'
import Pagination from '@/components/common/Pagination'
import OperaDeviceExtWindow from '@/components/ext/OperaDeviceExtWindow'
@@ -153,7 +163,7 @@
export default {
name: 'DeviceExt',
extends: BaseTable,
- components: { TableLayout, Pagination, OperaDeviceExtWindow, QrCodeLabel },
+ components: { TableLayout, Pagination, OperaDeviceExtWindow, ImportButton, QrCodeLabel },
data () {
return {
// 鎼滅储
@@ -256,4 +266,7 @@
}
}
}
+/**
+ *
+ */
</script>
diff --git a/web_standard/src/views/ext/salaryStatistic.vue b/web_standard/src/views/ext/salaryStatistic.vue
index 396fb7b..8383e36 100644
--- a/web_standard/src/views/ext/salaryStatistic.vue
+++ b/web_standard/src/views/ext/salaryStatistic.vue
@@ -182,7 +182,6 @@
return '-'
},
customIndex(index) {
- console.log();
return (this.tableData.pagination.pageIndex-1) * this.tableData.pagination.pageSize + index + 1
}
}
diff --git a/web_standard/src/views/ext/workorderPutRecordExt.vue b/web_standard/src/views/ext/workorderPutRecordExt.vue
index cbd9424..58a2f0e 100644
--- a/web_standard/src/views/ext/workorderPutRecordExt.vue
+++ b/web_standard/src/views/ext/workorderPutRecordExt.vue
@@ -111,9 +111,9 @@
<el-table-column prop="batch" label="鐢熶骇鎵规鍙�" min-width="100px"></el-table-column>
<el-table-column prop="promodel.name" label="宸ュ簭" min-width="100px"></el-table-column>
<el-table-column prop="omodel.planNum" label="璁″垝鏁伴噺" min-width="100px">
- <template slot-scope="{row}">
+ <!-- <template slot-scope="{row}">
<span>{{ row.omodel.planNum + row.umodel.name }}</span>
- </template>
+ </template> -->
</el-table-column>
<el-table-column prop="procedureName" label="鐢熶骇鍛樺伐" show-overflow-tooltip min-width="100px">
<template slot-scope="{row}">
@@ -218,7 +218,7 @@
created () {
this.config({
module: '鎶曟枡璁板綍',
- api: '/ext/workorderRecordExt',
+ api: '/ext/workorderRecordPutExt',
'field.id': 'id',
'field.main': 'name',
sorts: [{ direction: 'DESC', property: 'CREATE_TIME' }]
--
Gitblit v1.9.3