From 47e3a50f0abea3f854d42c3cb16a8e2a73e446e2 Mon Sep 17 00:00:00 2001 From: zhy <luhan1008611> Date: 星期四, 26 十月 2023 15:54:59 +0800 Subject: [PATCH] feat: 添加全部路由菜单 --- admin-web/src/views/stock/inventorycount/inventorytask/index.vue | 272 ++ admin-web/src/views/departmentitem/ledgerquy/itemQuy/edit.vue | 111 admin-web/src/views/stock/ledger/inventoryQuery/edit.vue | 111 admin-web/src/views/stock/ledger/ledgerQuery/edit.vue | 111 admin-web/src/views/departmentitem/itemret/retDetails/edit.vue | 111 admin-web/src/views/departmentitem/ledgerquy/ledQuy/edit.vue | 111 admin-web/src/views/departmentitem/itemscr/scrappDetails/index.vue | 280 ++ admin-web/src/views/stock/ledger/inventoryAlert/index.vue | 280 ++ admin-web/src/views/departmentitem/itemscr/scrapping/index.vue | 449 +++ admin-web/src/views/stock/inventorycount/inventorytask/edit.vue | 111 admin-web/src/views/departmentitem/itemret/retDetails/index.vue | 280 ++ admin-web/src/views/departmentitem/itemscr/scrappDetails/edit.vue | 111 admin-web/src/views/departmentitem/ledgerquy/itemQuy/index.vue | 280 ++ admin-web/src/views/stock/ledger/alertQuery/index.vue | 280 ++ admin-web/src/views/statisticalreport/itemReport/index.vue | 280 ++ admin-web/src/views/stock/ledger/inventoryQuery/index.vue | 280 ++ admin-web/src/views/departmentitem/itemret/returnNote/index.vue | 449 +++ admin-web/src/views/stock/inventorycount/exceptionDetails/index.vue | 272 ++ admin-web/src/views/stock/scrap/scrapDetails/edit.vue | 111 admin-web/src/views/departmentitem/itemdis/disDetails/index.vue | 280 ++ admin-web/src/views/departmentitem/ledgerquy/ledQuy/index.vue | 280 ++ admin-web/src/views/stock/ledger/ledgerQuery/index.vue | 280 ++ admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue | 111 admin-web/src/views/stock/ledger/alertQuery/edit.vue | 111 admin-web/src/views/stock/inventorycount/exceptionDetails/edit.vue | 111 admin-web/src/views/stock/scrap/itemScrapping/index.vue | 449 +++ admin-web/src/views/stock/scrap/scrapDetails/index.vue | 280 ++ admin-web/src/views/stock/ledger/inventoryAlert/edit.vue | 111 admin-web/src/views/departmentitem/itemdis/distribution/index.vue | 449 +++ admin-web/src/views/statisticalreport/itemReport/edit.vue | 111 30 files changed, 6,863 insertions(+), 0 deletions(-) diff --git a/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue b/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue new file mode 100644 index 0000000..37b0db9 --- /dev/null +++ b/admin-web/src/views/departmentitem/itemdis/disDetails/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/departmentitem/itemdis/disDetails/index.vue b/admin-web/src/views/departmentitem/itemdis/disDetails/index.vue new file mode 100644 index 0000000..2936cd9 --- /dev/null +++ b/admin-web/src/views/departmentitem/itemdis/disDetails/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/departmentitem/itemdis/distribution/index.vue b/admin-web/src/views/departmentitem/itemdis/distribution/index.vue new file mode 100644 index 0000000..ea1d5b0 --- /dev/null +++ b/admin-web/src/views/departmentitem/itemdis/distribution/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/departmentitem/itemret/retDetails/edit.vue b/admin-web/src/views/departmentitem/itemret/retDetails/edit.vue new file mode 100644 index 0000000..37b0db9 --- /dev/null +++ b/admin-web/src/views/departmentitem/itemret/retDetails/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/departmentitem/itemret/retDetails/index.vue b/admin-web/src/views/departmentitem/itemret/retDetails/index.vue new file mode 100644 index 0000000..2936cd9 --- /dev/null +++ b/admin-web/src/views/departmentitem/itemret/retDetails/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/departmentitem/itemret/returnNote/index.vue b/admin-web/src/views/departmentitem/itemret/returnNote/index.vue new file mode 100644 index 0000000..ea1d5b0 --- /dev/null +++ b/admin-web/src/views/departmentitem/itemret/returnNote/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/departmentitem/itemscr/scrappDetails/edit.vue b/admin-web/src/views/departmentitem/itemscr/scrappDetails/edit.vue new file mode 100644 index 0000000..37b0db9 --- /dev/null +++ b/admin-web/src/views/departmentitem/itemscr/scrappDetails/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/departmentitem/itemscr/scrappDetails/index.vue b/admin-web/src/views/departmentitem/itemscr/scrappDetails/index.vue new file mode 100644 index 0000000..2936cd9 --- /dev/null +++ b/admin-web/src/views/departmentitem/itemscr/scrappDetails/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/departmentitem/itemscr/scrapping/index.vue b/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue new file mode 100644 index 0000000..ea1d5b0 --- /dev/null +++ b/admin-web/src/views/departmentitem/itemscr/scrapping/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/departmentitem/ledgerquy/itemQuy/edit.vue b/admin-web/src/views/departmentitem/ledgerquy/itemQuy/edit.vue new file mode 100644 index 0000000..37b0db9 --- /dev/null +++ b/admin-web/src/views/departmentitem/ledgerquy/itemQuy/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/departmentitem/ledgerquy/itemQuy/index.vue b/admin-web/src/views/departmentitem/ledgerquy/itemQuy/index.vue new file mode 100644 index 0000000..2936cd9 --- /dev/null +++ b/admin-web/src/views/departmentitem/ledgerquy/itemQuy/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/departmentitem/ledgerquy/ledQuy/edit.vue b/admin-web/src/views/departmentitem/ledgerquy/ledQuy/edit.vue new file mode 100644 index 0000000..37b0db9 --- /dev/null +++ b/admin-web/src/views/departmentitem/ledgerquy/ledQuy/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/departmentitem/ledgerquy/ledQuy/index.vue b/admin-web/src/views/departmentitem/ledgerquy/ledQuy/index.vue new file mode 100644 index 0000000..2936cd9 --- /dev/null +++ b/admin-web/src/views/departmentitem/ledgerquy/ledQuy/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/statisticalreport/itemReport/edit.vue b/admin-web/src/views/statisticalreport/itemReport/edit.vue new file mode 100644 index 0000000..37b0db9 --- /dev/null +++ b/admin-web/src/views/statisticalreport/itemReport/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/statisticalreport/itemReport/index.vue b/admin-web/src/views/statisticalreport/itemReport/index.vue new file mode 100644 index 0000000..2936cd9 --- /dev/null +++ b/admin-web/src/views/statisticalreport/itemReport/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/inventorycount/exceptionDetails/edit.vue b/admin-web/src/views/stock/inventorycount/exceptionDetails/edit.vue new file mode 100644 index 0000000..37b0db9 --- /dev/null +++ b/admin-web/src/views/stock/inventorycount/exceptionDetails/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/inventorycount/exceptionDetails/index.vue b/admin-web/src/views/stock/inventorycount/exceptionDetails/index.vue new file mode 100644 index 0000000..54f2d7d --- /dev/null +++ b/admin-web/src/views/stock/inventorycount/exceptionDetails/index.vue @@ -0,0 +1,272 @@ +<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: '' + }, + ], + // 鏍戞暟鎹� + 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',}, + ], + // 鎿嶄綔淇℃伅 + 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/inventorycount/inventorytask/edit.vue b/admin-web/src/views/stock/inventorycount/inventorytask/edit.vue new file mode 100644 index 0000000..37b0db9 --- /dev/null +++ b/admin-web/src/views/stock/inventorycount/inventorytask/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/inventorycount/inventorytask/index.vue b/admin-web/src/views/stock/inventorycount/inventorytask/index.vue new file mode 100644 index 0000000..54f2d7d --- /dev/null +++ b/admin-web/src/views/stock/inventorycount/inventorytask/index.vue @@ -0,0 +1,272 @@ +<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: '' + }, + ], + // 鏍戞暟鎹� + 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',}, + ], + // 鎿嶄綔淇℃伅 + 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/ledger/alertQuery/edit.vue b/admin-web/src/views/stock/ledger/alertQuery/edit.vue new file mode 100644 index 0000000..37b0db9 --- /dev/null +++ b/admin-web/src/views/stock/ledger/alertQuery/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/ledger/alertQuery/index.vue b/admin-web/src/views/stock/ledger/alertQuery/index.vue new file mode 100644 index 0000000..2936cd9 --- /dev/null +++ b/admin-web/src/views/stock/ledger/alertQuery/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/ledger/inventoryAlert/edit.vue b/admin-web/src/views/stock/ledger/inventoryAlert/edit.vue new file mode 100644 index 0000000..37b0db9 --- /dev/null +++ b/admin-web/src/views/stock/ledger/inventoryAlert/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/ledger/inventoryAlert/index.vue b/admin-web/src/views/stock/ledger/inventoryAlert/index.vue new file mode 100644 index 0000000..2936cd9 --- /dev/null +++ b/admin-web/src/views/stock/ledger/inventoryAlert/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/ledger/inventoryQuery/edit.vue b/admin-web/src/views/stock/ledger/inventoryQuery/edit.vue new file mode 100644 index 0000000..37b0db9 --- /dev/null +++ b/admin-web/src/views/stock/ledger/inventoryQuery/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/ledger/inventoryQuery/index.vue b/admin-web/src/views/stock/ledger/inventoryQuery/index.vue new file mode 100644 index 0000000..2936cd9 --- /dev/null +++ b/admin-web/src/views/stock/ledger/inventoryQuery/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/ledger/ledgerQuery/edit.vue b/admin-web/src/views/stock/ledger/ledgerQuery/edit.vue new file mode 100644 index 0000000..37b0db9 --- /dev/null +++ b/admin-web/src/views/stock/ledger/ledgerQuery/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/ledger/ledgerQuery/index.vue b/admin-web/src/views/stock/ledger/ledgerQuery/index.vue new file mode 100644 index 0000000..2936cd9 --- /dev/null +++ b/admin-web/src/views/stock/ledger/ledgerQuery/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/scrap/itemScrapping/index.vue b/admin-web/src/views/stock/scrap/itemScrapping/index.vue new file mode 100644 index 0000000..ea1d5b0 --- /dev/null +++ b/admin-web/src/views/stock/scrap/itemScrapping/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/scrap/scrapDetails/edit.vue b/admin-web/src/views/stock/scrap/scrapDetails/edit.vue new file mode 100644 index 0000000..37b0db9 --- /dev/null +++ b/admin-web/src/views/stock/scrap/scrapDetails/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/scrap/scrapDetails/index.vue b/admin-web/src/views/stock/scrap/scrapDetails/index.vue new file mode 100644 index 0000000..2936cd9 --- /dev/null +++ b/admin-web/src/views/stock/scrap/scrapDetails/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> -- Gitblit v1.9.1