From 2903f0fb05e8818bf5be4b7f629f7d8226480fa1 Mon Sep 17 00:00:00 2001
From: Mr.Zhang <710666463@qq.com>
Date: 星期五, 25 八月 2023 18:36:37 +0800
Subject: [PATCH] 1.0.3 企业 大屏 平台
---
web_standard/src/components/common/Header.vue | 4
web_standard/src/views/ext/salaryStatistic.vue | 1
web_standard/src/components/system/user/OperaSystemRoleApplysWindow.vue | 4
web_standard/src/components/common/Menu.vue | 6
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/src/layouts/TableLayout.vue | 5
web_standard/package.json | 4
web_standard/src/api/business/unqualifiedRecord.js | 16 +
web_standard/src/api/ext/workorderRecordPutExt.js | 16 +
web_standard/src/components/ext/OperaWInboundExtWindow.vue | 161 ++++++---------
platform_web/src/components/business/OperaClientMangerWindow.vue | 6
platform_web/src/views/business/clientManger.vue | 11
web_standard/src/api/ext/categoryUnionExt.js | 2
web_standard/src/components/ext/OperaUnitExtWindow.vue | 11
web_standard/public/template/device_import_template.xlsx | 0
platform_web/src/views/system/loginLog.vue | 55 +++-
screen_standard/src/views/process.vue | 18 +
web_standard/src/components/system/user/OperaSystemRoleNone.vue | 2
web_standard/src/components/ext/OperaPlansDetailExtWindow.vue | 2
web_standard/src/components/system/role/PermissionConfigWindow.vue | 2
web_standard/src/views/ext/appliancesExt.vue | 4
web_standard/src/views/business/unqualifiedRecord.vue | 98 +++++++++
platform_web/package.json | 2
web_standard/src/views/ext/workorderPutRecordExt.vue | 6
web_standard/.env.development | 4
platform_web/src/components/business/OperaClientDetailWindow.vue | 27 +-
29 files changed, 392 insertions(+), 177 deletions(-)
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