From 8130823e7e4c36e1c10705c734b0b60b5f193958 Mon Sep 17 00:00:00 2001
From: zhy <luhan1008611>
Date: 星期三, 25 十月 2023 17:30:36 +0800
Subject: [PATCH] feat: 本地修改测试
---
admin-web/src/views/foundation/classification/edit.vue | 134 +
admin-web/src/views/systemManger/server/user/index.vue | 29
admin-web/src/views/foundation/store/edit.vue | 111 +
admin-web/src/views/foundation/classification/index.vue | 280 +++
admin-web/src/utils/settingIplatform.js | 5
admin-web/src/views/foundation/classification/items.js | 47
admin-web/src/views/stock/transfer/transferApplication/index.vue | 457 +++++
admin-web/src/views/foundation/store/index.vue | 307 +++
admin-web/src/views/systemSetting/department/items.js | 33
admin-web/src/views/foundation/material/edit.vue | 130 +
admin-web/src/views/stock/accessStock/outbound/index.vue | 449 ++++
admin-web/src/views/systemManger/org/index.vue | 13
admin-web/src/views/systemSetting/dict/index.vue | 32
admin-web/public/static/config.js | 5
admin-web/src/views/systemSetting/department/index.vue | 405 ++++
admin-web/src/views/stock/transfer/transferdetails/index.vue | 282 +++
admin-web/src/views/systemSetting/role/index.vue | 6
admin-web/src/views/stock/procure/receiptDetails/index.vue | 280 +++
admin-web/src/views/stock/accessStock/outboundDetails/edit.vue | 111 +
admin-web/src/views/stock/procure/purchaseOrder/index.vue | 457 +++++
admin-web/src/views/stock/transfer/transferissue/index.vue | 457 +++++
admin-web/src/components/myTable/myTableV2.vue | 2
admin-web/README.md | 61
admin-web/src/views/systemSetting/department/data.vue | 427 ++++
admin-web/src/views/stock/transfer/transferdetails/edit.vue | 111 +
admin-web/src/views/stock/procure/receiptDetails/edit.vue | 111 +
admin-web/src/views/systemManger/server/user/items.js | 4
admin-web/src/views/stock/accessStock/outboundDetails/index.vue | 280 +++
admin-web/src/views/foundation/material/index.vue | 342 +++
29 files changed, 5,332 insertions(+), 36 deletions(-)
diff --git a/admin-web/README.md b/admin-web/README.md
index d7977b7..dd5a982 100644
--- a/admin-web/README.md
+++ b/admin-web/README.md
@@ -232,4 +232,63 @@
```
"highlight.js": "10.7.3",
-
+## 璺敱鏂囦欢鍚嶇О
+# 搴撳瓨绠$悊/鍑哄叆搴撶鐞�
+<!-- 鍑哄簱绠$悊 -->
+/stock/accessStock/outbound
+<!-- 鍑哄叆搴撴槑缁� -->
+/stock/accessStock/outboundDetails
+# 搴撳瓨绠$悊/閲囪喘绠$悊
+<!-- 閲囪喘鍗� -->
+/stock/procure/purchaseOrder
+<!-- 閲囪喘鍏ュ簱鏄庣粏 -->
+/stock/procure/receiptDetails
+# 搴撳瓨绠$悊/璋冩嫧绠$悊
+<!-- 璋冩嫧鐢宠 -->
+/stock/transfer/transferApplication
+<!-- 璋冩嫧鍑哄簱 -->
+/stock/transfer/transferissue
+<!-- 璋冩嫧鏄庣粏 -->
+/stock/transfer/transferdetails
+# 搴撳瓨绠$悊/搴撳瓨鐩樼偣
+<!-- 鐩樼偣浠诲姟 -->
+/stock/inventorycount/inventorytask
+<!-- 寮傚父鏄庣粏 -->
+/stock/inventorycount/exceptionDetails
+# 搴撳瓨绠$悊/鎶ュ簾绠$悊
+<!-- 鐗╁搧鎶ュ簾 -->
+/stock/scrap/itemScrapping
+<!-- 鎶ュ簾鏄庣粏 -->
+/stock/scrap/scrapDetails
+# 搴撳瓨绠$悊/鍙拌处鏌ヨ
+<!-- 搴撳瓨鏌ヨ -->
+/stock/ledger/inventoryQuery
+<!-- 搴撳瓨棰勮璁剧疆 -->
+/stock/ledger/inventoryAlert
+<!-- 棰勮鏌ヨ -->
+/stock/ledger/alertQuery
+<!-- 鍙拌处鏌ヨ -->
+/stock/ledger/ledgerQuery
+# 閮ㄩ棬鐗╁搧绠$悊/鐗╁搧鍒嗗彂
+<!-- 鐗╁搧鍒嗗彂 -->
+/departmentitem/itemdis/distribution
+<!-- 鍒嗗彂鏄庣粏 -->
+/departmentitem/itemdis/disDetails
+# 閮ㄩ棬鐗╁搧绠$悊/鐗╁搧閫�鍥�
+<!-- 閫�鍥炲崟 -->
+/departmentitem/itemret/returnNote
+<!-- 閫�鍥炴槑缁� -->
+/departmentitem/itemret/retDetails
+# 閮ㄩ棬鐗╁搧绠$悊/鐗╁搧鎶ュ簾
+<!-- 鐗╁搧鎶ュ簾 -->
+/departmentitem/itemscr/scrapping
+<!-- 鎶ュ簾鏄庣粏 -->
+/departmentitem/itemscr/scrappDetails
+# 閮ㄩ棬鐗╁搧绠$悊/鍙拌处鏌ヨ
+<!-- 鐗╁搧鏌ヨ -->
+/departmentitem/ledgerquy/itemQuy
+<!-- 鍙拌处鏌ヨ -->
+/departmentitem/ledgerquy/ledQuy
+# 缁熻鎶ヨ〃
+<!-- 鐗╁搧缁熻琛� -->
+/statisticalreport/itemReport
\ No newline at end of file
diff --git a/admin-web/public/static/config.js b/admin-web/public/static/config.js
index 96f2e66..40ba56b 100644
--- a/admin-web/public/static/config.js
+++ b/admin-web/public/static/config.js
@@ -9,11 +9,12 @@
// 鏈嶅姟鍣ㄥ湴鍧�
httpUrl: VUE_APP_API_URL,
// 涓婁紶璺緞
- ftpUrl: 'http://172.16.60.209:8082/progress',//寮�鍙�
+ ftpUrl: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙�
// ftpUrl:'https://jmy.jinmingyuan.com/progress',// 娴嬭瘯,
// 鎺ュ彛璇锋眰鍦板潃
// apiBaseURL: 'http://116.198.39.83:8082/progress', // 姝e紡
- apiBaseURL: 'http://172.16.60.90:8082/progress',//寮�鍙�
+ // apiBaseURL: 'http://172.16.60.90:8082/progress',//寮�鍙�
+ apiBaseURL: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙�
// apiBaseURL: 'https://jmy.jinmingyuan.com/progress',// 娴嬭瘯,
// socket杩炴帴
wsSocketUrl: VUE_APP_WS_URL,
diff --git a/admin-web/src/components/myTable/myTableV2.vue b/admin-web/src/components/myTable/myTableV2.vue
index 5857918..faeb6c2 100644
--- a/admin-web/src/components/myTable/myTableV2.vue
+++ b/admin-web/src/components/myTable/myTableV2.vue
@@ -365,7 +365,7 @@
*/
search(param) {
this.$nextTick(() => {
- this.myTable.loading = true
+ // this.myTable.loading = true
const params = Object.assign({}, this.filter)
if(this.myTable.paging.show){
params.pageSize = this.myTable.paging.page.pageSize
diff --git a/admin-web/src/utils/settingIplatform.js b/admin-web/src/utils/settingIplatform.js
index 3743ccf..22e6d80 100644
--- a/admin-web/src/utils/settingIplatform.js
+++ b/admin-web/src/utils/settingIplatform.js
@@ -8,11 +8,12 @@
// 鏈嶅姟鍣ㄥ湴鍧�
httpUrl: VUE_APP_API_URL,
// 涓婁紶璺緞
- ftpUrl: 'http://172.16.60.209:8082/progress',//寮�鍙�
+ ftpUrl: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙�
// ftpUrl:'https://jmy.jinmingyuan.com/progress',// 娴嬭瘯,
// 鎺ュ彛璇锋眰鍦板潃
// apiBaseURL: 'http://116.198.39.83:8082/progress', // 姝e紡
- apiBaseURL: 'http://172.16.60.90:8082/progress',//寮�鍙�
+ // apiBaseURL: 'http://172.16.60.90:8082/progress',//寮�鍙�
+ apiBaseURL: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙�
// apiBaseURL: 'https://jmy.jinmingyuan.com/progress',// 娴嬭瘯,
// socket杩炴帴
wsSocketUrl: VUE_APP_WS_URL,
diff --git a/admin-web/src/views/foundation/classification/edit.vue b/admin-web/src/views/foundation/classification/edit.vue
new file mode 100644
index 0000000..137165d
--- /dev/null
+++ b/admin-web/src/views/foundation/classification/edit.vue
@@ -0,0 +1,134 @@
+<template>
+ <win-sm :title="setting.title" @close="close" :width="'800px'">
+ <el-form ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px">
+ <el-form-item label="涓婄骇鍒嗙被" prop="code">
+ <el-input v-model="formData.code" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <el-form-item label="鍒嗙被鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <el-form-item label="绫诲埆" prop="name">
+ <!-- <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/> -->
+ <el-select v-model="formData.planTypeCode" placeholder="" clearable style="width: 100%">
+ <el-option
+ v-for="item in options"
+ :key="item.code"
+ :label="item.label"
+ :value="item.code">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="椤哄簭" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <el-form-item label="鐘舵��" prop="status">
+ <el-switch
+ v-model="formData.status"
+ active-color="#0d997c"
+ inactive-color="#C0CCDA">
+ </el-switch>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" align="center" class="dialog-footer">
+ <my-button name="鍙栨秷" site="form" @click="close"/>
+ <my-button name="淇濆瓨" site="form" @click="save"/>
+ </div>
+ </win-sm>
+</template>
+
+<script>
+import winSm from '@/components/win/win-sm'
+import myButton from '@/components/myButton/myButton'
+import * as finsystenant from '@/api/baseSetting/finsystenant'
+
+export default {
+ components: {winSm, myButton},
+ props: {
+ setting: {
+ type: Object,
+ default: () => {
+ }
+ }
+ },
+ data() {
+ return {
+ checkAll: false,
+ checkedList: [],
+ options:[
+ {
+ code: 1,
+ label:'A'
+ },
+ {
+ code: 2,
+ label:'B'
+ },
+ {
+ code: 3,
+ label:'C'
+ }
+ ],
+ formData: {
+ code: '',
+ name: '',
+ status: true,
+ summary: '',
+ planTypeCode:''
+ },
+ rules: {
+ code: [
+ {required: true, message: '璇疯緭鍏ユ満鏋勭紪鍙�', trigger: 'blur'}
+ ],
+ name: [
+ {required: true, message: '璇疯緭鍏ユ満鏋勫悕绉�', trigger: 'blur'}
+ ]
+ }
+ }
+ },
+ created() {
+ if(this.setting.info){
+ this.formData = Object.assign({},JSON.parse(this.setting.info))
+ }
+ },
+ methods: {
+ getEditInfo(id){
+
+ },
+ close() {
+ this.$emit('close')
+ },
+ save() {
+ this.$refs.ruleForm.validate((valid) => {
+ if (valid) {
+ const params = Object.assign({}, this.formData)
+ if(this.setting.id){
+ // 缂栬緫鎺ュ彛
+ finsystenant.edit(params).then(res => {
+ if (res) {
+ this.$message.success('淇濆瓨鎴愬姛锛�')
+ this.close()
+ this.$emit('search')
+ } else {
+ this.$message.error('淇濆瓨澶辫触')
+ }
+ })
+ }else{
+ params.orgId = this.setting.orgId
+ finsystenant.add(params).then(res => {
+ if (res) {
+ this.$message.success('淇濆瓨鎴愬姛锛�')
+ this.close()
+ this.$emit('search')
+ } else {
+ this.$message.error('淇濆瓨澶辫触')
+ }
+ })
+ }
+ } else {
+ this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��')
+ }
+ })
+ }
+ }
+}
+</script>
diff --git a/admin-web/src/views/foundation/classification/index.vue b/admin-web/src/views/foundation/classification/index.vue
new file mode 100644
index 0000000..026e52c
--- /dev/null
+++ b/admin-web/src/views/foundation/classification/index.vue
@@ -0,0 +1,280 @@
+<template>
+ <div class="app-container">
+ <el-container>
+ <el-card shadow="never" style="width: 240px;margin-right: 15px">
+ <my-tree ref="searchTree" :tree-list="treeDataList" @setNode="nodeClick" @search="search"></my-tree>
+ </el-card>
+ <el-container>
+ <el-card class="box-card" style="width: 100%" shadow="never">
+ <!--鎼滅储鏉′欢-->
+ <div class="filter-container">
+ <my-search ref="searchBar" :items="items" @search="fifterForm"></my-search>
+ </div>
+ <el-row style="margin-top: 15px">
+ <el-col>
+ <!--鍒楄〃-->
+ <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
+ </el-col>
+ </el-row>
+ <!--娣诲姞/缂栬緫寮圭獥-->
+ <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"/>
+ </el-card>
+ </el-container>
+ </el-container>
+ <my-import
+ :import-setting="importSetting"
+ :dialog-show="importSetting.dialogShow"
+ :dialog-title="importSetting.dialogTitle"
+ />
+ </div>
+</template>
+
+<script>
+import myTree from '@/components/myTree/index'
+import MyTableV2 from "@/components/myTable/myTableV2";
+import MyButton from "@/components/myButton/myButton";
+import SettingIplatform from '@/utils/settingIplatform';
+import items from './items'
+import edit from './edit'
+import * as finsystenant from '@/api/baseSetting/finsystenant'
+import myImport from '@/views/components/myImport'
+import {updStatus} from "@/api/baseSetting/finsystenant";
+import {getBaseUrl, getUploadUrl} from '@/utils/base';
+
+export default {
+ name: "index",
+ components: {MyButton, MyTableV2, edit, myTree, myImport},
+ data() {
+ return {
+ // 鎼滅储妗�
+ items: items,
+ // 鏍戞暟鎹�
+ treeDataList: [],
+ // 鎼滅储鏉′欢
+ filterFrom: {
+ tenantId: null,
+ userName: null,
+ userPhone: null,
+ status: 1
+ },
+ // 瀵煎叆
+ importSetting: {
+ dialogTitle: '瀵煎叆',
+ dialogShow: false,
+ fileSettings: {
+ data: {},
+ uploadUrl: getBaseUrl()+"/pc/fin/sys/tenant/import", // 涓婁紶鍦板潃
+ accept: '.xls', // 鏍煎紡
+ type: 'text', // 鍥炴樉褰㈠紡
+ loading: false // 瀵煎叆鏁堟灉
+ },
+ /* 妯℃澘涓嬭浇 */
+ templateSettings: {
+ templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О
+ templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate' // 涓嬭浇鍦板潃
+ },
+ onSuccess: null
+ },
+ editSetting: {
+ title: '',
+ id: '',
+ orgId: '',
+ show: false,
+ },
+ // 琛ㄦ牸鏁版嵁
+ table: {
+ showIndex: true, // 鏄惁鏄剧ず搴忓彿
+ expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁
+ url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/list', // 璇锋眰鍦板潃
+ // 宸ュ叿鏉�
+ tools: {
+ columnsCtrl: {// 鍒楁帶鍒舵寜閽�
+ show: false
+ },
+ generalExport: {// 閫氱敤瀵煎嚭鎸夐挳
+ show: false
+ },
+ // 鑷畾涔夊伐鍏锋潯鎸夐挳
+ custom: [
+ {
+ name: '鏂板',
+ click: () => {
+ this.showAdd(null);
+ },
+ },
+ ]
+ },
+ // 鍒椾俊鎭�
+ columns: [
+ {title: '鍒嗙被鍚嶇О', field: 'category_Name', align: 'center'},
+ {title: '绫诲埆', field: 'classification', align: 'left'},
+ {title: '鏄剧ず椤哄簭', field: 'order_Number', align: 'center', width: '80px'},
+ {
+ field: 'states',
+ title: '鐘舵��',
+ align: 'center',
+ width: 100,
+ switch: row => {
+ const result = {}
+ if (row.status == 1) {
+ Object.assign(result, {
+ value: true, // 寮�
+ label: '鏄�', // 寮�鐨勬弿杩�
+ click: () => { // 鐐瑰嚮浜嬩欢
+ this.updState(row)
+ }
+ })
+ } else {
+ Object.assign(result, {
+ value: false, // 鍏�
+ label: '鍚�', // 鍏崇殑鎻忚堪
+ click: () => {
+ this.updState(row)
+ }
+ })
+ }
+ return result
+ }
+ }
+ ],
+ // 鎿嶄綔淇℃伅
+ operation: {
+ show: true, // 鏄剧ず鎿嶄綔鍒�
+ width: '150', // 鍒楀
+ attr: [
+ {
+ title: '缂栬緫',
+ events: (row) => {
+ this.showAudit(row);
+ },
+ },
+ {
+ title: '鍒犻櫎',
+ events: (row) => {
+ this.del(row);
+ },
+ }
+ ],
+ },
+ paging: {
+ show: true, // 鏄剧ず鍒嗛〉
+ // 鍒嗛〉淇℃伅
+ page: {
+ small: false,
+ pageNum: 1,
+ pageSize: 10,
+ total: 0
+ }
+ }
+ },
+ }
+ },
+ created() {
+ // 鑾峰彇鏈烘瀯鏍�
+ this.initTreeData()
+ },
+ methods: {
+ //瀵煎叆
+ importOrg() {
+ this.importSetting.dialogShow = true
+ this.importSetting.onSuccess = (response, callBack) => {
+ if (response.code===1){
+ this.$message.success(response.msg)
+ this.search(1)
+ }else{
+ this.$message.warning(response.msg)
+ }
+ callBack()
+ }
+ },
+ // 宸︿晶鏍戝垵濮嬪寲
+ initTreeData() {
+ finsystenant.getTree().then(res => {
+ const content = res || []
+ this.treeDataList.splice(0, this.treeDataList.length)
+ this.treeDataList = content
+ if (content.length > 0) {
+ this.importSetting.fileSettings.data = {pid: content[0].id}
+ }
+ })
+ },
+ updState(row) {
+ let vm = this
+ let text = row.status == 0 ? "鍚敤" : "绂佺敤";
+ vm.$modal.confirm('纭瑕�' + text + '"' + row.name + '"鍚楋紵').then(function () {
+ let params = Object.assign({}, row)
+ params.status = row.status == 1 ? 0 : 1
+ finsystenant.edit(params).then(res => {
+ if (res) {
+ row.status = row.status === 1 ? 0 : 1
+ vm.$modal.msgSuccess(text + "鎴愬姛");
+ vm.search()
+ }
+ })
+ })
+ },
+ del(row) {
+ this.$modal
+ .confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.name + '"鐨勬満鏋勫悧锛�')
+ .then(function () {
+ finsystenant.del({id: row.id}).then((res) => {
+ });
+ })
+ .then((res) => {
+ this.$message.success('鍒犻櫎鎴愬姛锛�');
+ this.search()
+ })
+ .catch(() => {
+ });
+ },
+ showAdd() {
+ // if (!this.editSetting.orgId) {
+ // this.$message.warning('璇峰厛閫夋嫨宸︿晶鏈烘瀯')
+ // } else {
+ this.editSetting.id = null;
+ this.editSetting.info = null;
+ this.editSetting.title = '鏂板';
+ this.editSetting.show = true;
+ // }
+ },
+ showAudit(row) {
+ this.editSetting.id = row.id;
+ this.editSetting.info = JSON.stringify(row);
+ this.editSetting.title = '缂栬緫';
+ this.editSetting.show = true;
+ },
+ nodeClick(param) {
+ param = param || {}
+ this.p = Object.assign({}, {
+ id: param.id,
+ name: param.name
+ })
+ if (this.p.id != undefined && this.p.id != null) {
+ this.filterFrom.tenantId = this.p.id
+ this.editSetting.orgId = this.p.id
+ } else {
+ this.filterFrom.tenantId = null
+ this.editSetting.orgId = null
+ }
+ this.importSetting.fileSettings.data = {pid: param.id}
+ this.search(1)
+ },
+ // 鏌ヨtable鍒楄〃
+ search(pageNum) {
+ if (pageNum != undefined) {
+ this.$refs.myTable.search(pageNum)
+ } else {
+ this.$refs.myTable.search()
+ }
+ },
+ fifterForm(params) {
+ this.filterFrom = Object.assign(this.filterFrom, params)
+ this.search(1)
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/admin-web/src/views/foundation/classification/items.js b/admin-web/src/views/foundation/classification/items.js
new file mode 100644
index 0000000..82b5b87
--- /dev/null
+++ b/admin-web/src/views/foundation/classification/items.js
@@ -0,0 +1,47 @@
+export default [
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鍒嗙被鍚嶇О',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'select',
+ dataIndex: 'status',
+ label: '绫诲埆',
+ placeholder: '璇烽�夋嫨',
+ defaultValue: '1',
+ options: [
+ {
+ label: 'A',
+ value: '1'
+ },
+ {
+ label: 'B',
+ value: '2'
+ },
+ {
+ label: 'C',
+ value: '3'
+ }
+ ]
+ },
+ {
+ type: 'select',
+ dataIndex: 'status',
+ label: '鐘舵��',
+ placeholder: '璇烽�夋嫨',
+ defaultValue: '1',
+ options: [
+ {
+ label: '鍚敤',
+ value: '1'
+ },
+ {
+ label: '绂佺敤',
+ value: '0'
+ }
+ ]
+ }
+]
diff --git a/admin-web/src/views/foundation/material/edit.vue b/admin-web/src/views/foundation/material/edit.vue
new file mode 100644
index 0000000..1d1ad94
--- /dev/null
+++ b/admin-web/src/views/foundation/material/edit.vue
@@ -0,0 +1,130 @@
+<template>
+ <win-md :title="setting.title" @close="close" :width="'800px'">
+ <el-form ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px">
+ <el-form-item label="鐗╁搧缂栧彿">
+ <el-input v-model="formData.code88" disabled clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <el-form-item label="鐗╁搧鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <el-form-item style="margin-left: -100px;" v-for="(m, i) in formData.code">
+ <el-form-item label="瑙勬牸鍨嬪彿" prop="name" style="float: left;">
+ <el-input v-model="m.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <el-form-item label="鍗曚綅" prop="name" style="float: left;">
+ <el-input v-model="m.code" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <my-button name="鏂板鍨嬪彿" type="" @click="addCode"/>
+ <my-button name="鍒犻櫎" type="" @click="delCode(i)"/>
+ </el-form-item>
+ <el-form-item label="鐘舵��">
+ <el-switch
+ v-model="formData.status"
+ active-color="#0d997c"
+ inactive-color="#C0CCDA">
+ </el-switch>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" align="center" class="dialog-footer">
+ <my-button name="鍙栨秷" site="form" @click="close"/>
+ <my-button name="淇濆瓨" site="form" @click="save"/>
+ </div>
+ </win-md>
+</template>
+
+<script>
+import winMd from '@/components/win/win-md'
+import myButton from '@/components/myButton/myButton'
+import * as finsystenant from '@/api/baseSetting/finsystenant'
+
+export default {
+ components: {winMd, myButton},
+ props: {
+ setting: {
+ type: Object,
+ default: () => {
+ }
+ }
+ },
+ data() {
+ return {
+ checkAll: false,
+ checkedList: [],
+ formData: {
+ radio1: '',
+ code: '',
+ name: '',
+ status: true,
+ summary: '',
+ code:[
+ {
+ name:'12',
+ code:'13'
+ },
+ ]
+ },
+ rules: {
+ name: [
+ {required: true, message: '璇疯緭鍏ョ墿鍝佸悕绉�', trigger: 'blur'}
+ ]
+ }
+ }
+ },
+ created() {
+ if(this.setting.info){
+ this.formData = Object.assign({},JSON.parse(this.setting.info))
+ }
+ },
+ methods: {
+ addCode(){
+ this.formData.code.push(
+ {
+ name:'',
+ code:''
+ }
+ )
+ },
+ delCode(index){
+ this.formData.code.splice(index, 1)
+ },
+ getEditInfo(id){
+
+ },
+ close() {
+ this.$emit('close')
+ },
+ save() {
+ this.$refs.ruleForm.validate((valid) => {
+ if (valid) {
+ const params = Object.assign({}, this.formData)
+ if(this.setting.id){
+ // 缂栬緫鎺ュ彛
+ finsystenant.edit(params).then(res => {
+ if (res) {
+ this.$message.success('淇濆瓨鎴愬姛锛�')
+ this.close()
+ this.$emit('search')
+ } else {
+ this.$message.error('淇濆瓨澶辫触')
+ }
+ })
+ }else{
+ params.orgId = this.setting.orgId
+ finsystenant.add(params).then(res => {
+ if (res) {
+ this.$message.success('淇濆瓨鎴愬姛锛�')
+ this.close()
+ this.$emit('search')
+ } else {
+ this.$message.error('淇濆瓨澶辫触')
+ }
+ })
+ }
+ } else {
+ this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��')
+ }
+ })
+ }
+ }
+}
+</script>
diff --git a/admin-web/src/views/foundation/material/index.vue b/admin-web/src/views/foundation/material/index.vue
new file mode 100644
index 0000000..167fd9a
--- /dev/null
+++ b/admin-web/src/views/foundation/material/index.vue
@@ -0,0 +1,342 @@
+<template>
+ <div class="app-container">
+ <el-container>
+ <el-container>
+ <el-card class="box-card" style="width: 100%" shadow="never">
+ <!--鎼滅储鏉′欢-->
+ <div class="filter-container">
+ <my-search ref="searchBar" :items="items" @search="fifterForm"></my-search>
+ </div>
+ <el-row style="margin-top: 15px">
+ <el-col>
+ <!--鍒楄〃-->
+ <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
+ </el-col>
+ </el-row>
+ <!--娣诲姞/缂栬緫寮圭獥-->
+ <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"/>
+ </el-card>
+ </el-container>
+ </el-container>
+ <my-import
+ :import-setting="importSetting"
+ :dialog-show="importSetting.dialogShow"
+ :dialog-title="importSetting.dialogTitle"
+ />
+ </div>
+</template>
+
+<script>
+import myTree from '@/components/myTree/index'
+import MyTableV2 from "@/components/myTable/myTableV2";
+import MyButton from "@/components/myButton/myButton";
+import SettingIplatform from '@/utils/settingIplatform';
+import edit from './edit'
+import * as finsystenant from '@/api/baseSetting/finsystenant'
+import myImport from '@/views/components/myImport'
+import {getBaseUrl} from '@/utils/base';
+
+export default {
+ name: "index",
+ components: {MyButton, MyTableV2, edit, myTree, myImport},
+ data() {
+ return {
+ // 鎼滅储妗�
+ items: [
+ {
+ type: 'text',
+ dataIndex: 'goods_Name',
+ label: '鐗╁搧鍚嶇О',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'text',
+ dataIndex: 'goods_Code',
+ label: '鐗╁搧缂栧彿',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'select',
+ dataIndex: 'status',
+ label: '绫诲埆',
+ placeholder: '璇烽�夋嫨',
+ defaultValue: '1',
+ options: [
+ {
+ label: 'A',
+ value: '1'
+ },
+ {
+ label: 'B',
+ value: '2'
+ },
+ {
+ label: 'C',
+ value: '3'
+ }
+ ]
+ },
+ {
+ type: 'select',
+ dataIndex: 'status',
+ label: '閲囪喘绫诲埆',
+ placeholder: '璇烽�夋嫨',
+ defaultValue: '1',
+ options: [
+ {
+ label: '鍏ㄩ儴',
+ value: '1'
+ },
+ {
+ label: '鑷噰',
+ value: '2'
+ },
+ {
+ label: '闆嗛噰',
+ value: '3'
+ }
+ ]
+ },
+ {
+ type: 'select',
+ dataIndex: 'status',
+ label: '鐘舵��',
+ placeholder: '璇烽�夋嫨',
+ defaultValue: '1',
+ options: [
+ {
+ label: '鍚敤',
+ value: '1'
+ },
+ {
+ label: '绂佺敤',
+ value: '0'
+ }
+ ]
+ }
+ ],
+ // 鎼滅储鏉′欢
+ filterFrom: {
+ tenantId: null,
+ userName: null,
+ userPhone: null,
+ status: 1
+ },
+ // 瀵煎叆
+ importSetting: {
+ dialogTitle: '瀵煎叆',
+ dialogShow: false,
+ fileSettings: {
+ data: {},
+ uploadUrl: getBaseUrl()+"/pc/fin/sys/tenant/import", // 涓婁紶鍦板潃
+ accept: '.xls', // 鏍煎紡
+ type: 'text', // 鍥炴樉褰㈠紡
+ loading: false // 瀵煎叆鏁堟灉
+ },
+ /* 妯℃澘涓嬭浇 */
+ templateSettings: {
+ templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О
+ templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate' // 涓嬭浇鍦板潃
+ },
+ onSuccess: null
+ },
+ editSetting: {
+ title: '',
+ id: '',
+ orgId: '',
+ show: false,
+ },
+ // 琛ㄦ牸鏁版嵁
+ table: {
+ showIndex: true, // 鏄惁鏄剧ず搴忓彿
+ expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁
+ url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/list', // 璇锋眰鍦板潃
+ // 宸ュ叿鏉�
+ tools: {
+ columnsCtrl: {// 鍒楁帶鍒舵寜閽�
+ show: false
+ },
+ generalExport: {// 閫氱敤瀵煎嚭鎸夐挳
+ show: false
+ },
+ // 鑷畾涔夊伐鍏锋潯鎸夐挳
+ custom: [
+ {
+ name: '鏂板',
+ click: () => {
+ this.showAdd(null);
+ },
+ },
+ {
+ name: '瀵煎叆',
+ click: () => {
+ this.importOrg();
+ },
+ }
+ ]
+ },
+ // 鍒椾俊鎭�
+ columns: [
+ {title: '鐗╁搧缂栧彿', field: 'goods_Code', align: 'center'},
+ {title: '鐗╁搧鍚嶇О', field: 'goods_Name', align: 'center'},
+ {title: '鍒嗙被', field: 'classification', align: 'center'},
+ {title: '绫诲埆', field: 'states', align: 'center'},
+ {title: '閲囪喘绫诲瀷', field: 'category_id', align: 'center'},
+ {title: '鎵�灞炴満鏋�', field: 'agency_Name', align: 'center'},
+ {
+ title: '鍒涘缓鏃堕棿',
+ field: 'create_Date',
+ align: 'center',
+ width: 160,
+ formatter: (row) => {
+ return {value: DateFormatter.LongToDateTime(row.create_Date)};
+ },
+ },
+ {
+ field: 'states',
+ title: '鐘舵��',
+ align: 'center',
+ width: 100,
+ switch: row => {
+ const result = {}
+ if (row.status == 1) {
+ Object.assign(result, {
+ value: true, // 寮�
+ label: '鏄�', // 寮�鐨勬弿杩�
+ click: () => { // 鐐瑰嚮浜嬩欢
+ this.updState(row)
+ }
+ })
+ } else {
+ Object.assign(result, {
+ value: false, // 鍏�
+ label: '鍚�', // 鍏崇殑鎻忚堪
+ click: () => {
+ this.updState(row)
+ }
+ })
+ }
+ return result
+ }
+ }
+ ],
+ // 鎿嶄綔淇℃伅
+ operation: {
+ show: true, // 鏄剧ず鎿嶄綔鍒�
+ width: '150', // 鍒楀
+ attr: [
+ {
+ title: '缂栬緫',
+ events: (row) => {
+ this.showAudit(row);
+ },
+ },
+ {
+ title: '鍒犻櫎',
+ events: (row) => {
+ this.del(row);
+ },
+ },
+ {
+ title: '瑙勬牸鍨嬪彿',
+ events: (row) => {
+ this.showAudit(row);
+ },
+ },
+ ],
+ },
+ paging: {
+ show: true, // 鏄剧ず鍒嗛〉
+ // 鍒嗛〉淇℃伅
+ page: {
+ small: false,
+ pageNum: 1,
+ pageSize: 10,
+ total: 0
+ }
+ }
+ },
+ }
+ },
+ created() {
+ },
+ methods: {
+ //瀵煎叆
+ importOrg() {
+ this.importSetting.dialogShow = true
+ this.importSetting.onSuccess = (response, callBack) => {
+ if (response.code===1){
+ this.$message.success(response.msg)
+ this.search(1)
+ }else{
+ this.$message.warning(response.msg)
+ }
+ callBack()
+ }
+ },
+ updState(row) {
+ let vm = this
+ let text = row.status == 0 ? "鍚敤" : "绂佺敤";
+ vm.$modal.confirm('纭瑕�' + text + '"' + row.name + '"鍚楋紵').then(function () {
+ let params = Object.assign({}, row)
+ params.status = row.status == 1 ? 0 : 1
+ finsystenant.edit(params).then(res => {
+ if (res) {
+ row.status = row.status === 1 ? 0 : 1
+ vm.$modal.msgSuccess(text + "鎴愬姛");
+ vm.search()
+ }
+ })
+ })
+ },
+ del(row) {
+ this.$modal
+ .confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.name + '"鐨勬満鏋勫悧锛�')
+ .then(function () {
+ finsystenant.del({id: row.id}).then((res) => {
+ });
+ })
+ .then((res) => {
+ this.$message.success('鍒犻櫎鎴愬姛锛�');
+ this.search()
+ })
+ .catch(() => {
+ });
+ },
+ showAdd() {
+ // if (!this.editSetting.orgId) {
+ // this.$message.warning('璇峰厛閫夋嫨宸︿晶鏈烘瀯')
+ // } else {
+ this.editSetting.id = null;
+ this.editSetting.info = null;
+ this.editSetting.title = '鏂板';
+ this.editSetting.show = true;
+ // }
+ },
+ showAudit(row) {
+ this.editSetting.id = row.id;
+ this.editSetting.info = JSON.stringify(row);
+ this.editSetting.title = '缂栬緫';
+ this.editSetting.show = true;
+ },
+ // 鏌ヨtable鍒楄〃
+ search(pageNum) {
+ if (pageNum != undefined) {
+ this.$refs.myTable.search(pageNum)
+ } else {
+ this.$refs.myTable.search()
+ }
+ },
+ fifterForm(params) {
+ this.filterFrom = Object.assign(this.filterFrom, params)
+ this.search(1)
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/admin-web/src/views/foundation/store/edit.vue b/admin-web/src/views/foundation/store/edit.vue
new file mode 100644
index 0000000..37b0db9
--- /dev/null
+++ b/admin-web/src/views/foundation/store/edit.vue
@@ -0,0 +1,111 @@
+<template>
+ <win-sm :title="setting.title" @close="close" :width="'800px'">
+ <el-form ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px">
+ <el-form-item label="缂栧彿" prop="code">
+ <el-input disabled v-model="formData.code" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <el-form-item label="鍦板潃" >
+ <el-input v-model="formData.adss" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <el-form-item label="鐘舵��" prop="status">
+ <el-switch
+ v-model="formData.status"
+ active-color="#0d997c"
+ inactive-color="#C0CCDA">
+ </el-switch>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" align="center" class="dialog-footer">
+ <my-button name="鍙栨秷" site="form" @click="close"/>
+ <my-button name="淇濆瓨" site="form" @click="save"/>
+ </div>
+ </win-sm>
+</template>
+
+<script>
+import winSm from '@/components/win/win-sm'
+import myButton from '@/components/myButton/myButton'
+import * as finsystenant from '@/api/baseSetting/finsystenant'
+
+export default {
+ components: {winSm, myButton},
+ props: {
+ setting: {
+ type: Object,
+ default: () => {
+ }
+ }
+ },
+ data() {
+ return {
+ checkAll: false,
+ checkedList: [],
+ formData: {
+ code: '',
+ name: '',
+ status: true,
+ summary: '',
+ },
+ rules: {
+ code: [
+ {required: true, message: '璇疯緭鍏ユ満鏋勭紪鍙�', trigger: 'blur'}
+ ],
+ name: [
+ {required: true, message: '璇疯緭鍏ユ満鏋勫悕绉�', trigger: 'blur'}
+ ],
+ status: [
+ {required: true, message: '璇烽�夋嫨鐘舵��', trigger: 'blur'}
+ ]
+ }
+ }
+ },
+ created() {
+ if(this.setting.info){
+ this.formData = Object.assign({},JSON.parse(this.setting.info))
+ }
+ },
+ methods: {
+ getEditInfo(id){
+
+ },
+ close() {
+ this.$emit('close')
+ },
+ save() {
+ this.$refs.ruleForm.validate((valid) => {
+ if (valid) {
+ const params = Object.assign({}, this.formData)
+ if(this.setting.id){
+ // 缂栬緫鎺ュ彛
+ finsystenant.edit(params).then(res => {
+ if (res) {
+ this.$message.success('淇濆瓨鎴愬姛锛�')
+ this.close()
+ this.$emit('search')
+ } else {
+ this.$message.error('淇濆瓨澶辫触')
+ }
+ })
+ }else{
+ params.orgId = this.setting.orgId
+ finsystenant.add(params).then(res => {
+ if (res) {
+ this.$message.success('淇濆瓨鎴愬姛锛�')
+ this.close()
+ this.$emit('search')
+ } else {
+ this.$message.error('淇濆瓨澶辫触')
+ }
+ })
+ }
+ } else {
+ this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��')
+ }
+ })
+ }
+ }
+}
+</script>
diff --git a/admin-web/src/views/foundation/store/index.vue b/admin-web/src/views/foundation/store/index.vue
new file mode 100644
index 0000000..3f7a463
--- /dev/null
+++ b/admin-web/src/views/foundation/store/index.vue
@@ -0,0 +1,307 @@
+<template>
+ <div class="app-container">
+ <el-container>
+ <el-container>
+ <el-card class="box-card" style="width: 100%" shadow="never">
+ <!--鎼滅储鏉′欢-->
+ <div class="filter-container">
+ <my-search ref="searchBar" :items="items" @search="fifterForm"></my-search>
+ </div>
+ <el-row style="margin-top: 15px">
+ <el-col>
+ <!--鍒楄〃-->
+ <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
+ </el-col>
+ </el-row>
+ <!--娣诲姞/缂栬緫寮圭獥-->
+ <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"/>
+ </el-card>
+ </el-container>
+ </el-container>
+ <my-import
+ :import-setting="importSetting"
+ :dialog-show="importSetting.dialogShow"
+ :dialog-title="importSetting.dialogTitle"
+ />
+ </div>
+</template>
+
+<script>
+import MyTableV2 from "@/components/myTable/myTableV2";
+import MyButton from "@/components/myButton/myButton";
+import SettingIplatform from '@/utils/settingIplatform';
+import edit from './edit'
+import * as finsystenant from '@/api/baseSetting/finsystenant'
+import myImport from '@/views/components/myImport'
+import {getBaseUrl} from '@/utils/base';
+
+export default {
+ name: "index",
+ components: {MyButton, MyTableV2, edit, myImport},
+ data() {
+ return {
+ // 鎼滅储妗�
+ items: [
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '浠撳簱鍚嶇О',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'select',
+ dataIndex: 'status',
+ label: '鐘舵��',
+ placeholder: '璇烽�夋嫨',
+ defaultValue: '1',
+ options: [
+ {
+ label: '鍚敤',
+ value: '1'
+ },
+ {
+ label: '绂佺敤',
+ value: '0'
+ }
+ ]
+ }
+ ],
+ // 鏍戞暟鎹�
+ treeDataList: [],
+ // 鎼滅储鏉′欢
+ filterFrom: {
+ tenantId: null,
+ userName: null,
+ userPhone: null,
+ status: 1
+ },
+ // 瀵煎叆
+ importSetting: {
+ dialogTitle: '瀵煎叆',
+ dialogShow: false,
+ fileSettings: {
+ data: {},
+ uploadUrl: getBaseUrl()+"/pc/fin/sys/tenant/import", // 涓婁紶鍦板潃
+ accept: '.xls', // 鏍煎紡
+ type: 'text', // 鍥炴樉褰㈠紡
+ loading: false // 瀵煎叆鏁堟灉
+ },
+ /* 妯℃澘涓嬭浇 */
+ templateSettings: {
+ templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О
+ templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate' // 涓嬭浇鍦板潃
+ },
+ onSuccess: null
+ },
+ editSetting: {
+ title: '',
+ id: '',
+ orgId: '',
+ show: false,
+ },
+ // 琛ㄦ牸鏁版嵁
+ table: {
+ showIndex: true, // 鏄惁鏄剧ず搴忓彿
+ expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁
+ url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/list', // 璇锋眰鍦板潃
+ // 宸ュ叿鏉�
+ tools: {
+ columnsCtrl: {// 鍒楁帶鍒舵寜閽�
+ show: false
+ },
+ generalExport: {// 閫氱敤瀵煎嚭鎸夐挳
+ show: false
+ },
+ // 鑷畾涔夊伐鍏锋潯鎸夐挳
+ custom: [
+ {
+ name: '鏂板',
+ click: () => {
+ this.showAdd(null);
+ },
+ },
+ ]
+ },
+ // 鍒椾俊鎭�
+ columns: [
+ {title: '鍚嶇О浠撳簱', field: 'name', align: 'left',},
+ {title: '缂栧彿', field: 'code', align: 'center'},
+ {title: '绫诲瀷', field: 'lv', align: 'center', },
+ {title: '鍦板潃', field: 'lv', align: 'center', },
+ {title: '鎵�灞炴満鏋�', field: 'summary', align: 'left',},
+ {
+ field: 'belongProvince',
+ title: '鐘舵��',
+ align: 'center',
+ width: 100,
+ switch: row => {
+ const result = {}
+ if (row.status == 1) {
+ Object.assign(result, {
+ value: true, // 寮�
+ label: '鏄�', // 寮�鐨勬弿杩�
+ click: () => { // 鐐瑰嚮浜嬩欢
+ this.updState(row)
+ }
+ })
+ } else {
+ Object.assign(result, {
+ value: false, // 鍏�
+ label: '鍚�', // 鍏崇殑鎻忚堪
+ click: () => {
+ this.updState(row)
+ }
+ })
+ }
+ return result
+ }
+ }
+ ],
+ // 鎿嶄綔淇℃伅
+ operation: {
+ show: true, // 鏄剧ず鎿嶄綔鍒�
+ width: '150', // 鍒楀
+ attr: [
+ {
+ title: '缂栬緫',
+ events: (row) => {
+ this.showAudit(row);
+ },
+ },
+ {
+ title: '鍒犻櫎',
+ events: (row) => {
+ this.del(row);
+ },
+ },
+ {
+ title: '浠撳簱鍛�',
+ events: (row) => {
+ this.showAudit(row);
+ },
+ }
+ ],
+ },
+ paging: {
+ show: true, // 鏄剧ず鍒嗛〉
+ // 鍒嗛〉淇℃伅
+ page: {
+ small: false,
+ pageNum: 1,
+ pageSize: 10,
+ total: 0
+ }
+ }
+ },
+ }
+ },
+ created() {
+ // 鑾峰彇鏈烘瀯鏍�
+ this.initTreeData()
+ },
+ methods: {
+ //瀵煎叆
+ importOrg() {
+ this.importSetting.dialogShow = true
+ this.importSetting.onSuccess = (response, callBack) => {
+ if (response.code===1){
+ this.$message.success(response.msg)
+ this.search(1)
+ }else{
+ this.$message.warning(response.msg)
+ }
+ callBack()
+ }
+ },
+ // 宸︿晶鏍戝垵濮嬪寲
+ initTreeData() {
+ finsystenant.getTree().then(res => {
+ const content = res || []
+ this.treeDataList.splice(0, this.treeDataList.length)
+ this.treeDataList = content
+ if (content.length > 0) {
+ this.importSetting.fileSettings.data = {pid: content[0].id}
+ }
+ })
+ },
+ updState(row) {
+ let vm = this
+ let text = row.status == 0 ? "鍚敤" : "绂佺敤";
+ vm.$modal.confirm('纭瑕�' + text + '"' + row.name + '"鍚楋紵').then(function () {
+ let params = Object.assign({}, row)
+ params.status = row.status == 1 ? 0 : 1
+ finsystenant.edit(params).then(res => {
+ if (res) {
+ row.status = row.status === 1 ? 0 : 1
+ vm.$modal.msgSuccess(text + "鎴愬姛");
+ vm.search()
+ }
+ })
+ })
+ },
+ del(row) {
+ this.$modal
+ .confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.name + '"鐨勬満鏋勫悧锛�')
+ .then(function () {
+ finsystenant.del({id: row.id}).then((res) => {
+ });
+ })
+ .then((res) => {
+ this.$message.success('鍒犻櫎鎴愬姛锛�');
+ this.search()
+ })
+ .catch(() => {
+ });
+ },
+ showAdd() {
+ // if (!this.editSetting.orgId) {
+ // this.$message.warning('璇峰厛閫夋嫨宸︿晶鏈烘瀯')
+ // } else {
+ this.editSetting.id = null;
+ this.editSetting.info = null;
+ this.editSetting.title = '鏂板';
+ this.editSetting.show = true;
+ // }
+ },
+ showAudit(row) {
+ this.editSetting.id = row.id;
+ this.editSetting.info = JSON.stringify(row);
+ this.editSetting.title = '缂栬緫';
+ this.editSetting.show = true;
+ },
+ nodeClick(param) {
+ param = param || {}
+ this.p = Object.assign({}, {
+ id: param.id,
+ name: param.name
+ })
+ if (this.p.id != undefined && this.p.id != null) {
+ this.filterFrom.tenantId = this.p.id
+ this.editSetting.orgId = this.p.id
+ } else {
+ this.filterFrom.tenantId = null
+ this.editSetting.orgId = null
+ }
+ this.importSetting.fileSettings.data = {pid: param.id}
+ this.search(1)
+ },
+ // 鏌ヨtable鍒楄〃
+ search(pageNum) {
+ if (pageNum != undefined) {
+ this.$refs.myTable.search(pageNum)
+ } else {
+ this.$refs.myTable.search()
+ }
+ },
+ fifterForm(params) {
+ this.filterFrom = Object.assign(this.filterFrom, params)
+ this.search(1)
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/admin-web/src/views/stock/accessStock/outbound/index.vue b/admin-web/src/views/stock/accessStock/outbound/index.vue
new file mode 100644
index 0000000..ea1d5b0
--- /dev/null
+++ b/admin-web/src/views/stock/accessStock/outbound/index.vue
@@ -0,0 +1,449 @@
+<template>
+ <div class="app-container">
+ <el-container>
+ <el-container>
+ <el-card class="box-card" style="width: 100%" shadow="never">
+ <!--鎼滅储鏉′欢-->
+ <div class="filter-container">
+ <my-search ref="searchBar" :items="items" @search="fifterForm"></my-search>
+ </div>
+ <el-row style="margin-top: 15px">
+ <el-col>
+ <!--鍒楄〃-->
+ <my-button name="鏂板" @click="addtable" site="form" />
+ <div :style="{'overflow-y': 'auto', height:`${clientHeight - 320}px`}">
+ <el-row class="card"
+ :gutter="5">
+ <el-col v-for="(item, index) in proData" :key="index" class="cm-item">
+ <el-card class="card-data">
+ <div class="card-container">
+ <div class="hed-one">鍑哄簱鍗曞彿锛歿{ item.order_no }}</div>
+ <div class="one-hed">
+ <div class="box"><span class="span-two">鏈烘瀯锛�</span>{{ item.customer_name }}</div>
+ <div class="box"><span class="span-two">鎿嶄綔浜猴細</span>{{ item.customer_name }}</div>
+ <div class="box"><span class="span-two">鍑哄簱鏃堕棿锛�</span>{{ item.customer_name }}</div>
+ </div>
+ <div class="card-end">
+ <div v-for="(just, index) in item.data" class="two-end">
+ <div class="item"><span>{{ just.order_no }}锛�</span>{{ just.customer_name }}</div>
+ </div>
+ </div>
+ </div>
+ <div class="card-but">
+ <my-button name="鏌ョ湅璇︽儏" site="form" />
+ <my-button name="瀵煎嚭鍑哄簱鍗�" site="form" />
+ </div>
+ </el-card>
+ </el-col>
+ </el-row>
+ </div>
+ <el-pagination
+ :small="false"
+ :current-page="1"
+ :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
+ :page-size="10"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="0"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </el-col>
+ </el-row>
+ <!--娣诲姞/缂栬緫寮圭獥-->
+ <el-dialog title="鏂板鍑哄簱" :close-on-click-modal="false" :visible.sync="adddialog" width="60%" >
+ <el-form ref="ruleForm" :model="formData" class="demo-ruleForm" label-width="100px">
+ <el-row :gutter="24" class="headerHeight">
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="24" class="headerHeight">
+ <el-col :span="24">
+ <el-form-item label="鍑哄簱鎵嬬画" prop="name">
+ 浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <div style="position: relative;">
+ <div style="background-color: #F9F9F9;width: 90%;">
+ <el-row :gutter="24" class="">
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="24" class="">
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-table :data="formData.tableData" height="100%" :stripe="true">
+ <el-table-column prop="projectName" label="瑙勬牸鍨嬪彿" align="center"> </el-table-column>
+ <el-table-column prop="time1" label="鍗曚綅" align="center"> </el-table-column>
+ <el-table-column prop="unit" label="鐜版湁搴撳瓨" align="center"> </el-table-column>
+ <el-table-column prop="time2" label="鍑哄簱鏁伴噺" align="center"> </el-table-column>
+ </el-table>
+ </div>
+ <div style="position: absolute;right: 0;top: 152px;">
+ <my-button style="display: block;margin-left: 10px;margin-bottom: 5px;" name="绉婚櫎" site="form"/>
+ <my-button name="鏂板鐗╁搧" site="form"/>
+ </div>
+ </div>
+ </el-form>
+ <div slot="footer" align="center" class="dialog-footer">
+ <my-button name="纭畾" site="form" />
+ <my-button name="鍙栨秷" site="form" @click="adddialog = false"/>
+ </div>
+ </el-dialog>
+ </el-card>
+ </el-container>
+ </el-container>
+ <my-import
+ :import-setting="importSetting"
+ :dialog-show="importSetting.dialogShow"
+ :dialog-title="importSetting.dialogTitle"
+ />
+ </div>
+</template>
+
+<script>
+import MyButton from "@/components/myButton/myButton";
+import SettingIplatform from '@/utils/settingIplatform';
+import myImport from '@/views/components/myImport'
+import {getBaseUrl} from '@/utils/base';
+
+export default {
+ name: "index",
+ components: {MyButton, myImport},
+ data() {
+ return {
+
+ adddialog: false,
+ formData:{
+ tableData:[
+ {
+ projectName:'555'
+ },
+ {
+ projectName:'444'
+ }
+ ],
+ },
+ // 鎼滅储妗�
+ items: [
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鍑哄簱鍗曞彿',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鐗╁搧鍚嶇О',
+ placeholder: '鍙ā绯婃悳绱�',
+ defaultValue: ''
+ },
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鍒涘缓浜�',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'date-picker',
+ dataIndex: 'val1',
+ label: '鍑哄簱鏃堕棿',
+ defaultValue: ''
+ },
+ {
+ type: 'date-picker',
+ dataIndex: 'val2',
+ label: '鑷�',
+ defaultValue: ''
+ },
+ // {
+ // type: 'select',
+ // dataIndex: 'status',
+ // label: '鐘舵��',
+ // placeholder: '璇烽�夋嫨',
+ // defaultValue: '1',
+ // options: [
+ // {
+ // label: '鍚敤',
+ // value: '1'
+ // },
+ // {
+ // label: '绂佺敤',
+ // value: '0'
+ // }
+ // ]
+ // }
+ ],
+ proData: [
+ {
+ order_no:'55555',
+ customer_name:'666',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+ },
+ {
+ order_no:'55555',
+ customer_name:'666',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+ },
+ {
+ order_no:'55555',
+ customer_name:'666',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+ },
+ {
+ order_no:'55555',
+ customer_name:'666',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+
+ },
+ {
+ order_no:'55555',
+ customer_name:'666',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+
+ },
+ {
+ order_no:'55555',
+ customer_name:'666',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+
+ },
+ {
+ order_no:'55555',
+ customer_name:'666',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+
+ }
+ ],
+ // 鏍戞暟鎹�
+ treeDataList: [],
+ // 鎼滅储鏉′欢
+ filterFrom: {
+ tenantId: null,
+ userName: null,
+ userPhone: null,
+ status: 1
+ },
+ // 瀵煎叆
+ importSetting: {
+ dialogTitle: '瀵煎叆',
+ dialogShow: false,
+ fileSettings: {
+ data: {},
+ uploadUrl: getBaseUrl()+"/pc/fin/sys/tenant/import", // 涓婁紶鍦板潃
+ accept: '.xls', // 鏍煎紡
+ type: 'text', // 鍥炴樉褰㈠紡
+ loading: false // 瀵煎叆鏁堟灉
+ },
+ /* 妯℃澘涓嬭浇 */
+ templateSettings: {
+ templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О
+ templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate' // 涓嬭浇鍦板潃
+ },
+ onSuccess: null
+ },
+ editSetting: {
+ title: '',
+ id: '',
+ orgId: '',
+ show: false,
+ },
+ }
+ },
+ computed: {
+ clientHeight () {
+ return document.documentElement.clientHeight
+ },
+ },
+ created() {
+ },
+ methods: {
+ handleSizeChange(){},
+ handleCurrentChange(){},
+ //瀵煎叆
+ importOrg() {
+ this.importSetting.dialogShow = true
+ this.importSetting.onSuccess = (response, callBack) => {
+ if (response.code===1){
+ this.$message.success(response.msg)
+ this.search(1)
+ }else{
+ this.$message.warning(response.msg)
+ }
+ callBack()
+ }
+ },
+
+ addtable() {
+ this.adddialog = true
+ },
+ // 鏌ヨtable鍒楄〃
+ search(pageNum) {
+ if (pageNum != undefined) {
+ // this.$refs.myTable.search(pageNum)
+ } else {
+ // this.$refs.myTable.search()
+ }
+ },
+ fifterForm(params) {
+ console.log(params,'555');
+ this.filterFrom = Object.assign(this.filterFrom, params)
+ this.search(1)
+ }
+ }
+}
+</script>
+
+<style scoped>
+.card {
+ display: flex;
+ flex-wrap: wrap;
+ margin: 0px !important;
+ .cm-item {
+ width: 100%;
+ }
+ .cm-item /deep/ .el-card__body {
+ padding: 10px;
+ }
+}
+.card-data{
+ margin-top: 8px;
+ .card-container{
+ display: inline-block;
+ width: 70%;
+ .hed-one{
+ color: #2298EE;
+ font-size: 18px;
+ }
+ .one-hed{
+ margin-top: 15px;
+ .box{
+ display: inline-block;
+ margin-right: 20px;
+ }
+ }
+ .span-two{
+ color: #83919e;
+ font-size: 14px;
+ }
+ .card-end{
+ font-size: 14px;
+ color: #3d3d3d;
+ margin-top: 15px;
+ display: flex;
+ flex-wrap: wrap;
+ .two-end{
+ width: calc(33.33% - 20px);
+ margin-bottom: 15px;
+ }
+ }
+
+ }
+ .card-but{
+ display: inline-block;
+ }
+ .end{
+ display: inline-block;
+ }
+
+}
+
+</style>
diff --git a/admin-web/src/views/stock/accessStock/outboundDetails/edit.vue b/admin-web/src/views/stock/accessStock/outboundDetails/edit.vue
new file mode 100644
index 0000000..37b0db9
--- /dev/null
+++ b/admin-web/src/views/stock/accessStock/outboundDetails/edit.vue
@@ -0,0 +1,111 @@
+<template>
+ <win-sm :title="setting.title" @close="close" :width="'800px'">
+ <el-form ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px">
+ <el-form-item label="缂栧彿" prop="code">
+ <el-input disabled v-model="formData.code" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <el-form-item label="鍦板潃" >
+ <el-input v-model="formData.adss" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <el-form-item label="鐘舵��" prop="status">
+ <el-switch
+ v-model="formData.status"
+ active-color="#0d997c"
+ inactive-color="#C0CCDA">
+ </el-switch>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" align="center" class="dialog-footer">
+ <my-button name="鍙栨秷" site="form" @click="close"/>
+ <my-button name="淇濆瓨" site="form" @click="save"/>
+ </div>
+ </win-sm>
+</template>
+
+<script>
+import winSm from '@/components/win/win-sm'
+import myButton from '@/components/myButton/myButton'
+import * as finsystenant from '@/api/baseSetting/finsystenant'
+
+export default {
+ components: {winSm, myButton},
+ props: {
+ setting: {
+ type: Object,
+ default: () => {
+ }
+ }
+ },
+ data() {
+ return {
+ checkAll: false,
+ checkedList: [],
+ formData: {
+ code: '',
+ name: '',
+ status: true,
+ summary: '',
+ },
+ rules: {
+ code: [
+ {required: true, message: '璇疯緭鍏ユ満鏋勭紪鍙�', trigger: 'blur'}
+ ],
+ name: [
+ {required: true, message: '璇疯緭鍏ユ満鏋勫悕绉�', trigger: 'blur'}
+ ],
+ status: [
+ {required: true, message: '璇烽�夋嫨鐘舵��', trigger: 'blur'}
+ ]
+ }
+ }
+ },
+ created() {
+ if(this.setting.info){
+ this.formData = Object.assign({},JSON.parse(this.setting.info))
+ }
+ },
+ methods: {
+ getEditInfo(id){
+
+ },
+ close() {
+ this.$emit('close')
+ },
+ save() {
+ this.$refs.ruleForm.validate((valid) => {
+ if (valid) {
+ const params = Object.assign({}, this.formData)
+ if(this.setting.id){
+ // 缂栬緫鎺ュ彛
+ finsystenant.edit(params).then(res => {
+ if (res) {
+ this.$message.success('淇濆瓨鎴愬姛锛�')
+ this.close()
+ this.$emit('search')
+ } else {
+ this.$message.error('淇濆瓨澶辫触')
+ }
+ })
+ }else{
+ params.orgId = this.setting.orgId
+ finsystenant.add(params).then(res => {
+ if (res) {
+ this.$message.success('淇濆瓨鎴愬姛锛�')
+ this.close()
+ this.$emit('search')
+ } else {
+ this.$message.error('淇濆瓨澶辫触')
+ }
+ })
+ }
+ } else {
+ this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��')
+ }
+ })
+ }
+ }
+}
+</script>
diff --git a/admin-web/src/views/stock/accessStock/outboundDetails/index.vue b/admin-web/src/views/stock/accessStock/outboundDetails/index.vue
new file mode 100644
index 0000000..2936cd9
--- /dev/null
+++ b/admin-web/src/views/stock/accessStock/outboundDetails/index.vue
@@ -0,0 +1,280 @@
+<template>
+ <div class="app-container">
+ <el-container>
+ <el-container>
+ <el-card class="box-card" style="width: 100%" shadow="never">
+ <!--鎼滅储鏉′欢-->
+ <div class="filter-container">
+ <my-search ref="searchBar" :items="items" @search="fifterForm"></my-search>
+ </div>
+ <el-row style="margin-top: 15px">
+ <el-col>
+ <!--鍒楄〃-->
+ <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
+ </el-col>
+ </el-row>
+ <!--娣诲姞/缂栬緫寮圭獥-->
+ <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"/>
+ </el-card>
+ </el-container>
+ </el-container>
+ <my-import
+ :import-setting="importSetting"
+ :dialog-show="importSetting.dialogShow"
+ :dialog-title="importSetting.dialogTitle"
+ />
+ </div>
+</template>
+
+<script>
+import MyTableV2 from "@/components/myTable/myTableV2";
+import MyButton from "@/components/myButton/myButton";
+import SettingIplatform from '@/utils/settingIplatform';
+import edit from './edit'
+import * as finsystenant from '@/api/baseSetting/finsystenant'
+import myImport from '@/views/components/myImport'
+import {getBaseUrl} from '@/utils/base';
+
+export default {
+ name: "index",
+ components: {MyButton, MyTableV2, edit, myImport},
+ data() {
+ return {
+ // 鎼滅储妗�
+ items: [
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鍗曞彿',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'select',
+ dataIndex: 'status',
+ label: '绫诲瀷',
+ placeholder: '璇烽�夋嫨',
+ defaultValue: '1',
+ options: [
+ {
+ label: '鍚敤',
+ value: '1'
+ },
+ {
+ label: '绂佺敤',
+ value: '0'
+ }
+ ]
+ },
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鐗╁搧鍚嶇О',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鍒涘缓浜�',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ ],
+ // 鏍戞暟鎹�
+ treeDataList: [],
+ // 鎼滅储鏉′欢
+ filterFrom: {
+ tenantId: null,
+ userName: null,
+ userPhone: null,
+ status: 1
+ },
+ // 瀵煎叆
+ importSetting: {
+ dialogTitle: '瀵煎叆',
+ dialogShow: false,
+ fileSettings: {
+ data: {},
+ uploadUrl: getBaseUrl()+"/pc/fin/sys/tenant/import", // 涓婁紶鍦板潃
+ accept: '.xls', // 鏍煎紡
+ type: 'text', // 鍥炴樉褰㈠紡
+ loading: false // 瀵煎叆鏁堟灉
+ },
+ /* 妯℃澘涓嬭浇 */
+ templateSettings: {
+ templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О
+ templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate' // 涓嬭浇鍦板潃
+ },
+ onSuccess: null
+ },
+ editSetting: {
+ title: '',
+ id: '',
+ orgId: '',
+ show: false,
+ },
+ // 琛ㄦ牸鏁版嵁
+ table: {
+ showIndex: true, // 鏄惁鏄剧ず搴忓彿
+ expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁
+ url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/list', // 璇锋眰鍦板潃
+ // 宸ュ叿鏉�
+ tools: {
+ columnsCtrl: {// 鍒楁帶鍒舵寜閽�
+ show: false
+ },
+ generalExport: {// 閫氱敤瀵煎嚭鎸夐挳
+ show: false
+ },
+ // 鑷畾涔夊伐鍏锋潯鎸夐挳
+ custom: [
+ ]
+ },
+ // 鍒椾俊鎭�
+ columns: [
+ {title: '绫诲瀷', field: 'name', align: 'left',},
+ {title: '鍗曞彿', field: 'code', align: 'center'},
+ {title: '鐗╁搧鍚嶇О', field: 'lv', align: 'center', },
+ {title: '瑙勬牸鍨嬪彿', field: 'lv', align: 'center', },
+ {title: '鍑哄叆搴撴暟閲�', field: 'summary', align: 'left',},
+ {title: '閲戦', field: 'summary', align: 'left',},
+ {title: '鎵�灞炴満鏋�', field: 'summary', align: 'left',},
+ {title: '鍒涘缓浜�', field: 'summary', align: 'left',},
+ {title: '鎿嶄綔鏃堕棿', field: 'summary', align: 'left',},
+ ],
+ // 鎿嶄綔淇℃伅
+ operation: {
+ show: true, // 鏄剧ず鎿嶄綔鍒�
+ width: '150', // 鍒楀
+ attr: [
+ {
+ title: '璇︽儏',
+ events: (row) => {
+ this.showAudit(row);
+ },
+ },
+ ],
+ },
+ paging: {
+ show: true, // 鏄剧ず鍒嗛〉
+ // 鍒嗛〉淇℃伅
+ page: {
+ small: false,
+ pageNum: 1,
+ pageSize: 10,
+ total: 0
+ }
+ }
+ },
+ }
+ },
+ created() {
+ // 鑾峰彇鏈烘瀯鏍�
+ this.initTreeData()
+ },
+ methods: {
+ //瀵煎叆
+ importOrg() {
+ this.importSetting.dialogShow = true
+ this.importSetting.onSuccess = (response, callBack) => {
+ if (response.code===1){
+ this.$message.success(response.msg)
+ this.search(1)
+ }else{
+ this.$message.warning(response.msg)
+ }
+ callBack()
+ }
+ },
+ // 宸︿晶鏍戝垵濮嬪寲
+ initTreeData() {
+ finsystenant.getTree().then(res => {
+ const content = res || []
+ this.treeDataList.splice(0, this.treeDataList.length)
+ this.treeDataList = content
+ if (content.length > 0) {
+ this.importSetting.fileSettings.data = {pid: content[0].id}
+ }
+ })
+ },
+ updState(row) {
+ let vm = this
+ let text = row.status == 0 ? "鍚敤" : "绂佺敤";
+ vm.$modal.confirm('纭瑕�' + text + '"' + row.name + '"鍚楋紵').then(function () {
+ let params = Object.assign({}, row)
+ params.status = row.status == 1 ? 0 : 1
+ finsystenant.edit(params).then(res => {
+ if (res) {
+ row.status = row.status === 1 ? 0 : 1
+ vm.$modal.msgSuccess(text + "鎴愬姛");
+ vm.search()
+ }
+ })
+ })
+ },
+ del(row) {
+ this.$modal
+ .confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.name + '"鐨勬満鏋勫悧锛�')
+ .then(function () {
+ finsystenant.del({id: row.id}).then((res) => {
+ });
+ })
+ .then((res) => {
+ this.$message.success('鍒犻櫎鎴愬姛锛�');
+ this.search()
+ })
+ .catch(() => {
+ });
+ },
+ showAdd() {
+ // if (!this.editSetting.orgId) {
+ // this.$message.warning('璇峰厛閫夋嫨宸︿晶鏈烘瀯')
+ // } else {
+ this.editSetting.id = null;
+ this.editSetting.info = null;
+ this.editSetting.title = '鏂板';
+ this.editSetting.show = true;
+ // }
+ },
+ showAudit(row) {
+ this.editSetting.id = row.id;
+ this.editSetting.info = JSON.stringify(row);
+ this.editSetting.title = '缂栬緫';
+ this.editSetting.show = true;
+ },
+ nodeClick(param) {
+ param = param || {}
+ this.p = Object.assign({}, {
+ id: param.id,
+ name: param.name
+ })
+ if (this.p.id != undefined && this.p.id != null) {
+ this.filterFrom.tenantId = this.p.id
+ this.editSetting.orgId = this.p.id
+ } else {
+ this.filterFrom.tenantId = null
+ this.editSetting.orgId = null
+ }
+ this.importSetting.fileSettings.data = {pid: param.id}
+ this.search(1)
+ },
+ // 鏌ヨtable鍒楄〃
+ search(pageNum) {
+ if (pageNum != undefined) {
+ this.$refs.myTable.search(pageNum)
+ } else {
+ this.$refs.myTable.search()
+ }
+ },
+ fifterForm(params) {
+ this.filterFrom = Object.assign(this.filterFrom, params)
+ this.search(1)
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/admin-web/src/views/stock/procure/purchaseOrder/index.vue b/admin-web/src/views/stock/procure/purchaseOrder/index.vue
new file mode 100644
index 0000000..e5f7a65
--- /dev/null
+++ b/admin-web/src/views/stock/procure/purchaseOrder/index.vue
@@ -0,0 +1,457 @@
+<template>
+ <div class="app-container">
+ <el-container>
+ <el-container>
+ <el-card class="box-card" style="width: 100%" shadow="never">
+ <!--鎼滅储鏉′欢-->
+ <div class="filter-container">
+ <my-search ref="searchBar" :items="items" @search="fifterForm"></my-search>
+ </div>
+ <el-row style="margin-top: 15px">
+ <el-col>
+ <!--鍒楄〃-->
+ <my-button name="鏂板" @click="addtable" site="form" />
+ <div :style="{'overflow-y': 'auto', height:`${clientHeight - 320}px`}">
+ <el-row class="card"
+ :gutter="5">
+ <el-col v-for="(item, index) in proData" :key="index" class="cm-item">
+ <el-card class="card-data">
+ <div class="card-container">
+ <div class="hed-one"> <span>鍏ュ簱鍗曞彿锛歿{ item.order_no }}</span><span style="margin-left: 20px;"><el-button type="warning" plain size="mini">寰呭叆搴�</el-button></span></div>
+ <div class="one-hed">
+ <div class="box"><span class="span-two">鏈烘瀯锛�</span>{{ item.customer_name }}</div>
+ <div class="box"><span class="span-two">鎿嶄綔浜猴細</span>{{ item.customer_name }}</div>
+ <div class="box"><span class="span-two">鍑哄簱鏃堕棿锛�</span>{{ item.customer_name }}</div>
+ <div class="box"><span class="span-two">鍏ュ簱鏃堕棿锛�</span>{{ item.customer_name }}</div>
+ </div>
+ <div class="card-end">
+ <div v-for="(just, index) in item.data" class="two-end">
+ <div class="item"><span>{{ just.order_no }}锛�</span>{{ just.customer_name }}</div>
+ </div>
+ </div>
+ </div>
+ <div class="card-but">
+ <div>
+ <my-button style="width: 120px;" name="缂栬緫" site="form" />
+ <my-button style="width: 120px;" name="鍏ュ簱" site="form" />
+ </div>
+ <div style="margin-top: 10px;">
+ <my-button style="width: 120px;" name="鍒犻櫎" site="form" />
+ <my-button style="width: 120px;" name="鏌ョ湅璇︽儏" site="form" />
+ </div>
+ </div>
+
+ </el-card>
+ </el-col>
+ </el-row>
+ </div>
+ <el-pagination
+ :small="false"
+ :current-page="1"
+ :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
+ :page-size="10"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="0"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </el-col>
+ </el-row>
+ <!--娣诲姞/缂栬緫寮圭獥-->
+ <el-dialog title="鏂板鍑哄簱" :close-on-click-modal="false" :visible.sync="adddialog" width="60%" >
+ <el-form ref="ruleForm" :model="formData" class="demo-ruleForm" label-width="100px">
+ <el-row :gutter="24" class="headerHeight">
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="24" class="headerHeight">
+ <el-col :span="24">
+ <el-form-item label="鍑哄簱鎵嬬画" prop="name">
+ 浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <div style="position: relative;">
+ <div style="background-color: #F9F9F9;width: 90%;">
+ <el-row :gutter="24" class="">
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="24" class="">
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-table :data="formData.tableData" height="100%" :stripe="true">
+ <el-table-column prop="projectName" label="瑙勬牸鍨嬪彿" align="center"> </el-table-column>
+ <el-table-column prop="time1" label="鍗曚綅" align="center"> </el-table-column>
+ <el-table-column prop="unit" label="鐜版湁搴撳瓨" align="center"> </el-table-column>
+ <el-table-column prop="time2" label="鍑哄簱鏁伴噺" align="center"> </el-table-column>
+ </el-table>
+ </div>
+ <div style="position: absolute;right: 0;top: 152px;">
+ <my-button style="display: block;margin-left: 10px;margin-bottom: 5px;" name="绉婚櫎" site="form"/>
+ <my-button name="鏂板鐗╁搧" site="form"/>
+ </div>
+ </div>
+ </el-form>
+ <div slot="footer" align="center" class="dialog-footer">
+ <my-button name="纭畾" site="form" />
+ <my-button name="鍙栨秷" site="form" @click="adddialog = false"/>
+ </div>
+ </el-dialog>
+ </el-card>
+ </el-container>
+ </el-container>
+ <my-import
+ :import-setting="importSetting"
+ :dialog-show="importSetting.dialogShow"
+ :dialog-title="importSetting.dialogTitle"
+ />
+ </div>
+</template>
+
+<script>
+import MyButton from "@/components/myButton/myButton";
+import SettingIplatform from '@/utils/settingIplatform';
+import myImport from '@/views/components/myImport'
+import {getBaseUrl} from '@/utils/base';
+
+export default {
+ name: "index",
+ components: {MyButton, myImport},
+ data() {
+ return {
+
+ adddialog: false,
+ formData:{
+ tableData:[
+ {
+ projectName:'555'
+ },
+ {
+ projectName:'444'
+ }
+ ],
+ },
+ // 鎼滅储妗�
+ items: [
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鍑哄簱鍗曞彿',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鐗╁搧鍚嶇О',
+ placeholder: '鍙ā绯婃悳绱�',
+ defaultValue: ''
+ },
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鍒涘缓浜�',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'date-picker',
+ dataIndex: 'val1',
+ label: '鍑哄簱鏃堕棿',
+ defaultValue: ''
+ },
+ {
+ type: 'date-picker',
+ dataIndex: 'val2',
+ label: '鑷�',
+ defaultValue: ''
+ },
+ // {
+ // type: 'select',
+ // dataIndex: 'status',
+ // label: '鐘舵��',
+ // placeholder: '璇烽�夋嫨',
+ // defaultValue: '1',
+ // options: [
+ // {
+ // label: '鍚敤',
+ // value: '1'
+ // },
+ // {
+ // label: '绂佺敤',
+ // value: '0'
+ // }
+ // ]
+ // }
+ ],
+ proData: [
+ {
+ order_no:'55555',
+ customer_name:'666',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+ },
+ {
+ order_no:'55555',
+ customer_name:'666',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+ },
+ {
+ order_no:'55555',
+ customer_name:'666',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+ },
+ {
+ order_no:'55555',
+ customer_name:'666',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+
+ },
+ {
+ order_no:'55555',
+ customer_name:'666',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+
+ },
+ {
+ order_no:'55555',
+ customer_name:'666',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+
+ },
+ {
+ order_no:'55555',
+ customer_name:'666',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+
+ }
+ ],
+ // 鏍戞暟鎹�
+ treeDataList: [],
+ // 鎼滅储鏉′欢
+ filterFrom: {
+ tenantId: null,
+ userName: null,
+ userPhone: null,
+ status: 1
+ },
+ // 瀵煎叆
+ importSetting: {
+ dialogTitle: '瀵煎叆',
+ dialogShow: false,
+ fileSettings: {
+ data: {},
+ uploadUrl: getBaseUrl()+"/pc/fin/sys/tenant/import", // 涓婁紶鍦板潃
+ accept: '.xls', // 鏍煎紡
+ type: 'text', // 鍥炴樉褰㈠紡
+ loading: false // 瀵煎叆鏁堟灉
+ },
+ /* 妯℃澘涓嬭浇 */
+ templateSettings: {
+ templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О
+ templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate' // 涓嬭浇鍦板潃
+ },
+ onSuccess: null
+ },
+ editSetting: {
+ title: '',
+ id: '',
+ orgId: '',
+ show: false,
+ },
+ }
+ },
+ computed: {
+ clientHeight () {
+ return document.documentElement.clientHeight
+ },
+ },
+ created() {
+ },
+ methods: {
+ handleSizeChange(){},
+ handleCurrentChange(){},
+ //瀵煎叆
+ importOrg() {
+ this.importSetting.dialogShow = true
+ this.importSetting.onSuccess = (response, callBack) => {
+ if (response.code===1){
+ this.$message.success(response.msg)
+ this.search(1)
+ }else{
+ this.$message.warning(response.msg)
+ }
+ callBack()
+ }
+ },
+
+ addtable() {
+ this.adddialog = true
+ },
+ // 鏌ヨtable鍒楄〃
+ search(pageNum) {
+ if (pageNum != undefined) {
+ // this.$refs.myTable.search(pageNum)
+ } else {
+ // this.$refs.myTable.search()
+ }
+ },
+ fifterForm(params) {
+ console.log(params,'555');
+ this.filterFrom = Object.assign(this.filterFrom, params)
+ this.search(1)
+ }
+ }
+}
+</script>
+
+<style scoped>
+.card {
+ display: flex;
+ flex-wrap: wrap;
+ margin: 0px !important;
+ .cm-item {
+ width: 100%;
+ }
+ .cm-item /deep/ .el-card__body {
+ padding: 10px;
+ }
+}
+.card-data{
+ position: relative;
+ margin-top: 8px;
+ .card-container{
+ display: inline-block;
+ width: 70%;
+ .hed-one{
+ color: #2298EE;
+ font-size: 18px;
+ }
+ .one-hed{
+ margin-top: 15px;
+ .box{
+ display: inline-block;
+ margin-right: 20px;
+ }
+ }
+ .span-two{
+ color: #83919e;
+ font-size: 14px;
+ }
+ .card-end{
+ font-size: 14px;
+ color: #3d3d3d;
+ margin-top: 15px;
+ display: flex;
+ flex-wrap: wrap;
+ .two-end{
+ width: calc(33.33% - 20px);
+ margin-bottom: 15px;
+ }
+ }
+
+ }
+ .card-but{
+ position: absolute;
+ right: 20px;
+ top: 40%;
+ }
+
+}
+
+</style>
diff --git a/admin-web/src/views/stock/procure/receiptDetails/edit.vue b/admin-web/src/views/stock/procure/receiptDetails/edit.vue
new file mode 100644
index 0000000..37b0db9
--- /dev/null
+++ b/admin-web/src/views/stock/procure/receiptDetails/edit.vue
@@ -0,0 +1,111 @@
+<template>
+ <win-sm :title="setting.title" @close="close" :width="'800px'">
+ <el-form ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px">
+ <el-form-item label="缂栧彿" prop="code">
+ <el-input disabled v-model="formData.code" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <el-form-item label="鍦板潃" >
+ <el-input v-model="formData.adss" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <el-form-item label="鐘舵��" prop="status">
+ <el-switch
+ v-model="formData.status"
+ active-color="#0d997c"
+ inactive-color="#C0CCDA">
+ </el-switch>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" align="center" class="dialog-footer">
+ <my-button name="鍙栨秷" site="form" @click="close"/>
+ <my-button name="淇濆瓨" site="form" @click="save"/>
+ </div>
+ </win-sm>
+</template>
+
+<script>
+import winSm from '@/components/win/win-sm'
+import myButton from '@/components/myButton/myButton'
+import * as finsystenant from '@/api/baseSetting/finsystenant'
+
+export default {
+ components: {winSm, myButton},
+ props: {
+ setting: {
+ type: Object,
+ default: () => {
+ }
+ }
+ },
+ data() {
+ return {
+ checkAll: false,
+ checkedList: [],
+ formData: {
+ code: '',
+ name: '',
+ status: true,
+ summary: '',
+ },
+ rules: {
+ code: [
+ {required: true, message: '璇疯緭鍏ユ満鏋勭紪鍙�', trigger: 'blur'}
+ ],
+ name: [
+ {required: true, message: '璇疯緭鍏ユ満鏋勫悕绉�', trigger: 'blur'}
+ ],
+ status: [
+ {required: true, message: '璇烽�夋嫨鐘舵��', trigger: 'blur'}
+ ]
+ }
+ }
+ },
+ created() {
+ if(this.setting.info){
+ this.formData = Object.assign({},JSON.parse(this.setting.info))
+ }
+ },
+ methods: {
+ getEditInfo(id){
+
+ },
+ close() {
+ this.$emit('close')
+ },
+ save() {
+ this.$refs.ruleForm.validate((valid) => {
+ if (valid) {
+ const params = Object.assign({}, this.formData)
+ if(this.setting.id){
+ // 缂栬緫鎺ュ彛
+ finsystenant.edit(params).then(res => {
+ if (res) {
+ this.$message.success('淇濆瓨鎴愬姛锛�')
+ this.close()
+ this.$emit('search')
+ } else {
+ this.$message.error('淇濆瓨澶辫触')
+ }
+ })
+ }else{
+ params.orgId = this.setting.orgId
+ finsystenant.add(params).then(res => {
+ if (res) {
+ this.$message.success('淇濆瓨鎴愬姛锛�')
+ this.close()
+ this.$emit('search')
+ } else {
+ this.$message.error('淇濆瓨澶辫触')
+ }
+ })
+ }
+ } else {
+ this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��')
+ }
+ })
+ }
+ }
+}
+</script>
diff --git a/admin-web/src/views/stock/procure/receiptDetails/index.vue b/admin-web/src/views/stock/procure/receiptDetails/index.vue
new file mode 100644
index 0000000..494f54e
--- /dev/null
+++ b/admin-web/src/views/stock/procure/receiptDetails/index.vue
@@ -0,0 +1,280 @@
+<template>
+ <div class="app-container">
+ <el-container>
+ <el-container>
+ <el-card class="box-card" style="width: 100%" shadow="never">
+ <!--鎼滅储鏉′欢-->
+ <div class="filter-container">
+ <my-search ref="searchBar" :items="items" @search="fifterForm"></my-search>
+ </div>
+ <el-row style="margin-top: 15px">
+ <el-col>
+ <!--鍒楄〃-->
+ <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
+ </el-col>
+ </el-row>
+ <!--娣诲姞/缂栬緫寮圭獥-->
+ <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"/>
+ </el-card>
+ </el-container>
+ </el-container>
+ <my-import
+ :import-setting="importSetting"
+ :dialog-show="importSetting.dialogShow"
+ :dialog-title="importSetting.dialogTitle"
+ />
+ </div>
+</template>
+
+<script>
+import MyTableV2 from "@/components/myTable/myTableV2";
+import MyButton from "@/components/myButton/myButton";
+import SettingIplatform from '@/utils/settingIplatform';
+import edit from './edit'
+import * as finsystenant from '@/api/baseSetting/finsystenant'
+import myImport from '@/views/components/myImport'
+import {getBaseUrl} from '@/utils/base';
+
+export default {
+ name: "index",
+ components: {MyButton, MyTableV2, edit, myImport},
+ data() {
+ return {
+ // 鎼滅储妗�
+ items: [
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鍗曞彿',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'select',
+ dataIndex: 'status',
+ label: '绫诲瀷',
+ placeholder: '璇烽�夋嫨',
+ defaultValue: '1',
+ options: [
+ {
+ label: '鍚敤',
+ value: '1'
+ },
+ {
+ label: '绂佺敤',
+ value: '0'
+ }
+ ]
+ },
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鐗╁搧鍚嶇О',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鍒涘缓浜�',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ ],
+ // 鏍戞暟鎹�
+ treeDataList: [],
+ // 鎼滅储鏉′欢
+ filterFrom: {
+ tenantId: null,
+ userName: null,
+ userPhone: null,
+ status: 1
+ },
+ // 瀵煎叆
+ importSetting: {
+ dialogTitle: '瀵煎叆',
+ dialogShow: false,
+ fileSettings: {
+ data: {},
+ uploadUrl: getBaseUrl()+"/pc/fin/sys/tenant/import", // 涓婁紶鍦板潃
+ accept: '.xls', // 鏍煎紡
+ type: 'text', // 鍥炴樉褰㈠紡
+ loading: false // 瀵煎叆鏁堟灉
+ },
+ /* 妯℃澘涓嬭浇 */
+ templateSettings: {
+ templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О
+ templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate' // 涓嬭浇鍦板潃
+ },
+ onSuccess: null
+ },
+ editSetting: {
+ title: '',
+ id: '',
+ orgId: '',
+ show: false,
+ },
+ // 琛ㄦ牸鏁版嵁
+ table: {
+ showIndex: true, // 鏄惁鏄剧ず搴忓彿
+ expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁
+ url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/list', // 璇锋眰鍦板潃
+ // 宸ュ叿鏉�
+ tools: {
+ columnsCtrl: {// 鍒楁帶鍒舵寜閽�
+ show: false
+ },
+ generalExport: {// 閫氱敤瀵煎嚭鎸夐挳
+ show: false
+ },
+ // 鑷畾涔夊伐鍏锋潯鎸夐挳
+ custom: [
+ ]
+ },
+ // 鍒椾俊鎭�
+ columns: [
+ {title: '鍗曞彿', field: 'code', align: 'center'},
+ {title: '鐗╁搧鍚嶇О', field: 'lv', align: 'center', },
+ {title: '瑙勬牸鍨嬪彿', field: 'lv', align: 'center', },
+ {title: '鍗曚环', field: 'summary', align: 'left',},
+ {title: '鍏ュ簱鏁伴噺', field: 'summary', align: 'left',},
+ {title: '閲戦', field: 'summary', align: 'left',},
+ {title: '鎵�灞炴満鏋�', field: 'summary', align: 'left',},
+ {title: '鍒涘缓浜�', field: 'summary', align: 'left',},
+ {title: '鎿嶄綔鏃堕棿', field: 'summary', align: 'left',},
+ ],
+ // 鎿嶄綔淇℃伅
+ operation: {
+ show: true, // 鏄剧ず鎿嶄綔鍒�
+ width: '150', // 鍒楀
+ attr: [
+ {
+ title: '璇︽儏',
+ events: (row) => {
+ this.showAudit(row);
+ },
+ },
+ ],
+ },
+ paging: {
+ show: true, // 鏄剧ず鍒嗛〉
+ // 鍒嗛〉淇℃伅
+ page: {
+ small: false,
+ pageNum: 1,
+ pageSize: 10,
+ total: 0
+ }
+ }
+ },
+ }
+ },
+ created() {
+ // 鑾峰彇鏈烘瀯鏍�
+ this.initTreeData()
+ },
+ methods: {
+ //瀵煎叆
+ importOrg() {
+ this.importSetting.dialogShow = true
+ this.importSetting.onSuccess = (response, callBack) => {
+ if (response.code===1){
+ this.$message.success(response.msg)
+ this.search(1)
+ }else{
+ this.$message.warning(response.msg)
+ }
+ callBack()
+ }
+ },
+ // 宸︿晶鏍戝垵濮嬪寲
+ initTreeData() {
+ finsystenant.getTree().then(res => {
+ const content = res || []
+ this.treeDataList.splice(0, this.treeDataList.length)
+ this.treeDataList = content
+ if (content.length > 0) {
+ this.importSetting.fileSettings.data = {pid: content[0].id}
+ }
+ })
+ },
+ updState(row) {
+ let vm = this
+ let text = row.status == 0 ? "鍚敤" : "绂佺敤";
+ vm.$modal.confirm('纭瑕�' + text + '"' + row.name + '"鍚楋紵').then(function () {
+ let params = Object.assign({}, row)
+ params.status = row.status == 1 ? 0 : 1
+ finsystenant.edit(params).then(res => {
+ if (res) {
+ row.status = row.status === 1 ? 0 : 1
+ vm.$modal.msgSuccess(text + "鎴愬姛");
+ vm.search()
+ }
+ })
+ })
+ },
+ del(row) {
+ this.$modal
+ .confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.name + '"鐨勬満鏋勫悧锛�')
+ .then(function () {
+ finsystenant.del({id: row.id}).then((res) => {
+ });
+ })
+ .then((res) => {
+ this.$message.success('鍒犻櫎鎴愬姛锛�');
+ this.search()
+ })
+ .catch(() => {
+ });
+ },
+ showAdd() {
+ // if (!this.editSetting.orgId) {
+ // this.$message.warning('璇峰厛閫夋嫨宸︿晶鏈烘瀯')
+ // } else {
+ this.editSetting.id = null;
+ this.editSetting.info = null;
+ this.editSetting.title = '鏂板';
+ this.editSetting.show = true;
+ // }
+ },
+ showAudit(row) {
+ this.editSetting.id = row.id;
+ this.editSetting.info = JSON.stringify(row);
+ this.editSetting.title = '缂栬緫';
+ this.editSetting.show = true;
+ },
+ nodeClick(param) {
+ param = param || {}
+ this.p = Object.assign({}, {
+ id: param.id,
+ name: param.name
+ })
+ if (this.p.id != undefined && this.p.id != null) {
+ this.filterFrom.tenantId = this.p.id
+ this.editSetting.orgId = this.p.id
+ } else {
+ this.filterFrom.tenantId = null
+ this.editSetting.orgId = null
+ }
+ this.importSetting.fileSettings.data = {pid: param.id}
+ this.search(1)
+ },
+ // 鏌ヨtable鍒楄〃
+ search(pageNum) {
+ if (pageNum != undefined) {
+ this.$refs.myTable.search(pageNum)
+ } else {
+ this.$refs.myTable.search()
+ }
+ },
+ fifterForm(params) {
+ this.filterFrom = Object.assign(this.filterFrom, params)
+ this.search(1)
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/admin-web/src/views/stock/transfer/transferApplication/index.vue b/admin-web/src/views/stock/transfer/transferApplication/index.vue
new file mode 100644
index 0000000..77df32b
--- /dev/null
+++ b/admin-web/src/views/stock/transfer/transferApplication/index.vue
@@ -0,0 +1,457 @@
+<template>
+ <div class="app-container">
+ <el-container>
+ <el-container>
+ <el-card class="box-card" style="width: 100%" shadow="never">
+ <!--鎼滅储鏉′欢-->
+ <div class="filter-container">
+ <my-search ref="searchBar" :items="items" @search="fifterForm"></my-search>
+ </div>
+ <el-row style="margin-top: 15px">
+ <el-col>
+ <!--鍒楄〃-->
+ <my-button name="鏂板" @click="addtable" site="form" />
+ <div :style="{'overflow-y': 'auto', height:`${clientHeight - 320}px`}">
+ <el-row class="card"
+ :gutter="5">
+ <el-col v-for="(item, index) in proData" :key="index" class="cm-item">
+ <el-card class="card-data">
+ <div class="card-container">
+ <div class="hed-one"> <span>璋冩嫧鍗曞彿锛歿{ item.order_no }}</span><span style="margin-left: 20px;"><el-button type="warning" plain size="mini">寰呮帴鏀�</el-button></span></div>
+ <div class="one-hed">
+ <div class="box"><span class="span-two">鎺ュ彈鏈烘瀯锛�</span>{{ item.customer_name }}</div>
+ <div class="box"><span class="span-two">鐢宠浜猴細</span>{{ item.customer_name }}</div>
+ <div class="box"><span class="span-two">鐢宠璋冩嫧鏃堕棿锛�</span>{{ item.customer_name }}</div>
+ <div class="box"><span class="span-two">鎺ユ敹鏃堕棿锛�</span>{{ item.customer_name }}</div>
+ <div class="box"><span class="span-two">璋冩嫧鏃堕棿锛�</span>{{ item.customer_name }}</div>
+ <div class="box"><span class="span-two">鎺ュ彈浜猴細</span>{{ item.customer_name }}</div>
+ <div class="box"><span class="span-two">鎺ュ彈鏃堕棿锛�</span>{{ item.customer_name }}</div>
+ </div>
+ <div class="card-end">
+ <div v-for="(just, index) in item.data" class="two-end">
+ <div class="item"><span>{{ just.order_no }}锛�</span>{{ just.customer_name }}</div>
+ </div>
+ </div>
+ </div>
+ <div class="card-but">
+ <div style="margin-top: 10px;">
+ <my-button style="width: 120px;" name="鍒犻櫎" site="form" />
+ <my-button style="width: 120px;" name="鏌ョ湅璇︽儏" site="form" />
+ </div>
+ </div>
+
+ </el-card>
+ </el-col>
+ </el-row>
+ </div>
+ <el-pagination
+ :small="false"
+ :current-page="1"
+ :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
+ :page-size="10"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="0"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </el-col>
+ </el-row>
+ <!--娣诲姞/缂栬緫寮圭獥-->
+ <el-dialog title="鏂板鍑哄簱" :close-on-click-modal="false" :visible.sync="adddialog" width="60%" >
+ <el-form ref="ruleForm" :model="formData" class="demo-ruleForm" label-width="100px">
+ <el-row :gutter="24" class="headerHeight">
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="24" class="headerHeight">
+ <el-col :span="24">
+ <el-form-item label="鍑哄簱鎵嬬画" prop="name">
+ 浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <div style="position: relative;">
+ <div style="background-color: #F9F9F9;width: 90%;">
+ <el-row :gutter="24" class="">
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="24" class="">
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-table :data="formData.tableData" height="100%" :stripe="true">
+ <el-table-column prop="projectName" label="瑙勬牸鍨嬪彿" align="center"> </el-table-column>
+ <el-table-column prop="time1" label="鍗曚綅" align="center"> </el-table-column>
+ <el-table-column prop="unit" label="鐜版湁搴撳瓨" align="center"> </el-table-column>
+ <el-table-column prop="time2" label="鍑哄簱鏁伴噺" align="center"> </el-table-column>
+ </el-table>
+ </div>
+ <div style="position: absolute;right: 0;top: 152px;">
+ <my-button style="display: block;margin-left: 10px;margin-bottom: 5px;" name="绉婚櫎" site="form"/>
+ <my-button name="鏂板鐗╁搧" site="form"/>
+ </div>
+ </div>
+ </el-form>
+ <div slot="footer" align="center" class="dialog-footer">
+ <my-button name="纭畾" site="form" />
+ <my-button name="鍙栨秷" site="form" @click="adddialog = false"/>
+ </div>
+ </el-dialog>
+ </el-card>
+ </el-container>
+ </el-container>
+ <my-import
+ :import-setting="importSetting"
+ :dialog-show="importSetting.dialogShow"
+ :dialog-title="importSetting.dialogTitle"
+ />
+ </div>
+</template>
+
+<script>
+import MyButton from "@/components/myButton/myButton";
+import SettingIplatform from '@/utils/settingIplatform';
+import myImport from '@/views/components/myImport'
+import {getBaseUrl} from '@/utils/base';
+
+export default {
+ name: "index",
+ components: {MyButton, myImport},
+ data() {
+ return {
+
+ adddialog: false,
+ formData:{
+ tableData:[
+ {
+ projectName:'555'
+ },
+ {
+ projectName:'444'
+ }
+ ],
+ },
+ // 鎼滅储妗�
+ items: [
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鍑哄簱鍗曞彿',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鐗╁搧鍚嶇О',
+ placeholder: '鍙ā绯婃悳绱�',
+ defaultValue: ''
+ },
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鍒涘缓浜�',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'date-picker',
+ dataIndex: 'val1',
+ label: '鍑哄簱鏃堕棿',
+ defaultValue: ''
+ },
+ {
+ type: 'date-picker',
+ dataIndex: 'val2',
+ label: '鑷�',
+ defaultValue: ''
+ },
+ // {
+ // type: 'select',
+ // dataIndex: 'status',
+ // label: '鐘舵��',
+ // placeholder: '璇烽�夋嫨',
+ // defaultValue: '1',
+ // options: [
+ // {
+ // label: '鍚敤',
+ // value: '1'
+ // },
+ // {
+ // label: '绂佺敤',
+ // value: '0'
+ // }
+ // ]
+ // }
+ ],
+ proData: [
+ {
+ order_no:'55555',
+ customer_name:'閮戝窞甯傞偖鏀垮垎鍏徃',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+ },
+ {
+ order_no:'55555',
+ customer_name:'閮戝窞甯傞偖鏀垮垎鍏徃',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'閮戝窞甯傞偖鏀垮垎鍏徃'
+ },
+ ]
+ },
+ {
+ order_no:'55555',
+ customer_name:'閮戝窞甯傞偖鏀垮垎鍏徃',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+ },
+ {
+ order_no:'55555',
+ customer_name:'閮戝窞甯傞偖鏀垮垎鍏徃',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+
+ },
+ {
+ order_no:'55555',
+ customer_name:'閮戝窞甯傞偖鏀垮垎鍏徃',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+
+ },
+ {
+ order_no:'55555',
+ customer_name:'閮戝窞甯傞偖鏀垮垎鍏徃',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+
+ },
+ {
+ order_no:'55555',
+ customer_name:'閮戝窞甯傞偖鏀垮垎鍏徃',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+
+ }
+ ],
+ // 鏍戞暟鎹�
+ treeDataList: [],
+ // 鎼滅储鏉′欢
+ filterFrom: {
+ tenantId: null,
+ userName: null,
+ userPhone: null,
+ status: 1
+ },
+ // 瀵煎叆
+ importSetting: {
+ dialogTitle: '瀵煎叆',
+ dialogShow: false,
+ fileSettings: {
+ data: {},
+ uploadUrl: getBaseUrl()+"/pc/fin/sys/tenant/import", // 涓婁紶鍦板潃
+ accept: '.xls', // 鏍煎紡
+ type: 'text', // 鍥炴樉褰㈠紡
+ loading: false // 瀵煎叆鏁堟灉
+ },
+ /* 妯℃澘涓嬭浇 */
+ templateSettings: {
+ templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О
+ templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate' // 涓嬭浇鍦板潃
+ },
+ onSuccess: null
+ },
+ editSetting: {
+ title: '',
+ id: '',
+ orgId: '',
+ show: false,
+ },
+ }
+ },
+ computed: {
+ clientHeight () {
+ return document.documentElement.clientHeight
+ },
+ },
+ created() {
+ },
+ methods: {
+ handleSizeChange(){},
+ handleCurrentChange(){},
+ //瀵煎叆
+ importOrg() {
+ this.importSetting.dialogShow = true
+ this.importSetting.onSuccess = (response, callBack) => {
+ if (response.code===1){
+ this.$message.success(response.msg)
+ this.search(1)
+ }else{
+ this.$message.warning(response.msg)
+ }
+ callBack()
+ }
+ },
+
+ addtable() {
+ this.adddialog = true
+ },
+ // 鏌ヨtable鍒楄〃
+ search(pageNum) {
+ if (pageNum != undefined) {
+ // this.$refs.myTable.search(pageNum)
+ } else {
+ // this.$refs.myTable.search()
+ }
+ },
+ fifterForm(params) {
+ console.log(params,'555');
+ this.filterFrom = Object.assign(this.filterFrom, params)
+ this.search(1)
+ }
+ }
+}
+</script>
+
+<style scoped>
+.card {
+ display: flex;
+ flex-wrap: wrap;
+ margin: 0px !important;
+ .cm-item {
+ width: 100%;
+ }
+ .cm-item /deep/ .el-card__body {
+ padding: 10px;
+ }
+}
+.card-data{
+ position: relative;
+ margin-top: 8px;
+ .card-container{
+ display: inline-block;
+ width: 70%;
+ .hed-one{
+ color: #2298EE;
+ font-size: 18px;
+ }
+ .one-hed{
+ margin-top: 5px;
+ .box{
+ display: inline-block;
+ margin-right: 20px;
+ margin-top: 10px;
+ }
+ }
+ .span-two{
+ color: #83919e;
+ font-size: 14px;
+ }
+ .card-end{
+ font-size: 14px;
+ color: #3d3d3d;
+ margin-top: 15px;
+ display: flex;
+ flex-wrap: wrap;
+ .two-end{
+ width: calc(33.33% - 20px);
+ margin-bottom: 15px;
+ }
+ }
+
+ }
+ .card-but{
+ position: absolute;
+ right: 20px;
+ top: 40%;
+ }
+
+}
+
+</style>
diff --git a/admin-web/src/views/stock/transfer/transferdetails/edit.vue b/admin-web/src/views/stock/transfer/transferdetails/edit.vue
new file mode 100644
index 0000000..37b0db9
--- /dev/null
+++ b/admin-web/src/views/stock/transfer/transferdetails/edit.vue
@@ -0,0 +1,111 @@
+<template>
+ <win-sm :title="setting.title" @close="close" :width="'800px'">
+ <el-form ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px">
+ <el-form-item label="缂栧彿" prop="code">
+ <el-input disabled v-model="formData.code" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <el-form-item label="鍦板潃" >
+ <el-input v-model="formData.adss" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ <el-form-item label="鐘舵��" prop="status">
+ <el-switch
+ v-model="formData.status"
+ active-color="#0d997c"
+ inactive-color="#C0CCDA">
+ </el-switch>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" align="center" class="dialog-footer">
+ <my-button name="鍙栨秷" site="form" @click="close"/>
+ <my-button name="淇濆瓨" site="form" @click="save"/>
+ </div>
+ </win-sm>
+</template>
+
+<script>
+import winSm from '@/components/win/win-sm'
+import myButton from '@/components/myButton/myButton'
+import * as finsystenant from '@/api/baseSetting/finsystenant'
+
+export default {
+ components: {winSm, myButton},
+ props: {
+ setting: {
+ type: Object,
+ default: () => {
+ }
+ }
+ },
+ data() {
+ return {
+ checkAll: false,
+ checkedList: [],
+ formData: {
+ code: '',
+ name: '',
+ status: true,
+ summary: '',
+ },
+ rules: {
+ code: [
+ {required: true, message: '璇疯緭鍏ユ満鏋勭紪鍙�', trigger: 'blur'}
+ ],
+ name: [
+ {required: true, message: '璇疯緭鍏ユ満鏋勫悕绉�', trigger: 'blur'}
+ ],
+ status: [
+ {required: true, message: '璇烽�夋嫨鐘舵��', trigger: 'blur'}
+ ]
+ }
+ }
+ },
+ created() {
+ if(this.setting.info){
+ this.formData = Object.assign({},JSON.parse(this.setting.info))
+ }
+ },
+ methods: {
+ getEditInfo(id){
+
+ },
+ close() {
+ this.$emit('close')
+ },
+ save() {
+ this.$refs.ruleForm.validate((valid) => {
+ if (valid) {
+ const params = Object.assign({}, this.formData)
+ if(this.setting.id){
+ // 缂栬緫鎺ュ彛
+ finsystenant.edit(params).then(res => {
+ if (res) {
+ this.$message.success('淇濆瓨鎴愬姛锛�')
+ this.close()
+ this.$emit('search')
+ } else {
+ this.$message.error('淇濆瓨澶辫触')
+ }
+ })
+ }else{
+ params.orgId = this.setting.orgId
+ finsystenant.add(params).then(res => {
+ if (res) {
+ this.$message.success('淇濆瓨鎴愬姛锛�')
+ this.close()
+ this.$emit('search')
+ } else {
+ this.$message.error('淇濆瓨澶辫触')
+ }
+ })
+ }
+ } else {
+ this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��')
+ }
+ })
+ }
+ }
+}
+</script>
diff --git a/admin-web/src/views/stock/transfer/transferdetails/index.vue b/admin-web/src/views/stock/transfer/transferdetails/index.vue
new file mode 100644
index 0000000..a0db784
--- /dev/null
+++ b/admin-web/src/views/stock/transfer/transferdetails/index.vue
@@ -0,0 +1,282 @@
+<template>
+ <div class="app-container">
+ <el-container>
+ <el-container>
+ <el-card class="box-card" style="width: 100%" shadow="never">
+ <!--鎼滅储鏉′欢-->
+ <div class="filter-container">
+ <my-search ref="searchBar" :items="items" @search="fifterForm"></my-search>
+ </div>
+ <el-row style="margin-top: 15px">
+ <el-col>
+ <!--鍒楄〃-->
+ <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
+ </el-col>
+ </el-row>
+ <!--娣诲姞/缂栬緫寮圭獥-->
+ <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"/>
+ </el-card>
+ </el-container>
+ </el-container>
+ <my-import
+ :import-setting="importSetting"
+ :dialog-show="importSetting.dialogShow"
+ :dialog-title="importSetting.dialogTitle"
+ />
+ </div>
+</template>
+
+<script>
+import MyTableV2 from "@/components/myTable/myTableV2";
+import MyButton from "@/components/myButton/myButton";
+import SettingIplatform from '@/utils/settingIplatform';
+import edit from './edit'
+import * as finsystenant from '@/api/baseSetting/finsystenant'
+import myImport from '@/views/components/myImport'
+import {getBaseUrl} from '@/utils/base';
+
+export default {
+ name: "index",
+ components: {MyButton, MyTableV2, edit, myImport},
+ data() {
+ return {
+ // 鎼滅储妗�
+ items: [
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鍗曞彿',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'select',
+ dataIndex: 'status',
+ label: '绫诲瀷',
+ placeholder: '璇烽�夋嫨',
+ defaultValue: '1',
+ options: [
+ {
+ label: '鍚敤',
+ value: '1'
+ },
+ {
+ label: '绂佺敤',
+ value: '0'
+ }
+ ]
+ },
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鐗╁搧鍚嶇О',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鍒涘缓浜�',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ ],
+ // 鏍戞暟鎹�
+ treeDataList: [],
+ // 鎼滅储鏉′欢
+ filterFrom: {
+ tenantId: null,
+ userName: null,
+ userPhone: null,
+ status: 1
+ },
+ // 瀵煎叆
+ importSetting: {
+ dialogTitle: '瀵煎叆',
+ dialogShow: false,
+ fileSettings: {
+ data: {},
+ uploadUrl: getBaseUrl()+"/pc/fin/sys/tenant/import", // 涓婁紶鍦板潃
+ accept: '.xls', // 鏍煎紡
+ type: 'text', // 鍥炴樉褰㈠紡
+ loading: false // 瀵煎叆鏁堟灉
+ },
+ /* 妯℃澘涓嬭浇 */
+ templateSettings: {
+ templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О
+ templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate' // 涓嬭浇鍦板潃
+ },
+ onSuccess: null
+ },
+ editSetting: {
+ title: '',
+ id: '',
+ orgId: '',
+ show: false,
+ },
+ // 琛ㄦ牸鏁版嵁
+ table: {
+ showIndex: true, // 鏄惁鏄剧ず搴忓彿
+ expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁
+ url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/list', // 璇锋眰鍦板潃
+ // 宸ュ叿鏉�
+ tools: {
+ columnsCtrl: {// 鍒楁帶鍒舵寜閽�
+ show: false
+ },
+ generalExport: {// 閫氱敤瀵煎嚭鎸夐挳
+ show: false
+ },
+ // 鑷畾涔夊伐鍏锋潯鎸夐挳
+ custom: [
+ ]
+ },
+ // 鍒椾俊鎭�
+ columns: [
+ {title: '鍗曞彿', field: 'code', align: 'center'},
+ {title: '鐗╁搧鍚嶇О', field: 'lv', align: 'center', },
+ {title: '瑙勬牸鍨嬪彿', field: 'lv', align: 'center', },
+ {title: '鏁伴噺', field: 'summary', align: 'left',},
+ {title: '鎺ュ彈鏈烘瀯', field: 'summary', align: 'left',},
+ {title: '鍒涘缓浜�', field: 'summary', align: 'left',},
+ {title: '鐢宠鏃堕棿', field: 'summary', align: 'left',},
+ {title: '鎺ユ敹鏃堕棿', field: 'summary', align: 'left',},
+ {title: '璋冩嫧鏈烘瀯', field: 'summary', align: 'left',},
+ {title: '璋冩嫧浜�', field: 'summary', align: 'left',},
+ {title: '璋冩嫧鏃堕棿', field: 'summary', align: 'left',},
+ ],
+ // 鎿嶄綔淇℃伅
+ operation: {
+ show: true, // 鏄剧ず鎿嶄綔鍒�
+ width: '150', // 鍒楀
+ attr: [
+ {
+ title: '璇︽儏',
+ events: (row) => {
+ this.showAudit(row);
+ },
+ },
+ ],
+ },
+ paging: {
+ show: true, // 鏄剧ず鍒嗛〉
+ // 鍒嗛〉淇℃伅
+ page: {
+ small: false,
+ pageNum: 1,
+ pageSize: 10,
+ total: 0
+ }
+ }
+ },
+ }
+ },
+ created() {
+ // 鑾峰彇鏈烘瀯鏍�
+ this.initTreeData()
+ },
+ methods: {
+ //瀵煎叆
+ importOrg() {
+ this.importSetting.dialogShow = true
+ this.importSetting.onSuccess = (response, callBack) => {
+ if (response.code===1){
+ this.$message.success(response.msg)
+ this.search(1)
+ }else{
+ this.$message.warning(response.msg)
+ }
+ callBack()
+ }
+ },
+ // 宸︿晶鏍戝垵濮嬪寲
+ initTreeData() {
+ finsystenant.getTree().then(res => {
+ const content = res || []
+ this.treeDataList.splice(0, this.treeDataList.length)
+ this.treeDataList = content
+ if (content.length > 0) {
+ this.importSetting.fileSettings.data = {pid: content[0].id}
+ }
+ })
+ },
+ updState(row) {
+ let vm = this
+ let text = row.status == 0 ? "鍚敤" : "绂佺敤";
+ vm.$modal.confirm('纭瑕�' + text + '"' + row.name + '"鍚楋紵').then(function () {
+ let params = Object.assign({}, row)
+ params.status = row.status == 1 ? 0 : 1
+ finsystenant.edit(params).then(res => {
+ if (res) {
+ row.status = row.status === 1 ? 0 : 1
+ vm.$modal.msgSuccess(text + "鎴愬姛");
+ vm.search()
+ }
+ })
+ })
+ },
+ del(row) {
+ this.$modal
+ .confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.name + '"鐨勬満鏋勫悧锛�')
+ .then(function () {
+ finsystenant.del({id: row.id}).then((res) => {
+ });
+ })
+ .then((res) => {
+ this.$message.success('鍒犻櫎鎴愬姛锛�');
+ this.search()
+ })
+ .catch(() => {
+ });
+ },
+ showAdd() {
+ // if (!this.editSetting.orgId) {
+ // this.$message.warning('璇峰厛閫夋嫨宸︿晶鏈烘瀯')
+ // } else {
+ this.editSetting.id = null;
+ this.editSetting.info = null;
+ this.editSetting.title = '鏂板';
+ this.editSetting.show = true;
+ // }
+ },
+ showAudit(row) {
+ this.editSetting.id = row.id;
+ this.editSetting.info = JSON.stringify(row);
+ this.editSetting.title = '缂栬緫';
+ this.editSetting.show = true;
+ },
+ nodeClick(param) {
+ param = param || {}
+ this.p = Object.assign({}, {
+ id: param.id,
+ name: param.name
+ })
+ if (this.p.id != undefined && this.p.id != null) {
+ this.filterFrom.tenantId = this.p.id
+ this.editSetting.orgId = this.p.id
+ } else {
+ this.filterFrom.tenantId = null
+ this.editSetting.orgId = null
+ }
+ this.importSetting.fileSettings.data = {pid: param.id}
+ this.search(1)
+ },
+ // 鏌ヨtable鍒楄〃
+ search(pageNum) {
+ if (pageNum != undefined) {
+ this.$refs.myTable.search(pageNum)
+ } else {
+ this.$refs.myTable.search()
+ }
+ },
+ fifterForm(params) {
+ this.filterFrom = Object.assign(this.filterFrom, params)
+ this.search(1)
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/admin-web/src/views/stock/transfer/transferissue/index.vue b/admin-web/src/views/stock/transfer/transferissue/index.vue
new file mode 100644
index 0000000..77df32b
--- /dev/null
+++ b/admin-web/src/views/stock/transfer/transferissue/index.vue
@@ -0,0 +1,457 @@
+<template>
+ <div class="app-container">
+ <el-container>
+ <el-container>
+ <el-card class="box-card" style="width: 100%" shadow="never">
+ <!--鎼滅储鏉′欢-->
+ <div class="filter-container">
+ <my-search ref="searchBar" :items="items" @search="fifterForm"></my-search>
+ </div>
+ <el-row style="margin-top: 15px">
+ <el-col>
+ <!--鍒楄〃-->
+ <my-button name="鏂板" @click="addtable" site="form" />
+ <div :style="{'overflow-y': 'auto', height:`${clientHeight - 320}px`}">
+ <el-row class="card"
+ :gutter="5">
+ <el-col v-for="(item, index) in proData" :key="index" class="cm-item">
+ <el-card class="card-data">
+ <div class="card-container">
+ <div class="hed-one"> <span>璋冩嫧鍗曞彿锛歿{ item.order_no }}</span><span style="margin-left: 20px;"><el-button type="warning" plain size="mini">寰呮帴鏀�</el-button></span></div>
+ <div class="one-hed">
+ <div class="box"><span class="span-two">鎺ュ彈鏈烘瀯锛�</span>{{ item.customer_name }}</div>
+ <div class="box"><span class="span-two">鐢宠浜猴細</span>{{ item.customer_name }}</div>
+ <div class="box"><span class="span-two">鐢宠璋冩嫧鏃堕棿锛�</span>{{ item.customer_name }}</div>
+ <div class="box"><span class="span-two">鎺ユ敹鏃堕棿锛�</span>{{ item.customer_name }}</div>
+ <div class="box"><span class="span-two">璋冩嫧鏃堕棿锛�</span>{{ item.customer_name }}</div>
+ <div class="box"><span class="span-two">鎺ュ彈浜猴細</span>{{ item.customer_name }}</div>
+ <div class="box"><span class="span-two">鎺ュ彈鏃堕棿锛�</span>{{ item.customer_name }}</div>
+ </div>
+ <div class="card-end">
+ <div v-for="(just, index) in item.data" class="two-end">
+ <div class="item"><span>{{ just.order_no }}锛�</span>{{ just.customer_name }}</div>
+ </div>
+ </div>
+ </div>
+ <div class="card-but">
+ <div style="margin-top: 10px;">
+ <my-button style="width: 120px;" name="鍒犻櫎" site="form" />
+ <my-button style="width: 120px;" name="鏌ョ湅璇︽儏" site="form" />
+ </div>
+ </div>
+
+ </el-card>
+ </el-col>
+ </el-row>
+ </div>
+ <el-pagination
+ :small="false"
+ :current-page="1"
+ :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
+ :page-size="10"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="0"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </el-col>
+ </el-row>
+ <!--娣诲姞/缂栬緫寮圭獥-->
+ <el-dialog title="鏂板鍑哄簱" :close-on-click-modal="false" :visible.sync="adddialog" width="60%" >
+ <el-form ref="ruleForm" :model="formData" class="demo-ruleForm" label-width="100px">
+ <el-row :gutter="24" class="headerHeight">
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="24" class="headerHeight">
+ <el-col :span="24">
+ <el-form-item label="鍑哄簱鎵嬬画" prop="name">
+ 浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <div style="position: relative;">
+ <div style="background-color: #F9F9F9;width: 90%;">
+ <el-row :gutter="24" class="">
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="24" class="">
+ <el-col :span="12">
+ <el-form-item label="浠撳簱鍚嶇О" prop="name">
+ <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-table :data="formData.tableData" height="100%" :stripe="true">
+ <el-table-column prop="projectName" label="瑙勬牸鍨嬪彿" align="center"> </el-table-column>
+ <el-table-column prop="time1" label="鍗曚綅" align="center"> </el-table-column>
+ <el-table-column prop="unit" label="鐜版湁搴撳瓨" align="center"> </el-table-column>
+ <el-table-column prop="time2" label="鍑哄簱鏁伴噺" align="center"> </el-table-column>
+ </el-table>
+ </div>
+ <div style="position: absolute;right: 0;top: 152px;">
+ <my-button style="display: block;margin-left: 10px;margin-bottom: 5px;" name="绉婚櫎" site="form"/>
+ <my-button name="鏂板鐗╁搧" site="form"/>
+ </div>
+ </div>
+ </el-form>
+ <div slot="footer" align="center" class="dialog-footer">
+ <my-button name="纭畾" site="form" />
+ <my-button name="鍙栨秷" site="form" @click="adddialog = false"/>
+ </div>
+ </el-dialog>
+ </el-card>
+ </el-container>
+ </el-container>
+ <my-import
+ :import-setting="importSetting"
+ :dialog-show="importSetting.dialogShow"
+ :dialog-title="importSetting.dialogTitle"
+ />
+ </div>
+</template>
+
+<script>
+import MyButton from "@/components/myButton/myButton";
+import SettingIplatform from '@/utils/settingIplatform';
+import myImport from '@/views/components/myImport'
+import {getBaseUrl} from '@/utils/base';
+
+export default {
+ name: "index",
+ components: {MyButton, myImport},
+ data() {
+ return {
+
+ adddialog: false,
+ formData:{
+ tableData:[
+ {
+ projectName:'555'
+ },
+ {
+ projectName:'444'
+ }
+ ],
+ },
+ // 鎼滅储妗�
+ items: [
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鍑哄簱鍗曞彿',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鐗╁搧鍚嶇О',
+ placeholder: '鍙ā绯婃悳绱�',
+ defaultValue: ''
+ },
+ {
+ type: 'text',
+ dataIndex: 'name',
+ label: '鍒涘缓浜�',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'date-picker',
+ dataIndex: 'val1',
+ label: '鍑哄簱鏃堕棿',
+ defaultValue: ''
+ },
+ {
+ type: 'date-picker',
+ dataIndex: 'val2',
+ label: '鑷�',
+ defaultValue: ''
+ },
+ // {
+ // type: 'select',
+ // dataIndex: 'status',
+ // label: '鐘舵��',
+ // placeholder: '璇烽�夋嫨',
+ // defaultValue: '1',
+ // options: [
+ // {
+ // label: '鍚敤',
+ // value: '1'
+ // },
+ // {
+ // label: '绂佺敤',
+ // value: '0'
+ // }
+ // ]
+ // }
+ ],
+ proData: [
+ {
+ order_no:'55555',
+ customer_name:'閮戝窞甯傞偖鏀垮垎鍏徃',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+ },
+ {
+ order_no:'55555',
+ customer_name:'閮戝窞甯傞偖鏀垮垎鍏徃',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'閮戝窞甯傞偖鏀垮垎鍏徃'
+ },
+ ]
+ },
+ {
+ order_no:'55555',
+ customer_name:'閮戝窞甯傞偖鏀垮垎鍏徃',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+ },
+ {
+ order_no:'55555',
+ customer_name:'閮戝窞甯傞偖鏀垮垎鍏徃',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+
+ },
+ {
+ order_no:'55555',
+ customer_name:'閮戝窞甯傞偖鏀垮垎鍏徃',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+
+ },
+ {
+ order_no:'55555',
+ customer_name:'閮戝窞甯傞偖鏀垮垎鍏徃',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+
+ },
+ {
+ order_no:'55555',
+ customer_name:'閮戝窞甯傞偖鏀垮垎鍏徃',
+ data:[
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'20浠�'
+ },
+ {
+ order_no:'鐭冲嫆鑺鑹茬⒊绮�',
+ customer_name:'666'
+ },
+ ]
+
+ }
+ ],
+ // 鏍戞暟鎹�
+ treeDataList: [],
+ // 鎼滅储鏉′欢
+ filterFrom: {
+ tenantId: null,
+ userName: null,
+ userPhone: null,
+ status: 1
+ },
+ // 瀵煎叆
+ importSetting: {
+ dialogTitle: '瀵煎叆',
+ dialogShow: false,
+ fileSettings: {
+ data: {},
+ uploadUrl: getBaseUrl()+"/pc/fin/sys/tenant/import", // 涓婁紶鍦板潃
+ accept: '.xls', // 鏍煎紡
+ type: 'text', // 鍥炴樉褰㈠紡
+ loading: false // 瀵煎叆鏁堟灉
+ },
+ /* 妯℃澘涓嬭浇 */
+ templateSettings: {
+ templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О
+ templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate' // 涓嬭浇鍦板潃
+ },
+ onSuccess: null
+ },
+ editSetting: {
+ title: '',
+ id: '',
+ orgId: '',
+ show: false,
+ },
+ }
+ },
+ computed: {
+ clientHeight () {
+ return document.documentElement.clientHeight
+ },
+ },
+ created() {
+ },
+ methods: {
+ handleSizeChange(){},
+ handleCurrentChange(){},
+ //瀵煎叆
+ importOrg() {
+ this.importSetting.dialogShow = true
+ this.importSetting.onSuccess = (response, callBack) => {
+ if (response.code===1){
+ this.$message.success(response.msg)
+ this.search(1)
+ }else{
+ this.$message.warning(response.msg)
+ }
+ callBack()
+ }
+ },
+
+ addtable() {
+ this.adddialog = true
+ },
+ // 鏌ヨtable鍒楄〃
+ search(pageNum) {
+ if (pageNum != undefined) {
+ // this.$refs.myTable.search(pageNum)
+ } else {
+ // this.$refs.myTable.search()
+ }
+ },
+ fifterForm(params) {
+ console.log(params,'555');
+ this.filterFrom = Object.assign(this.filterFrom, params)
+ this.search(1)
+ }
+ }
+}
+</script>
+
+<style scoped>
+.card {
+ display: flex;
+ flex-wrap: wrap;
+ margin: 0px !important;
+ .cm-item {
+ width: 100%;
+ }
+ .cm-item /deep/ .el-card__body {
+ padding: 10px;
+ }
+}
+.card-data{
+ position: relative;
+ margin-top: 8px;
+ .card-container{
+ display: inline-block;
+ width: 70%;
+ .hed-one{
+ color: #2298EE;
+ font-size: 18px;
+ }
+ .one-hed{
+ margin-top: 5px;
+ .box{
+ display: inline-block;
+ margin-right: 20px;
+ margin-top: 10px;
+ }
+ }
+ .span-two{
+ color: #83919e;
+ font-size: 14px;
+ }
+ .card-end{
+ font-size: 14px;
+ color: #3d3d3d;
+ margin-top: 15px;
+ display: flex;
+ flex-wrap: wrap;
+ .two-end{
+ width: calc(33.33% - 20px);
+ margin-bottom: 15px;
+ }
+ }
+
+ }
+ .card-but{
+ position: absolute;
+ right: 20px;
+ top: 40%;
+ }
+
+}
+
+</style>
diff --git a/admin-web/src/views/systemManger/org/index.vue b/admin-web/src/views/systemManger/org/index.vue
index b7964cd..11d81b3 100644
--- a/admin-web/src/views/systemManger/org/index.vue
+++ b/admin-web/src/views/systemManger/org/index.vue
@@ -115,6 +115,7 @@
{title: '缂栧彿', field: 'code', align: 'center', width: '150px'},
{title: '鏈烘瀯鍚嶇О', field: 'name', align: 'left'},
{title: '灞傜骇', field: 'lv', align: 'center', width: '80px'},
+ {title: '椤哄簭鍙�', field: 'lv', align: 'center', width: '80px'},
{title: '澶囨敞', field: 'summary', align: 'left', width: '150px'},
{
field: 'belongProvince',
@@ -155,12 +156,12 @@
this.showAudit(row);
},
},
- {
- title: '鍒犻櫎',
- events: (row) => {
- this.del(row);
- },
- }
+ // {
+ // title: '鍒犻櫎',
+ // events: (row) => {
+ // this.del(row);
+ // },
+ // }
],
},
paging: {
diff --git a/admin-web/src/views/systemManger/server/user/index.vue b/admin-web/src/views/systemManger/server/user/index.vue
index e777bbb..44b94d6 100644
--- a/admin-web/src/views/systemManger/server/user/index.vue
+++ b/admin-web/src/views/systemManger/server/user/index.vue
@@ -107,18 +107,11 @@
},
// 鍒椾俊鎭�
columns: [
- { title: '浜哄憳濮撳悕', field: 'userName', align: 'left' },
- { title: '鍛樺伐缂栧彿', field: 'userCode', align: 'left' },
- { title: '鎵嬫満鍙�', field: 'userPhone', align: 'center', width: 150 },
- {
- title: '鍒涘缓鏃堕棿',
- field: 'createTime',
- align: 'center',
- width: 200,
- formatter: (row) => {
- return { value: DateFormatter.LongToDateTime(row.createTime) };
- },
- },
+ { title: '缂栧彿', field: 'userCode', align: 'left' },
+ { title: '鐢ㄦ埛濮撳悕', field: 'userName', align: 'left' },
+ { title: '鐧诲綍鍚�', field: 'userPhone', align: 'center' },
+ { title: '鎵�灞炴満鏋�', field: 'userPhone', align: 'center', width: 150 },
+ { title: '閮ㄩ棬', field: 'userPhone', align: 'center' },
{
field: 'status',
title: '鐘舵��',
@@ -154,18 +147,18 @@
width: '250', // 鍒楀
attr: [
{
- title: '瑙掕壊',
- events: (row) => {
- this.showEditRole(row.id);
- },
- },
- {
title: '缂栬緫',
events: (row) => {
this.showAdd(row.id);
},
},
{
+ title: '瑙掕壊',
+ events: (row) => {
+ this.showEditRole(row.id);
+ },
+ },
+ {
title: '瀵嗙爜鍒濆鍖�',
events: (row) => {
this.updPassWord(row);
diff --git a/admin-web/src/views/systemManger/server/user/items.js b/admin-web/src/views/systemManger/server/user/items.js
index a59a1c7..b76f203 100644
--- a/admin-web/src/views/systemManger/server/user/items.js
+++ b/admin-web/src/views/systemManger/server/user/items.js
@@ -2,14 +2,14 @@
{
type: 'text',
dataIndex: 'userName',
- label: '浜哄憳濮撳悕',
+ label: '鐢ㄦ埛濮撳悕',
placeholder: "璇疯緭鍏�",
defaultValue: ''
},
{
type: 'text',
dataIndex: 'userPhone',
- label: '鎵嬫満鍙�',
+ label: '缂栧彿',
placeholder: "璇疯緭鍏�",
defaultValue: ''
},
diff --git a/admin-web/src/views/systemSetting/department/data.vue b/admin-web/src/views/systemSetting/department/data.vue
new file mode 100644
index 0000000..b0836af
--- /dev/null
+++ b/admin-web/src/views/systemSetting/department/data.vue
@@ -0,0 +1,427 @@
+<template>
+ <div class="divBox">
+ <el-card class="box-card">
+ <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+ <el-form-item label="瀛楀吀鍚嶇О" prop="dictType">
+ <el-select v-model="queryParams.dictType">
+ <el-option
+ v-for="item in typeOptions"
+ :key="item.dict_id"
+ :label="item.dict_name"
+ :value="item.dict_type"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="瀛楀吀鏍囩" prop="dictLabel">
+ <el-input
+ v-model="queryParams.dictLabel"
+ placeholder="璇疯緭鍏ュ瓧鍏告爣绛�"
+ clearable
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+ <el-form-item label="鐘舵��" prop="status">
+ <el-select v-model="queryParams.status" placeholder="鏁版嵁鐘舵��" clearable>
+ <el-option
+ v-for="item in constants.normalOrDisabled"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+ </el-form-item>
+ </el-form>
+
+ <el-row :gutter="10" class="mb8">
+ <el-col :span="1.5">
+ <el-button
+ type="primary"
+ plain
+ icon="el-icon-plus"
+ size="mini"
+ @click="handleAdd"
+ v-hasPermi="['system:dict:add']"
+ >鏂板</el-button>
+ </el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="danger"
+ plain
+ icon="el-icon-delete"
+ size="mini"
+ :disabled="multiple"
+ @click="handleDelete"
+ v-hasPermi="['system:dict:remove']"
+ >鍒犻櫎</el-button>
+ </el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-download"
+ size="mini"
+ @click="handleExport"
+ v-hasPermi="['system:dict:export']"
+ >瀵煎嚭</el-button>
+ </el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-close"
+ size="mini"
+ @click="handleClose"
+ >鍏抽棴</el-button>
+ </el-col>
+<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
+ </el-row>
+
+ <el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange">
+ <el-table-column type="selection" width="55" align="center" />
+ <el-table-column label="瀛楀吀ID" align="center" prop="dict_code" />
+ <el-table-column label="瀛楀吀鍚嶇О" align="center" prop="dict_label">
+ <template slot-scope="scope">
+ <span v-if="scope.row.list_class == '' || scope.row.list_class == 'default'">{{scope.row.dict_label}}</span>
+ <el-tag v-else :type="scope.row.list_class == 'primary' ? '' : scope.row.list_class">{{scope.row.dict_label}}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column label="瀛楀吀鍊�" align="center" prop="dict_value" />
+ <el-table-column label="鎺掑簭" align="center" prop="dict_sort" />
+ <el-table-column label="鐘舵��" align="center" prop="status">
+ <template slot-scope="scope">
+<!-- <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>-->
+ <span>{{ scope.row.status == 0? '姝e父':'绂佺敤' }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鐖秈d" align="center" prop="parent_id" />
+ <el-table-column label="澶囨敞" align="center" prop="remark" :show-overflow-tooltip="true" />
+ <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="create_time" width="180">
+<!-- <template slot-scope="scope">-->
+<!-- <span>{{ parseTime(scope.row.create_time) }}</span>-->
+<!-- </template>-->
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+ <template slot-scope="scope">
+ <el-button
+ size="mini"
+ type="text"
+ icon="el-icon-edit"
+ @click="handleUpdate(scope.row)"
+ v-hasPermi="['system:dict:edit']"
+ >淇敼</el-button>
+ <el-button
+ size="mini"
+ type="text"
+ icon="el-icon-delete"
+ @click="handleDelete(scope.row)"
+ v-hasPermi="['system:dict:remove']"
+ >鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+
+<!-- <pagination-->
+<!-- v-show="total>0"-->
+<!-- :total="total"-->
+<!-- :page.sync="queryParams.pageNum"-->
+<!-- :limit.sync="queryParams.pageSize"-->
+<!-- @pagination="getList"-->
+<!-- />-->
+ <el-pagination
+ :current-page="queryParams.pageNum"
+ :page-sizes="constants.page.limit"
+ :layout="constants.page.layout"
+ :total="this.total"
+ @size-change="getList"
+ @current-change="getList"
+ />
+ </el-card>
+
+ <!-- 娣诲姞鎴栦慨鏀瑰弬鏁伴厤缃璇濇 -->
+ <el-dialog :title="title" :visible.sync="open" width="500px" :before-close="cancel" append-to-body>
+ <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+ <el-form-item label="瀛楀吀ID">
+ <el-input v-model="form.dict_code" :disabled="false" placeholder="涓�涓敮涓�鏁板瓧"/>
+ </el-form-item>
+ <el-form-item label="瀛楀吀绫诲瀷">
+ <el-input v-model="form.dict_type" :disabled="true" />
+ </el-form-item>
+ <el-form-item label="瀛楀吀鍚嶇О" prop="dict_label">
+ <el-input v-model="form.dict_label" placeholder="璇疯緭鍏ユ暟鎹爣绛�" />
+ </el-form-item>
+ <el-form-item label="瀛楀吀鍊�" prop="dict_value">
+ <el-input v-model="form.dict_value" placeholder="涓嶅~鍜屽瓧鍏窱D涓�鑷�" />
+ </el-form-item>
+ <el-form-item label="鏍峰紡灞炴��" prop="css_class">
+ <el-input v-model="form.css_class" placeholder="璇疯緭鍏ユ牱寮忓睘鎬�" />
+ </el-form-item>
+ <el-form-item label="鏄剧ず鎺掑簭" prop="dict_sort">
+ <el-input-number v-model="form.dict_sort" controls-position="right" :min="0" />
+ </el-form-item>
+ <el-form-item label="鍥炴樉鏍峰紡" prop="list_class">
+ <el-select v-model="form.list_class">
+ <el-option
+ v-for="item in listClassOptions"
+ :key="item.value"
+ :label="item.label + '(' + item.value + ')'"
+ :value="item.value"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鐘舵��" prop="status">
+ <el-radio-group v-model="form.status">
+ <el-radio
+ v-for="dict in constants.normalOrDisabled"
+ :key="dict.value"
+ :label="dict.value * 1"
+ >{{dict.label}}</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item label="鐖跺瓧鍏窱D" prop="dict_label">
+ <el-input v-model="form.parent_id" placeholder="鐖跺瓧鍏竔d锛屽繀濉�" />
+ </el-form-item>
+ <el-form-item label="澶囨敞" prop="remark">
+ <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+ <el-button @click="cancel">鍙� 娑�</el-button>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import { listData, getData, delData, addData, updateData } from "@/api/system/dict/data";
+import { optionselect as getDictOptionselect, getType } from "@/api/system/dict/type";
+
+export default {
+ name: "Data",
+ // dicts: ['sys_normal_disable'],
+ data() {
+ return {
+ constants: this.$constants,
+ // 閬僵灞�
+ loading: true,
+ // 閫変腑鏁扮粍
+ ids: [],
+ // 闈炲崟涓鐢�
+ single: true,
+ // 闈炲涓鐢�
+ multiple: true,
+ // 鏄剧ず鎼滅储鏉′欢
+ showSearch: true,
+ // 鎬绘潯鏁�
+ total: 0,
+ // 瀛楀吀琛ㄦ牸鏁版嵁
+ dataList: [],
+ // 榛樿瀛楀吀绫诲瀷
+ defaultDictType: "",
+ // 寮瑰嚭灞傛爣棰�
+ title: "",
+ // 鏄惁鏄剧ず寮瑰嚭灞�
+ open: false,
+ // 鏁版嵁鏍囩鍥炴樉鏍峰紡
+ listClassOptions: [
+ {
+ value: "default",
+ label: "榛樿"
+ },
+ {
+ value: "primary",
+ label: "涓昏"
+ },
+ {
+ value: "success",
+ label: "鎴愬姛"
+ },
+ {
+ value: "info",
+ label: "淇℃伅"
+ },
+ {
+ value: "warning",
+ label: "璀﹀憡"
+ },
+ {
+ value: "danger",
+ label: "鍗遍櫓"
+ }
+ ],
+ // 绫诲瀷鏁版嵁瀛楀吀
+ typeOptions: [],
+ // 鏌ヨ鍙傛暟
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ dictName: undefined,
+ dictType: undefined,
+ status: undefined
+ },
+ // 琛ㄥ崟鍙傛暟
+ form: {
+ status: '1'
+ },
+ // 琛ㄥ崟鏍¢獙
+ rules: {
+ dict_code: [
+ { required: true, message: "瀛楀吀id蹇呴』杈撳叆", trigger: "blur" }
+ ],
+ dict_label: [
+ { required: true, message: "鏁版嵁鏍囩涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ parent_id: [
+ { required: true, message: "鐖秈d涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ // dict_value: [
+ // { required: true, message: "鏁版嵁閿�间笉鑳戒负绌�", trigger: "blur" }
+ // ],
+ dict_sort: [
+ { required: true, message: "鏁版嵁椤哄簭涓嶈兘涓虹┖", trigger: "blur" }
+ ]
+ },
+ editMode: false
+ };
+ },
+ created() {
+ const dictId = this.$route.params && this.$route.params.dictId;
+ this.getType(dictId);
+ this.getTypeList();
+ },
+ methods: {
+ /** 鏌ヨ瀛楀吀绫诲瀷璇︾粏 */
+ getType(dictId) {
+ getType(dictId).then(response => {
+ // this.queryParams.dictType = response.data.dict_type;
+ // this.defaultDictType = response.data.dict_type;
+ this.queryParams.dictType = response.dict_type;
+ this.defaultDictType = response.dict_type;
+ this.getList();
+ });
+ },
+ /** 鏌ヨ瀛楀吀绫诲瀷鍒楄〃 */
+ getTypeList() {
+ getDictOptionselect().then(response => {
+ this.typeOptions = response.data;
+ });
+ },
+ /** 鏌ヨ瀛楀吀鏁版嵁鍒楄〃 */
+ getList() {
+ this.loading = true;
+ listData(this.queryParams).then(response => {
+ this.dataList = response.datas;
+ this.total = response.totalRows;
+ this.loading = false;
+ });
+ },
+ // 鍙栨秷鎸夐挳
+ cancel() {
+ this.open = false;
+ this.reset();
+ },
+ // 琛ㄥ崟閲嶇疆
+ reset() {
+ this.form = {
+ dict_code: undefined,
+ dict_label: undefined,
+ dict_value: undefined,
+ css_class: undefined,
+ list_class: 'default',
+ dict_sort: 0,
+ status: "0",
+ parent_id: undefined,
+ remark: undefined
+ };
+ this.resetForm("form");
+ },
+ /** 鎼滅储鎸夐挳鎿嶄綔 */
+ handleQuery() {
+ this.queryParams.pageNum = 1;
+ this.getList();
+ },
+ /** 杩斿洖鎸夐挳鎿嶄綔 */
+ handleClose() {
+ const obj = { path: "/system/dict" };
+ this.$tab.closeOpenPage(obj);
+ },
+ /** 閲嶇疆鎸夐挳鎿嶄綔 */
+ resetQuery() {
+ this.resetForm("queryForm");
+ this.queryParams.dictType = this.defaultDictType;
+ this.handleQuery();
+ },
+ /** 鏂板鎸夐挳鎿嶄綔 */
+ handleAdd() {
+ this.reset();
+ this.editMode = false;
+ this.open = true;
+ this.title = "娣诲姞瀛楀吀鏁版嵁";
+ // this.form.dictType = this.queryParams.dictType;
+ this.form.dict_type = this.queryParams.dictType;
+ },
+ // 澶氶�夋閫変腑鏁版嵁
+ handleSelectionChange(selection) {
+ this.ids = selection.map(item => item.dictCode)
+ this.single = selection.length!=1
+ this.multiple = !selection.length
+ },
+ /** 淇敼鎸夐挳鎿嶄綔 */
+ handleUpdate(row) {
+ this.reset();
+ this.editMode = true;
+ const dictCode = row.dict_code || this.ids
+ getData(dictCode).then(response => {
+ this.form = response;
+ this.open = true;
+ this.title = "淇敼瀛楀吀鏁版嵁";
+ });
+ },
+ /** 鎻愪氦鎸夐挳 */
+ submitForm: function() {
+ this.$refs["form"].validate(valid => {
+ if (valid) {
+ // if (this.form.dict_code != undefined) {
+ if (this.editMode == true) {
+ updateData(this.form).then(response => {
+ this.$store.dispatch('dict/removeDict', this.queryParams.dictType);
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.open = false;
+ this.getList();
+ });
+ } else {
+ console.log(this.form);
+ addData(this.form).then(response => {
+ this.$store.dispatch('dict/removeDict', this.queryParams.dictType);
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.open = false;
+ this.getList();
+ });
+ }
+ }
+ });
+ },
+ /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+ handleDelete(row) {
+ const dictCodes = row.dict_code || this.ids;
+ this.$modal.confirm('鏄惁纭鍒犻櫎瀛楀吀缂栫爜涓�"' + dictCodes + '"鐨勬暟鎹」锛�').then(function() {
+ return delData(dictCodes);
+ }).then(() => {
+ this.getList();
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ this.$store.dispatch('dict/removeDict', this.queryParams.dictType);
+ }).catch(() => {});
+ },
+ /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+ handleExport() {
+ this.download('system/dict/data/export', {
+ ...this.queryParams
+ }, `data_${new Date().getTime()}.xlsx`)
+ }
+ }
+};
+</script>
diff --git a/admin-web/src/views/systemSetting/department/index.vue b/admin-web/src/views/systemSetting/department/index.vue
new file mode 100644
index 0000000..f4e556c
--- /dev/null
+++ b/admin-web/src/views/systemSetting/department/index.vue
@@ -0,0 +1,405 @@
+<template>
+ <div class="app-container">
+ <!--宸︿晶鏍戝舰寮�濮�-->
+ <el-col :span="5">
+ <el-card class="box-card" shadow="never">
+ <my-tree ref="searchTree" :tree-list="treeDataList" @setNode="nodeClick" @search="search"></my-tree>
+ </el-card>
+ </el-col>
+ <!--宸︿晶鏍戝舰缁撴潫-->
+ <!--鍙充晶鍒楄〃寮�濮�-->
+ <el-container>
+ <el-card class="box-card" style="width: 100%" shadow="never">
+<!-- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">-->
+<!-- <el-form-item label="瀛楀吀鍚嶇О" prop="dictName">-->
+<!-- <el-input-->
+<!-- v-model="queryParams.dictName"-->
+<!-- placeholder="璇疯緭鍏�"-->
+<!-- clearable-->
+<!-- style="width: 150px"-->
+<!-- @keyup.enter.native="handleQuery"-->
+<!-- />-->
+<!-- </el-form-item>-->
+<!-- <el-form-item label="鐘舵��" prop="status">-->
+<!-- <el-select-->
+<!-- v-model="queryParams.status"-->
+<!-- placeholder="璇烽�夋嫨"-->
+<!-- clearable-->
+<!-- style="width: 150px"-->
+<!-- >-->
+<!-- <el-option-->
+<!-- v-for="item in constants.normalOrDisabled"-->
+<!-- :key="item.value"-->
+<!-- :label="item.label"-->
+<!-- :value="item.value"-->
+<!-- />-->
+<!-- </el-select>-->
+<!-- </el-form-item>-->
+<!-- <el-form-item>-->
+<!-- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鏌ヨ</el-button>-->
+<!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>-->
+<!-- </el-form-item>-->
+<!-- </el-form>-->
+<!-- <el-table v-loading="loading" :data="typeList" @selection-change="handleSelectionChange">-->
+<!-- <el-table-column type="selection" width="55" align="center" />-->
+<!-- <el-table-column label="瀛楀吀缂栧彿" align="center" prop="dict_id" />-->
+<!-- <el-table-column label="瀛楀吀鍚嶇О" align="center" prop="dict_name" :show-overflow-tooltip="true" />-->
+<!-- <el-table-column label="瀛楀吀绫诲瀷" align="center" :show-overflow-tooltip="true">-->
+<!-- <template slot-scope="scope">-->
+<!-- <router-link :to="'/systemSetting/dictdata/data/' + scope.row.dict_id" class="link-type">-->
+<!-- <span>{{ scope.row.dict_type }}</span>-->
+<!-- </router-link>-->
+<!-- </template>-->
+<!-- </el-table-column>-->
+<!-- <el-table-column label="鐘舵��" align="center" prop="status">-->
+<!-- <template slot-scope="scope">-->
+<!-- <span>{{ scope.row.status == 0? '姝e父':'绂佺敤' }}</span>-->
+<!-- </template>-->
+<!-- </el-table-column>-->
+<!-- <el-table-column label="澶囨敞" align="center" prop="remark" :show-overflow-tooltip="true" />-->
+<!-- <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="create_time" width="180">-->
+<!-- <template slot-scope="scope">-->
+<!-- <span>{{ dateTo(scope.row.create_time) }}</span>-->
+<!-- </template>-->
+<!-- <!– <template slot-scope="scope">–>-->
+<!-- <!– <span>{{ parseTime(scope.row.create_time) }}</span>–>-->
+<!-- <!– </template>–>-->
+<!-- </el-table-column>-->
+<!-- <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width" width="180">-->
+<!-- <template slot-scope="scope">-->
+<!-- <el-button-->
+<!-- size="mini"-->
+<!-- type="text"-->
+<!-- icon="el-icon-edit"-->
+<!-- @click="handleUpdate(scope.row)"-->
+<!-- v-hasPermi="['system:dict:edit']"-->
+<!-- >淇敼</el-button>-->
+<!-- <!– <el-button-->
+<!-- size="mini"-->
+<!-- type="text"-->
+<!-- icon="el-icon-delete"-->
+<!-- @click="handleDelete(scope.row)"-->
+<!-- v-hasPermi="['system:dict:remove']"-->
+<!-- >鍒犻櫎</el-button>–>-->
+<!-- </template>-->
+<!-- </el-table-column>-->
+<!-- </el-table>-->
+ <!--鎼滅储鏉′欢-->
+ <div class="filter-container">
+ <my-search ref="searchBar" :items="items" @search="fifterForm"></my-search>
+ </div>
+ <el-row style="margin-top: 8px">
+ <el-col>
+ <!--鍒楄〃-->
+ <my-table-v2 ref="myTable" :filter="queryParams" :table="table"/>
+ </el-col>
+ </el-row>
+ </el-card>
+ </el-container>
+ <!-- 娣诲姞鎴栦慨鏀瑰弬鏁伴厤缃璇濇 -->
+ <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+ <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+ <el-form-item label="瀛楀吀鍚嶇О" prop="dictName">
+ <el-input v-model="form.dictName" placeholder="璇疯緭鍏ュ瓧鍏稿悕绉�" />
+ </el-form-item>
+ <el-form-item label="瀛楀吀绫诲瀷" prop="dictType">
+ <el-input v-model="form.dictType" placeholder="璇疯緭鍏ュ瓧鍏哥被鍨�" />
+ </el-form-item>
+ <el-form-item label="鐘舵��" prop="status">
+ <el-radio-group v-model="form.status">
+ <el-radio
+ v-for="item in constants.normalOrDisabled"
+ :key="item.value"
+ :label="item.value"
+ >{{item.label}}</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item label="澶囨敞" prop="remark">
+ <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+ <el-button @click="cancel">鍙� 娑�</el-button>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import myTree from '@/components/myTree/index';
+import { listType, getType, delType, addType, updateType, refreshCache } from "@/api/system/dict/type";
+import * as DateFormatter from "@/utils/DateFormatter";
+import MyTableV2 from "@/components/myTable/myTableV2";
+import SettingIplatform from '@/utils/settingIplatform';
+import items from './items'
+import * as finsystenant from '@/api/baseSetting/finsystenant';
+export default {
+ name: "Dict",
+ components: { MyTableV2, myTree },
+ data() {
+ return {
+ // 鏍戞暟鎹�
+ treeDataList: [],
+ constants: this.$constants,
+ // 閬僵灞�
+ loading: true,
+ // 閫変腑鏁扮粍
+ ids: [],
+ // 闈炲崟涓鐢�
+ single: true,
+ // 闈炲涓鐢�
+ multiple: true,
+ // 鏄剧ず鎼滅储鏉′欢
+ showSearch: true,
+ // 鎬绘潯鏁�
+ total: 0,
+ // 瀛楀吀琛ㄦ牸鏁版嵁
+ typeList: [],
+ // 寮瑰嚭灞傛爣棰�
+ title: "",
+ // 鏄惁鏄剧ず寮瑰嚭灞�
+ open: false,
+ // 鏃ユ湡鑼冨洿
+ dateRange: [],
+ // 鏌ヨ鍙傛暟
+ queryParams: {
+ dictName: undefined,
+ dictType: undefined,
+ status: 0
+ },
+ items:items,
+ table: {
+ showIndex: true, // 鏄惁鏄剧ず搴忓彿
+ expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁
+ url: SettingIplatform.apiBaseURL + '/system/dict/type/list', // 璇锋眰鍦板潃
+ // 宸ュ叿鏉�
+ tools: {
+ columnsCtrl: {// 鍒楁帶鍒舵寜閽�
+ show: false
+ },
+ generalExport: {// 閫氱敤瀵煎嚭鎸夐挳
+ show: false
+ },
+ // 鑷畾涔夊伐鍏锋潯鎸夐挳
+ custom: [
+ {
+ name: '鏂板',
+ click: () => {
+ this.showAdd(null);
+ },
+ },
+ ]
+ },
+ // 鍒椾俊鎭�
+ columns: [
+ {title: '缂栧彿', field: 'dict_id', align: 'center', width: '100px'},
+ {title: '閮ㄩ棬', field: 'dict_name', align: 'left'},
+ {title: '椤哄簭鍙�', field: 'dict_name', align: 'left'},
+ {title: '澶囨敞', field: 'remark', align: 'left', width: '200px'},
+ {
+ title: '鐘舵��', field: 'status', align: 'center', width: '180px',
+ formatter: row => {
+ return { value: row.status=== 0? '鍚敤':'绂佺敤' }
+ }
+ },
+ ],
+ // 鎿嶄綔淇℃伅
+ operation: {
+ // width: 150,
+ align: 'center',
+ show: false, // 鏄剧ず鎿嶄綔鍒�
+ attr: [
+ // 鍒嗙被涓嬫湁姝e湪杩涜涓殑椤圭洰鏃讹紝缁欏嚭鎻愮ず涓嶅厑璁哥鐢ㄥ拰鍒犻櫎銆備笖绂佺敤涓�绾у垎绫诲墠闇�瑕佸厛绂佺敤涓嬮潰鐨勬墍鏈変簩绾э紝鏈夊惎鐢ㄧ殑浜岀骇鏃朵笉鍏佽绂佺敤涓�绾�
+ {
+ // checkPermission:'system:role:edit',
+ title: '淇敼',
+ events: row => {
+ this.handleUpdate(row)
+ }
+ },
+ // {
+ // // checkPermission: 'system:role:remove',
+ // title: '鍒犻櫎',
+ // events: row => {
+ // this.handleDelete(row)
+ // }
+ // },
+ ]
+ },
+ paging: {
+ show: true, // 鏄剧ず鍒嗛〉
+ // 鍒嗛〉淇℃伅
+ page: {
+ small: false,
+ pageNum: 1,
+ pageSize: 10,
+ total: 0
+ }
+ }
+ },
+ // 琛ㄥ崟鍙傛暟
+ form: {},
+ // 琛ㄥ崟鏍¢獙
+ rules: {
+ dictName: [
+ { required: true, message: "瀛楀吀鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ dictType: [
+ { required: true, message: "瀛楀吀绫诲瀷涓嶈兘涓虹┖", trigger: "blur" }
+ ]
+ }
+ };
+ },
+ created() {
+ this.initTreeData()
+ },
+ methods: {
+ // 宸︿晶鏍戝垵濮嬪寲
+ initTreeData() {
+ finsystenant.getTree().then((res) => {
+ const content = res || [];
+ this.treeDataList.splice(0, this.treeDataList.length);
+ this.treeDataList = content;
+ if (this.treeDataList && this.treeDataList.length > 0) {
+ this.tenantId = this.treeDataList[0].id;
+ this.tenantName = this.treeDataList[0].label;
+ this.tenantCode = this.treeDataList[0].code;
+ }
+ });
+ },
+ nodeClick(param) {
+ console.log(param,'param');
+ this.search(1)
+ },
+ fifterForm(params) {
+ this.queryParams = Object.assign(this.queryParams, params)
+ this.search(1)
+ },
+ // 鏌ヨtable鍒楄〃
+ search(pageNum) {
+ if (pageNum != undefined) {
+ this.$refs.myTable.search(pageNum)
+ } else {
+ this.$refs.myTable.search()
+ }
+ },
+ dateTo(val) {
+ return DateFormatter.LongToDateTime(val);
+ },
+ changeSize(e){
+ this.queryParams.pageSize = e
+ this.getList()
+ },
+ changePage(e){
+ this.queryParams.pageNum = e
+ this.getList()
+ },
+ /** 鏌ヨ瀛楀吀绫诲瀷鍒楄〃 */
+ getList() {
+ this.loading = true;
+ listType(this.queryParams).then(response => {
+ // this.typeList = response.rows;
+ this.typeList = response.datas;
+ this.total = response.totalRows;
+ this.loading = false;
+ }
+ );
+ },
+ // 鍙栨秷鎸夐挳
+ cancel() {
+ this.open = false;
+ this.reset();
+ },
+ // 琛ㄥ崟閲嶇疆
+ reset() {
+ this.form = {
+ dictId: undefined,
+ dictName: undefined,
+ dictType: undefined,
+ status: "0",
+ remark: undefined
+ };
+ this.resetForm("form");
+ },
+ /** 鎼滅储鎸夐挳鎿嶄綔 */
+ handleQuery() {
+ this.queryParams.pageNum = 1;
+ this.getList();
+ },
+ /** 閲嶇疆鎸夐挳鎿嶄綔 */
+ resetQuery() {
+ this.dateRange = [];
+ this.resetForm("queryForm");
+ this.handleQuery();
+ },
+ /** 鏂板鎸夐挳鎿嶄綔 */
+ handleAdd() {
+ this.reset();
+ this.open = true;
+ this.title = "娣诲姞瀛楀吀绫诲瀷";
+ },
+ // 澶氶�夋閫変腑鏁版嵁
+ handleSelectionChange(selection) {
+ this.ids = selection.map(item => item.dictId)
+ this.single = selection.length!=1
+ this.multiple = !selection.length
+ },
+ /** 淇敼鎸夐挳鎿嶄綔 */
+ handleUpdate(row) {
+ this.reset();
+ const dictId = row.dict_id || this.ids
+ getType(dictId).then(response => {
+ this.form = response;
+ this.form.dictName = this.form.dict_name
+ this.form.dictType = this.form.dict_type
+ this.open = true;
+ this.title = "淇敼瀛楀吀绫诲瀷";
+ });
+ },
+ /** 鎻愪氦鎸夐挳 */
+ submitForm: function() {
+ this.$refs["form"].validate(valid => {
+ if (valid) {
+ if (this.form.dictId != undefined) {
+ updateType(this.form).then(response => {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.open = false;
+ this.getList();
+ });
+ } else {
+ addType(this.form).then(response => {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.open = false;
+ this.getList();
+ });
+ }
+ }
+ });
+ },
+ /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+ handleDelete(row) {
+ const dictIds = row.dictId || this.ids;
+ this.$modal.confirm('鏄惁纭鍒犻櫎瀛楀吀缂栧彿涓�"' + dictIds + '"鐨勬暟鎹」锛�').then(function() {
+ return delType(dictIds);
+ }).then(() => {
+ this.getList();
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }).catch(() => {});
+ },
+ /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+ handleExport() {
+ this.download('system/dict/type/export', {
+ ...this.queryParams
+ }, `type_${new Date().getTime()}.xlsx`)
+ },
+ /** 鍒锋柊缂撳瓨鎸夐挳鎿嶄綔 */
+ handleRefreshCache() {
+ refreshCache().then(() => {
+ this.$modal.msgSuccess("鍒锋柊鎴愬姛");
+ this.$store.dispatch('dict/cleanDict');
+ });
+ }
+ }
+};
+</script>
diff --git a/admin-web/src/views/systemSetting/department/items.js b/admin-web/src/views/systemSetting/department/items.js
new file mode 100644
index 0000000..cae6307
--- /dev/null
+++ b/admin-web/src/views/systemSetting/department/items.js
@@ -0,0 +1,33 @@
+export default [
+ {
+ type: 'text',
+ dataIndex: 'dictName',
+ label: '閮ㄩ棬鍚嶇О',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'text',
+ dataIndex: 'dictName',
+ label: '缂栧彿',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: ''
+ },
+ {
+ type: 'select',
+ dataIndex: 'status',
+ label: '鐘舵��',
+ placeholder: '璇烽�夋嫨',
+ defaultValue: '0',
+ options: [
+ {
+ value: '0',
+ label: '鍚敤'
+ },
+ {
+ value: '1',
+ label: '绂佺敤'
+ }
+ ]
+ }
+]
diff --git a/admin-web/src/views/systemSetting/dict/index.vue b/admin-web/src/views/systemSetting/dict/index.vue
index 73bece6..0a98279 100644
--- a/admin-web/src/views/systemSetting/dict/index.vue
+++ b/admin-web/src/views/systemSetting/dict/index.vue
@@ -1,5 +1,13 @@
<template>
<div class="app-container">
+ <!--宸︿晶鏍戝舰寮�濮�-->
+ <el-col :span="5">
+ <el-card class="box-card" shadow="never">
+ <my-tree ref="searchTree" :tree-list="treeDataList" @setNode="nodeClick" @search="search"></my-tree>
+ </el-card>
+ </el-col>
+ <!--宸︿晶鏍戝舰缁撴潫-->
+ <!--鍙充晶鍒楄〃寮�濮�-->
<el-container>
<el-card class="box-card" style="width: 100%" shadow="never">
<!-- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">-->
@@ -119,16 +127,20 @@
</template>
<script>
+import myTree from '@/components/myTree/index';
import { listType, getType, delType, addType, updateType, refreshCache } from "@/api/system/dict/type";
import * as DateFormatter from "@/utils/DateFormatter";
import MyTableV2 from "@/components/myTable/myTableV2";
import SettingIplatform from '@/utils/settingIplatform';
import items from './items'
+import * as finsystenant from '@/api/baseSetting/finsystenant';
export default {
name: "Dict",
- components: { MyTableV2 },
+ components: { MyTableV2, myTree },
data() {
return {
+ // 鏍戞暟鎹�
+ treeDataList: [],
constants: this.$constants,
// 閬僵灞�
loading: true,
@@ -246,8 +258,26 @@
};
},
created() {
+ this.initTreeData()
},
methods: {
+ // 宸︿晶鏍戝垵濮嬪寲
+ initTreeData() {
+ finsystenant.getTree().then((res) => {
+ const content = res || [];
+ this.treeDataList.splice(0, this.treeDataList.length);
+ this.treeDataList = content;
+ if (this.treeDataList && this.treeDataList.length > 0) {
+ this.tenantId = this.treeDataList[0].id;
+ this.tenantName = this.treeDataList[0].label;
+ this.tenantCode = this.treeDataList[0].code;
+ }
+ });
+ },
+ nodeClick(param) {
+ console.log(param,'param');
+ this.search(1)
+ },
fifterForm(params) {
this.queryParams = Object.assign(this.queryParams, params)
this.search(1)
diff --git a/admin-web/src/views/systemSetting/role/index.vue b/admin-web/src/views/systemSetting/role/index.vue
index e2e25f5..7795ade 100644
--- a/admin-web/src/views/systemSetting/role/index.vue
+++ b/admin-web/src/views/systemSetting/role/index.vue
@@ -277,7 +277,7 @@
custom: [
{
name: '鏂板',
- checkPermission:'system:role:edit',
+ // checkPermission:'system:role:edit',
click: () => {
this.handleAdd(null)
}
@@ -289,7 +289,7 @@
{title: '瑙掕壊缂栧彿', field: 'role_id', align: 'center', width: '200px'},
{title: '瑙掕壊鍚嶇О', field: 'role_name', align: 'center', width: '260px'},
{title: '鏉冮檺瀛楃', field: 'role_key', align: 'center', width: '260px'},
- {title: '鏄剧ず椤哄簭', field: 'role_sort', align: 'center', width: '100px'},
+ {title: '椤哄簭鍙�', field: 'role_sort', align: 'center', width: '100px'},
{
title: '鐘舵��', field: 'status', align: 'center', width: '100px',
switch: row => {
@@ -314,7 +314,7 @@
return result
}
},
- {title: '澶囨敞', field: 'remark', align: 'left', width: '250px'},
+ // {title: '澶囨敞', field: 'remark', align: 'left', width: '250px'},
],
// 鎿嶄綔淇℃伅
operation: {
--
Gitblit v1.9.1