石广澎
2023-11-29 20913c80c3f5fc8e533cb92b90e6f20bcd68e032
feat:
1、优化导入
2、部门物品台账查询对接
1个文件已添加
114个文件已修改
1063 ■■■■ 已修改文件
admin-web/public/static/config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/api/deptGoods/ledgerQuery.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/api/foudation/classification.js 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/api/foudation/store.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/api/system/sms.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/api/system/user.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/components/HeaderSearch/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/components/SvgIcon/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/components/echartsNew/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/components/mySearch/SearchItem.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/components/mySearchCopy/SearchItem.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/components/myTable/myTable.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/components/myTable/myTableV2.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/components/upload/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/directive/copy/copy.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/directive/index.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/directive/permission/hasPermi.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/directive/permission/hasRole.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/filters/commFilter.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/filters/wx.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/layout/components/Navbar.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/layout/components/Sidebar/Link.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/layout/components/Sidebar/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/libs/dialog.js 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/libs/index.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/libs/wechat.js 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/main.js 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/permission.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/plugins/auth.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/plugins/download.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/plugins/modal.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/router/index.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/store/modules/app.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/store/modules/settings.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/store/modules/user.js 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/utils/ZBKJIutil.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/utils/auth.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/utils/error-log.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/utils/eventBus.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/utils/exportExcel.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/utils/index.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/utils/newToExcel.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/utils/settingIplatform.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/utils/stockType.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/vendor/Export2Excel.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/vendor/Export2Zip.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/components/myImport.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/dashboard/components/LBJETJ.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/dataV/components/cityScore.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/dataV/static.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemdis/disDetails/index.vue 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemdis/distribution/detail.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemdis/distribution/edit.vue 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemdis/distribution/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemret/returnNote/detail.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemret/returnNote/edit.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemret/returnNote/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemscr/scrappDetails/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemscr/scrapping/detail.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemscr/scrapping/edit.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemscr/scrapping/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/ledgerquy/itemQuy/index.vue 108 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/ledgerquy/ledQuy/index.vue 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/foundation/classification/edit.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/foundation/classification/index.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/foundation/store/edit.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/foundation/store/person.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/login/mixins.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/mixins/listPage.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/statisticalreport/itemReport/index.vue 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/accessStock/outbound/detail.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/accessStock/outbound/edit.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/accessStock/outbound/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/accessStock/outboundDetails/index.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/inventorycount/inventorytask/detail.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/inventorycount/inventorytask/edit.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/inventorycount/inventorytask/index.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/inventorycount/inventorytask/inventory.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/ledger/alertQuery/index.vue 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/ledger/inventoryAlert/edit.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/ledger/inventoryAlert/index.vue 97 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/ledger/inventoryQuery/index.vue 100 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/ledger/ledgerQuery/index.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/procure/purchaseOrder/detail.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/procure/purchaseOrder/edit.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/procure/purchaseOrder/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/procure/receiptDetails/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/scrap/itemScrapping/detail.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/scrap/itemScrapping/edit.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/scrap/itemScrapping/index.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/scrap/scrapDetails/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/transfer/transferApplication/detail.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/transfer/transferApplication/edit.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/transfer/transferApplication/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/transfer/transferdetails/index.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/transfer/transferissue/detail.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/transfer/transferissue/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemManger/org/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemManger/server/user/edit.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemManger/server/user/editRole.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemManger/server/user/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemSetting/department/data.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemSetting/department/edit.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemSetting/department/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemSetting/dept/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemSetting/dict/data.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemSetting/dict/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemSetting/menu/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemSetting/role/authUser.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemSetting/role/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemSetting/role/selectUser.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemSetting/user/authRole.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemSetting/user/index.vue 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemSetting/user/profile/userInfo.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/public/static/config.js
@@ -4,8 +4,8 @@
  // 上传路径
  ftpUrl: 'https://yqzx.jinmingyuan.com/lowConsum',//开发
  // 接口请求地址
  apiBaseURL: 'http://172.16.20.2:8083/lowConsum',//开发
  // apiBaseURL: 'http://172.16.60.155:8083/lowConsum',//开发
  // apiBaseURL: 'http://172.16.20.2:8083/lowConsum',//开发
  apiBaseURL: 'http://172.16.60.155:8083/lowConsum',//开发
  // apiBaseURL: 'https://yqzx.jinmingyuan.com/lowConsum',//开发
  debug: false //调试开关  true时会输出请求日志
};
admin-web/src/api/deptGoods/ledgerQuery.js
New file
@@ -0,0 +1,11 @@
import request from '@/utils/request';
// 物品查询导出
export function doExport(params) {
    return request({
        url: '/pc/fin/warehouse/ledger/getDeptListExport',
        responseType: 'blob', // 指定响应数据类型为Blob
        method: 'post',
        params,
    });
}
admin-web/src/api/foudation/classification.js
@@ -2,12 +2,11 @@
import SettingIplatform from '@/utils/settingIplatform';
export function getTree(parameter) {
  return request.get(SettingIplatform.apiBaseURL + '/pc/base/category/select/tree', {params: parameter})
    return request.get(SettingIplatform.apiBaseURL + '/pc/base/category/select/tree', {params: parameter})
}
export function getCategoryDetail(params) {
  return request({
    url: '/pc/base/category/detail',
    method: 'get',
    params
  })
}
    return request({
        url: '/pc/base/category/detail', method: 'get', params
    })
}
admin-web/src/api/foudation/store.js
@@ -1,5 +1,4 @@
import request from '@/utils/request'
import SettingIplatform from '@/utils/settingIplatform';
export function userSelectDepartment(params) {
  return request({
@@ -23,4 +22,4 @@
    method: 'get',
    params
  })
}
}
admin-web/src/api/system/sms.js
@@ -9,6 +9,7 @@
// +----------------------------------------------------------------------
import request from '@/utils/request';
/**
 * @description 短信发送记录 -- 列表
 */
admin-web/src/api/system/user.js
@@ -1,5 +1,4 @@
import request from '@/utils/request'
import { isEmptyValue } from "@/utils/StringUtils";
// 查询用户列表
export function listUser(query) {
admin-web/src/components/HeaderSearch/index.vue
@@ -20,7 +20,8 @@
<script>
import Fuse from 'fuse.js';
import path from 'path';
import { mapGetters } from 'vuex';
import {mapGetters} from 'vuex';
export default {
  name: 'HeaderSearch',
  data() {
admin-web/src/components/SvgIcon/index.vue
@@ -16,7 +16,7 @@
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
// doc: https://panjiachen.github.io/vue-element-admin-site/feature/component/svg-icon.html#usage
import { isExternal } from '@/utils/validate';
import {isExternal} from '@/utils/validate';
export default {
  name: 'SvgIcon',
admin-web/src/components/echartsNew/index.vue
@@ -15,6 +15,7 @@
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import echarts from 'echarts';
export default {
  name: 'Index',
  props: {
admin-web/src/components/mySearch/SearchItem.vue
@@ -125,7 +125,6 @@
</template>
<script>
import {formatDates} from '@/utils/index';
import request from '@/utils/request';
function trim(str) {
admin-web/src/components/mySearchCopy/SearchItem.vue
@@ -114,7 +114,7 @@
</template>
<script>
import { formatDates } from '@/utils/index';
import {formatDates} from '@/utils/index';
import request from '@/utils/request';
function trim(str) {
admin-web/src/components/myTable/myTable.vue
@@ -201,6 +201,7 @@
import mySwitch from '@/components/mySwitch/mySwitch'
import request from '@/utils/request'
import * as valid from '@/utils/validate'
export default {
  components: { myButton, mySwitch },
  props: {
admin-web/src/components/myTable/myTableV2.vue
@@ -198,6 +198,7 @@
import mySwitch from '@/components/mySwitch/mySwitch'
import request from '@/utils/request'
import * as valid from '@/utils/validate'
export default {
  components: { myButton, mySwitch },
  props: {
admin-web/src/components/upload/index.vue
@@ -54,9 +54,9 @@
</template>
<script>
import { getToken } from '@/utils/auth'
import { sessionToken } from '@/settings'
import { getDownUrl } from '@/utils/base'
import {getToken} from '@/utils/auth'
import {sessionToken} from '@/settings'
import {getDownUrl} from '@/utils/base'
import Viewer from 'viewerjs'
import 'viewerjs/dist/viewer.css'
admin-web/src/directive/copy/copy.js
@@ -8,7 +8,7 @@
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import { Message } from 'element-ui';
import {Message} from 'element-ui';
const vCopy = {
  // 名字爱取啥取啥
admin-web/src/directive/index.js
@@ -1,4 +1,3 @@
import hasRole from './permission/hasRole';
import hasPermi from './permission/hasPermi';
import dialogDrag from './dialog/drag';
admin-web/src/directive/permission/hasPermi.js
@@ -1,4 +1,3 @@
import store from '@/store';
export default {
admin-web/src/directive/permission/hasRole.js
@@ -1,4 +1,3 @@
import store from '@/store';
export default {
admin-web/src/filters/commFilter.js
@@ -1,6 +1,5 @@
import * as constants from '@/utils/constants.js';
import { formatDates } from '@/utils/index';
import {formatDates} from '@/utils/index';
// 公共过滤器
export function filterEmpty(val) {
admin-web/src/filters/wx.js
@@ -10,6 +10,7 @@
//小程序 微信过滤器
import Cookies from 'js-cookie';
/**
 * @description 小程序所属类目
 */
admin-web/src/layout/components/Navbar.vue
@@ -33,6 +33,7 @@
<script>
import {mapGetters} from 'vuex'
import {getDownUrl} from "@/utils/base";
export default {
  data() {
    return {
admin-web/src/layout/components/Sidebar/Link.vue
@@ -6,7 +6,7 @@
</template>
<script>
import { isExternal } from '@/utils/validate';
import {isExternal} from '@/utils/validate';
export default {
  props: {
admin-web/src/layout/components/Sidebar/index.vue
@@ -49,11 +49,12 @@
</template>
<script>
import { mapGetters, mapState } from 'vuex';
import {mapGetters, mapState} from 'vuex';
import Logo from './Logo';
import SidebarItem from './SidebarItem';
import variables from '@/styles/variables.scss';
import { isEmpty, isNotEmpty } from '@/utils/validate'
import {isEmpty, isNotEmpty} from '@/utils/validate'
export default {
  components: { SidebarItem, Logo },
  data(){
admin-web/src/libs/dialog.js
@@ -9,11 +9,11 @@
// +----------------------------------------------------------------------
import {
  Confirm as confirm,
  Alert as alert,
  Toast as toast,
  Notify as notify,
  Loading as loading,
    Alert as alert,
    Confirm as confirm,
    Loading as loading,
    Notify as notify,
    Toast as toast,
} from 'vue-ydui/dist/lib.rem/dialog';
const dialog = {
admin-web/src/libs/index.js
@@ -18,8 +18,9 @@
import * as Auth from '@/libs/wechat';
import util from '@/utils/utils';
import schema from 'async-validator';
import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from '@/utils/parsing';
import {handleTree, parseTime, resetForm} from '@/utils/parsing';
import axios from 'axios';
export default {
  install(Vue) {
    Vue.prototype.$modalSure = modalSure;
admin-web/src/libs/wechat.js
@@ -9,12 +9,12 @@
// +----------------------------------------------------------------------
import WechatJSSDK from 'wechat-jssdk/dist/client.umd';
import { getWechatConfig, wechatAuth } from '@/api/system/wxApi';
import { getToken, removeToken, setToken } from '@/utils/auth';
import { parseQuery } from '@/utils';
import {getWechatConfig, wechatAuth} from '@/api/system/wxApi';
import {getToken, setToken} from '@/utils/auth';
import Cookies from 'js-cookie';
const STATE_KEY = 'wx_authorize_state';
import store from '@/store';
const STATE_KEY = 'wx_authorize_state';
const WX_AUTH = 'wx_auth';
const BACK_URL = 'login_back_url';
const LOGINTYPE = 'loginType';
admin-web/src/main.js
@@ -13,16 +13,9 @@
import VueAwesomeSwiper from 'vue-awesome-swiper';
import Cookies from 'js-cookie';
import Debounce from './libs/debounce.js'; //防抖自定义指令
Vue.config.devtools = true;
import Print from '@/utils/print';
Vue.use(Print);
// 百度地图
import BaiduMap from 'vue-baidu-map'
Vue.use(BaiduMap,{
  ak:''
});
import App from './App';
import store from './store';
import router from './router';
@@ -40,7 +33,16 @@
import './directive/num';
import searchInfo from '@/utils/changeColor';
import exportExcel from '@/utils/exportExcel'; // 导出
import {previewDoc, downLoad} from '@/utils/base';
import {downLoad, previewDoc} from '@/utils/base';
import '@/mock'
Vue.config.devtools = true;
Vue.use(Print);
Vue.use(BaiduMap,{
  ak:''
});
Vue.prototype.exportExcelUtils = exportExcel;
Vue.prototype.previewDoc = previewDoc;
Vue.prototype.downLoad = downLoad;
@@ -163,7 +165,6 @@
    }, delayTime);
  },
});
import '@/mock'
new Vue({
  el: '#app',
  router,
admin-web/src/permission.js
@@ -1,9 +1,9 @@
import router from './router';
import store from './store';
import { Message } from 'element-ui';
import {Message} from 'element-ui';
import NProgress from 'nprogress'; // progress bar
import 'nprogress/nprogress.css'; // progress bar style
import { getToken, getCPass } from '@/utils/auth'; // get token from cookie
import {getToken} from '@/utils/auth'; // get token from cookie
import getPageTitle from '@/utils/get-page-title';
NProgress.configure({ showSpinner: false }); // NProgress Configuration
admin-web/src/plugins/auth.js
@@ -1,4 +1,3 @@
import store from '@/store';
function authPermission(permission) {
admin-web/src/plugins/download.js
@@ -8,10 +8,10 @@
// | Author: CRMEB Team <admin@crmeb.com>
// +---------------------------------------------------------------------
import { saveAs } from 'file-saver';
import {saveAs} from 'file-saver';
import axios from 'axios';
import { getToken } from '@/utils/auth';
import { Message } from 'element-ui';
import {getToken} from '@/utils/auth';
import {Message} from 'element-ui';
const baseURL = process.env.VUE_APP_BASE_API;
admin-web/src/plugins/modal.js
@@ -8,7 +8,7 @@
// | Author: CRMEB Team <admin@crmeb.com>
// +---------------------------------------------------------------------
import { Message, MessageBox, Notification, Loading } from 'element-ui';
import {Loading, Message, MessageBox, Notification} from 'element-ui';
let loadingInstance;
admin-web/src/router/index.js
@@ -1,12 +1,10 @@
import Vue from 'vue';
import Router from 'vue-router';
Vue.use(Router);
/* Layout */
import Layout from '@/layout';
Vue.use(Router);
/**
 * Note: sub-menu only appear when route children.length >= 1
admin-web/src/store/modules/app.js
@@ -1,4 +1,3 @@
import Cookies from 'js-cookie';
const state = {
admin-web/src/store/modules/settings.js
@@ -10,6 +10,7 @@
import defaultSettings from '@/settings';
import Cache from '@/plugins/cache';
const { showSettings, tagsView, fixedHeader, sidebarLogo, topNav, sideTheme, navIcon } = defaultSettings;
const storageSetting = Cache.local.has('layout-setting') ? Cache.local.getJSON('layout-setting') : '';
const state = {
admin-web/src/store/modules/user.js
@@ -1,12 +1,20 @@
import {getInfo, login, logout,getCurInfo} from '@/api/user';
import {getToken, removeToken,setUserInfo, setToken,getUser,getUserDetail,setUserDetail,setCPass} from '@/utils/auth';
import {getCurInfo, getInfo, login, logout} from '@/api/user';
import {
    getToken,
    getUser,
    getUserDetail,
    removeToken,
    setCPass,
    setToken,
    setUserDetail,
    setUserInfo
} from '@/utils/auth';
import router, {resetRouter} from '@/router';
import {isLoginApi} from '@/api/system/sms';
import Cookies from 'js-cookie';
import {getQueryString} from '@/libs/wechat';
import {Loading} from 'element-ui';
import {encrypt} from '@/utils/jsencrypt'
import store from "@/store";
const state = {
  info: getUser(),
admin-web/src/utils/ZBKJIutil.js
@@ -1,4 +1,3 @@
import store from '@/store';
/**
admin-web/src/utils/auth.js
@@ -1,5 +1,5 @@
import Cookies from 'js-cookie';
import storage from 'store';
const TokenKey = 'iplatform_token';
const userKey = 'user'
const userInfo = 'userInfo'
admin-web/src/utils/error-log.js
@@ -10,7 +10,7 @@
import Vue from 'vue';
import store from '@/store';
import { isString, isArray } from '@/utils/validate';
import {isArray, isString} from '@/utils/validate';
import settings from '@/settings';
// you can set in settings.js
admin-web/src/utils/eventBus.js
@@ -1,2 +1,3 @@
import Vue from 'vue'
export default new Vue()
admin-web/src/utils/exportExcel.js
@@ -1,5 +1,6 @@
import FileSaver from 'file-saver';
import * as XLSX from 'xlsx'
export default {
  // 导出Excel表格
  exportExcel(excelName, tableName) {
admin-web/src/utils/index.js
@@ -1,4 +1,5 @@
import Cookies from 'js-cookie';
/**
 * Created by PanJiaChen on 16/11/18.
 */
@@ -439,4 +440,4 @@
  }
  return parentIds; // 返回所有父节点ID的数组
}
}
admin-web/src/utils/newToExcel.js
@@ -7,7 +7,7 @@
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import { export_json_to_excel } from '../vendor/Export1Excel';
import {export_json_to_excel} from '../vendor/Export1Excel';
/**
 * @method exportExcel
admin-web/src/utils/settingIplatform.js
@@ -1,5 +1,5 @@
import config from '../../public/static/config.js'
const SettingIplatform = {
  // 上传路径
  ftpUrl: config.ftpUrl,
admin-web/src/utils/stockType.js
@@ -13,12 +13,6 @@
    } else {
      result = '调拨出库';
    }
  } else if (row.businessType == 4) {
    if (row.thisType == 1) {
      result = '退还入库';
    } else {
      result = '申领出库';
    }
  } else {
    result = arr[row.businessType - 1];
  }
admin-web/src/vendor/Export2Excel.js
@@ -9,7 +9,7 @@
// +----------------------------------------------------------------------
/* eslint-disable */
import { saveAs } from 'file-saver';
import {saveAs} from 'file-saver';
import XLSX from 'xlsx';
function generateArray(table) {
admin-web/src/vendor/Export2Zip.js
@@ -9,7 +9,7 @@
// +---------------------------------------------------------------------
/* eslint-disable */
import { saveAs } from 'file-saver';
import {saveAs} from 'file-saver';
import JSZip from 'jszip';
export function export_txt_to_zip(th, jsonData, txtName, zipName) {
admin-web/src/views/components/myImport.vue
@@ -45,8 +45,9 @@
  </el-dialog>
</template>
<script>
import { getToken } from '@/utils/auth'
import { sessionToken } from '@/settings'
import {getToken} from '@/utils/auth'
import {sessionToken} from '@/settings'
export default {
  props: {
    importSetting: {
admin-web/src/views/dashboard/components/LBJETJ.vue
@@ -10,7 +10,6 @@
</template>
<script>
import * as echarts from 'echarts';
import * as dash from "@/api/dashboard/dash";
export default {
  name: 'LBJETJ',
admin-web/src/views/dataV/components/cityScore.vue
@@ -14,6 +14,7 @@
<script>
import echarts from 'echarts';
let cityChart = null;
export default {
  name: 'city-score',
admin-web/src/views/dataV/static.vue
@@ -168,7 +168,7 @@
<script>
import MyMap from '@/views/dataV/components/map';
import { formatDate } from '@/utils/DateFormatter';
import {formatDate} from '@/utils/DateFormatter';
import ProjectYear from './components/projectYear.vue';
import ProjectType from './components/projectType.vue';
import BatchPlan from './components/batchPlan.vue';
admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue
@@ -128,8 +128,7 @@
<script>
import myButton from '@/components/myButton/myButton';
import * as finsystenant from '@/api/baseSetting/finsystenant';
import {transferDetail, useInfoUpdate, useRecord} from "@/api/stock/transfer";
import {useInfoUpdate, useRecord} from "@/api/stock/transfer";
export default {
  components: {myButton},
admin-web/src/views/departmentitem/itemdis/disDetails/index.vue
@@ -28,10 +28,7 @@
import SettingIplatform from '@/utils/settingIplatform';
import edit from './edit';
import detail from '../distribution/detail';
import * as finsystenant from '@/api/baseSetting/finsystenant';
import {getBaseUrl} from '@/utils/base';
import * as DateFormatter from "@/utils/DateFormatter";
import {getUserDetail} from "@/utils/auth";
export default {
  name: 'index',
@@ -46,6 +43,32 @@
          label: '单号',
          placeholder: '请输入',
          defaultValue: '',
        },
        {
          type: 'cascader',
          dataIndex: 'agencyId',
          label: '机构',
          placeholder: '请选择',
          cascader: [
            {key: 'inWarehouseId', queryKey: 'tenantId'},
            {key: 'goodsTemplateId', queryKey: 'agencyId'}
          ],
          optionsConfig: {url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null},
          defaultValue: '',
          options: [],
        },
        {
          type: 'select',
          dataIndex: 'inWarehouseId',
          label: '部门',
          placeholder: '请选择',
          optionsConfig: {
            url: `/pc/fin/sys/tenant/department/list/all`,
            label: 'name',
            value: 'id',
          },
          defaultValue: '',
          options: [],
        },
        {
          type: 'select',
@@ -73,29 +96,6 @@
            value: 'id',
            url: SettingIplatform.apiBaseURL + '/pc/base/goods/models/query/goodsModel',
          },
        },
        {
          type: 'cascader',
          dataIndex: 'agencyId',
          label: '机构',
          placeholder: '请选择',
          cascader: [{key: 'inWarehouseId', queryKey: 'tenantId'}],
          optionsConfig: {url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null},
          defaultValue: '',
          options: [],
        },
        {
          type: 'select',
          dataIndex: 'inWarehouseId',
          label: '部门',
          placeholder: '请选择',
          optionsConfig: {
            url: `/pc/fin/sys/tenant/department/list/all`,
            label: 'name',
            value: 'id',
          },
          defaultValue: '',
          options: [],
        },
        {
          type: 'text',
@@ -157,7 +157,7 @@
        // 列信息
        columns: [
          {title: '单号', field: 'businessFormCode', align: 'center', width: 130},
          {title: '物品名称', field: 'goodsName', align:  'left', minWidth: 140},
          {title: '物品名称', field: 'goodsName', align: 'left', minWidth: 140},
          {
            title: '类别', field: 'type', align: 'center', formatter: (row) => {
              return {value: row.type + '类'};
@@ -184,8 +184,8 @@
            {
              title: '使用人',
              type: 'primary',
              hidden:  (row) => {
                return row.type!=='A'
              hidden: (row) => {
                return row.type !== 'A'
              },
              events: (row) => {
                this.handleEdit(row);
admin-web/src/views/departmentitem/itemdis/distribution/detail.vue
@@ -71,7 +71,7 @@
          </el-col>
          <!--A类商品 -->
          <el-col :span="24" v-if="goodsItem.type==='A'">
            <el-row v-for="(user, u) in mItem.useInfo">
            <el-row v-for="(user, u) in mItem.useInfo" :key="u">
              <el-col :span="6">
                <el-form-item label="分发数量:" style="margin-bottom: 0" label-width="80">
                  {{user.num}}
@@ -113,10 +113,10 @@
  </win-lg>
</template>
<script>
import { transferDetail } from '@/api/stock/transfer';
import {transferDetail} from '@/api/stock/transfer';
import winLg from '@/components/win/win-lg';
import * as DateFormatter from '@/utils/DateFormatter';
import { getDownUrl } from '@/utils/base';
import {getDownUrl} from '@/utils/base';
import Viewer from 'viewerjs';
import 'viewerjs/dist/viewer.css';
import de from "element-ui/src/locale/lang/de";
admin-web/src/views/departmentitem/itemdis/distribution/edit.vue
@@ -227,13 +227,8 @@
  </win-md>
</template>
<script>
import {
  goodsTemplate,
  goodsModel,
} from '@/api/stock/procure/purchaseOrder';
import {
  transferAdd
} from '@/api/stock/transfer';
import {goodsModel, goodsTemplate,} from '@/api/stock/procure/purchaseOrder';
import {transferAdd} from '@/api/stock/transfer';
import {departmentListAll} from '@/api/system/deptment';
import {getTree} from '@/api/foudation/classification';
import MyButton from '@/components/myButton/myButton';
admin-web/src/views/departmentitem/itemdis/distribution/index.vue
@@ -91,7 +91,6 @@
import myImport from '@/views/components/myImport';
import edit from './edit';
import detail from './detail';
import {getBaseUrl} from '@/utils/base';
import listPage from '../../../mixins/listPage';
import {getUserDetail} from "@/utils/auth";
admin-web/src/views/departmentitem/itemret/returnNote/detail.vue
@@ -95,10 +95,10 @@
  </win-lg>
</template>
<script>
import { procureDetail } from '@/api/stock/procure/purchaseOrder';
import {procureDetail} from '@/api/stock/procure/purchaseOrder';
import winLg from '@/components/win/win-lg';
import * as DateFormatter from '@/utils/DateFormatter';
import { getDownUrl } from '@/utils/base';
import {getDownUrl} from '@/utils/base';
import Viewer from 'viewerjs';
import 'viewerjs/dist/viewer.css';
admin-web/src/views/departmentitem/itemret/returnNote/edit.vue
@@ -188,20 +188,15 @@
  </win-md>
</template>
<script>
import {
  goodsTemplate,
  goodsModel,
  selectTenantWarehouse,
  warehouseSelectNumber,
} from '@/api/baseSetting/finsystenant';
import { outputAdd } from '@/api/stock/accessStock';
import { getTree } from '@/api/foudation/classification';
import {goodsTemplate, selectTenantWarehouse,} from '@/api/baseSetting/finsystenant';
import {outputAdd} from '@/api/stock/accessStock';
import {getTree} from '@/api/foudation/classification';
import MyButton from '@/components/myButton/myButton';
import winMd from '@/components/win/win-md';
import winSm from '@/components/win/win-sm';
import upload from '@/components/upload/index';
import { getUploadUrl } from '@/utils/base';
import { mapGetters } from 'vuex';
import {getUploadUrl} from '@/utils/base';
import {mapGetters} from 'vuex';
export default {
  components: { MyButton, winMd, winSm, upload },
admin-web/src/views/departmentitem/itemret/returnNote/index.vue
@@ -72,7 +72,7 @@
</template>
<script>
import { outputList } from '@/api/stock/accessStock';
import {outputList} from '@/api/stock/accessStock';
import MyButton from '@/components/myButton/myButton';
import myImport from '@/views/components/myImport';
import edit from './edit';
admin-web/src/views/departmentitem/itemscr/scrappDetails/index.vue
@@ -31,7 +31,6 @@
import MyButton from "@/components/myButton/myButton";
import SettingIplatform from '@/utils/settingIplatform';
import detail from '@/views/departmentitem/itemscr/scrapping/detail'
import * as finsystenant from '@/api/baseSetting/finsystenant'
import myImport from '@/views/components/myImport'
import {getBaseUrl} from '@/utils/base';
admin-web/src/views/departmentitem/itemscr/scrapping/detail.vue
@@ -100,10 +100,10 @@
  </win-lg>
</template>
<script>
import { procureDetail } from '@/api/stock/procure/purchaseOrder';
import {procureDetail} from '@/api/stock/procure/purchaseOrder';
import winLg from '@/components/win/win-lg';
import * as DateFormatter from '@/utils/DateFormatter';
import { getDownUrl } from '@/utils/base';
import {getDownUrl} from '@/utils/base';
import Viewer from 'viewerjs';
import 'viewerjs/dist/viewer.css';
admin-web/src/views/departmentitem/itemscr/scrapping/edit.vue
@@ -208,20 +208,15 @@
  </win-md>
</template>
<script>
import {
  goodsTemplate,
  goodsModel,
  selectTenantWarehouse,
  warehouseSelectNumber,
} from '@/api/baseSetting/finsystenant';
import { outputAdd } from '@/api/stock/accessStock';
import { getTree } from '@/api/foudation/classification';
import {goodsTemplate, selectTenantWarehouse,} from '@/api/baseSetting/finsystenant';
import {outputAdd} from '@/api/stock/accessStock';
import {getTree} from '@/api/foudation/classification';
import MyButton from '@/components/myButton/myButton';
import winMd from '@/components/win/win-md';
import winSm from '@/components/win/win-sm';
import upload from '@/components/upload/index';
import { getUploadUrl } from '@/utils/base';
import { mapGetters } from 'vuex';
import {getUploadUrl} from '@/utils/base';
import {mapGetters} from 'vuex';
export default {
  components: { MyButton, winMd, winSm, upload },
admin-web/src/views/departmentitem/itemscr/scrapping/index.vue
@@ -77,7 +77,7 @@
</template>
<script>
import { outputList } from '@/api/stock/accessStock';
import {outputList} from '@/api/stock/accessStock';
import MyButton from '@/components/myButton/myButton';
import myImport from '@/views/components/myImport';
import edit from './edit';
admin-web/src/views/departmentitem/ledgerquy/itemQuy/index.vue
@@ -23,8 +23,7 @@
import MyTableV2 from "@/components/myTable/myTableV2";
import MyButton from "@/components/myButton/myButton";
import SettingIplatform from '@/utils/settingIplatform';
import * as finsystenant from '@/api/baseSetting/finsystenant'
import {getBaseUrl} from '@/utils/base';
import {doExport} from '@/api/deptGoods/ledgerQuery';
export default {
  name: "index",
@@ -38,40 +37,66 @@
          dataIndex: 'agencyId',
          label: '机构',
          placeholder: '请选择',
          optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null },
          optionsConfig: {url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null},
          defaultValue: '',
          options: [],
        },
        {
          type: 'select',
          dataIndex: 'name',
          dataIndex: 'departmentId',
          label: '部门',
          placeholder: '请选择',
          defaultValue: '',
          optionsConfig: {
            url: `/pc/fin/sys/tenant/department/list/all`,
            label: 'name',
            value: 'id',
          },
          options: [],
        },
        {
          type: 'text',
          dataIndex: 'name',
          type: 'select',
          dataIndex: 'goodsTemplateId',
          label: '物品名称',
          placeholder: '请输入',
          optionsConfig: {
            label: 'goodsName',
            value: 'id',
            url: SettingIplatform.apiBaseURL + '/pc/base/goods/template/query/goodsTemplate',
          },
          options: [],
          defaultValue: ''
        },
        {
          type: 'select',
          dataIndex: 'name',
          type: 'cascader',
          dataIndex: 'categoryId',
          label: '分类',
          placeholder: '请选择',
          defaultValue: '',
          options: [],
          optionsConfig: {
            label: 'label',
            value: 'id',
            url: SettingIplatform.apiBaseURL + '/pc/base/category/select/tree',
            props: {checkStrictly: false, emitPath: false, value: 'id'}
          },
        },
        {
          type: 'select',
          dataIndex: 'name',
          dataIndex: 'costType',
          label: '类别',
          placeholder: '请选择',
          defaultValue: '',
          options: [],
          options: [{
            label: 'A',
            value: '1'
          }, {
            label: 'B',
            value: '2'
          }, {
            label: 'C',
            value: '3'
          }],
        },
      ],
      // 树数据
@@ -93,29 +118,36 @@
      table: {
        showIndex: true, // 是否显示序号
        expand: false, // 是否显示详情数据
        url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/list', // 请求地址
        url: SettingIplatform.apiBaseURL + '/pc/fin/warehouse/ledger/getDeptLedgerList', // 请求地址
        // 工具条
        tools: {
          columnsCtrl: {// 列控制按钮
            show: false
          },
          generalExport: {// 通用导出按钮
            show: true
            show: false
          },
          // 自定义工具条按钮
          custom: [
          ]
            {
              name: '导出',
              icon: 'el-icon-download',
              click: () => {
                this.handleExport();
              },
            },
          ],
        },
        // 列信息
        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: 'agencyName', align: 'left', minWidth: 130},
          {title: '部门', field: 'departName', align: 'left', minWidth: 130},
          {title: '分类', field: 'categoryName', align: 'left', minWidth: 130},
          {title: '所属类别', field: 'costType', align: 'center', width: 80},
          {title: '物品名称', field: 'goodsTemplateName', align: 'left', minWidth: 130},
          {title: '规格型号', field: 'baseGoodsModelsName', align: 'left', minWidth: 130},
          {title: '单位', field: 'unit', align: 'center', width: 80},
          {title: '在用数量', field: 'kucun', align: 'center', width: 80},
        ],
        // 操作信息
        operation: {
@@ -137,6 +169,40 @@
  created() {
  },
  methods: {
    // 导出
    handleExport() {
      let loading = this.$loading({
        lock: true,
        text: '导出中,请稍候...',
        spinner: 'el-icon-loading',
        background: 'rgba(0, 0, 0, 0.7)',
      });
      // 判断总条数是否大于最大支持条数
      doExport({...this.filterFrom})
          .then((res) => {
            const blob = new Blob([res], {type: 'application/vnd.ms-excel'});
            const fileName = `部门物品查询.xls`;
            if ('download' in document.createElement('a')) {
              // 非IE下载
              const elink = document.createElement('a');
              elink.download = fileName;
              elink.style.display = 'none';
              elink.href = URL.createObjectURL(blob);
              document.body.appendChild(elink);
              elink.click();
              URL.revokeObjectURL(elink.href);
              document.body.removeChild(elink);
            } else {
              // IE10+下载
              navigator.msSaveBlob(blob, fileName);
            }
            this.$message.success('导出成功!');
            loading.close();
          })
          .catch(() => {
            loading.close();
          });
    },
    // 查询table列表
    search(pageNum) {
      if (pageNum != undefined) {
admin-web/src/views/departmentitem/ledgerquy/ledQuy/index.vue
@@ -16,6 +16,11 @@
        </el-card>
      </el-container>
    </el-container>
    <my-import
        :import-setting="importSetting"
        :dialog-show="importSetting.dialogShow"
        :dialog-title="importSetting.dialogTitle"
    />
  </div>
</template>
@@ -24,11 +29,14 @@
import MyButton from '@/components/myButton/myButton';
import SettingIplatform from '@/utils/settingIplatform';
import * as finsystenant from '@/api/baseSetting/finsystenant';
import { getBaseUrl } from '@/utils/base';
import myImport from '@/views/components/myImport';
import {getBaseUrl} from '@/utils/base';
import * as DateFormatter from '@/utils/DateFormatter';
import stockType from '@/utils/stockType'
export default {
  name: 'index',
  components: { MyButton, MyTableV2 },
  components: { MyButton, MyTableV2, myImport },
  data() {
    return {
      // 搜索框
@@ -38,61 +46,71 @@
          dataIndex: 'agencyId',
          label: '机构',
          placeholder: '请选择',
          defaultValue: '',
          options: [],
          cascader: [
            { key: 'inWarehouseId', queryKey: 'tenantId' },
            { key: 'goodsTemplateId', queryKey: 'agencyId' },
          ],
          optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null },
        },
        {
          type: 'select',
          dataIndex: 'inWarehouseId',
          label: '部门',
          placeholder: '请选择',
          optionsConfig: {
            url: `/pc/fin/sys/tenant/department/list/all`,
            label: 'name',
            value: 'id',
          },
          defaultValue: '',
          options: [],
        },
        {
          type: 'select',
          dataIndex: 'name',
          label: '部门',
          placeholder: '请输入',
          defaultValue: '',
          options: [],
        },
        {
          type: 'text',
          dataIndex: 'name',
          dataIndex: 'goodsTemplateId',
          label: '物品名称',
          placeholder: '请输入',
          defaultValue: '',
          options: [],
          cascader: [{ key: 'baseGoodsModelsId', queryKey: 'goodsTemplatesId' }],
          optionsConfig: {
            label: 'goodsName',
            value: 'id',
            url: SettingIplatform.apiBaseURL + '/pc/base/goods/template/query/goodsTemplate',
          },
        },
        {
          type: 'select',
          dataIndex: 'name',
          dataIndex: 'baseGoodsModelsId',
          label: '规格型号',
          placeholder: '请输入',
          defaultValue: '',
          options: [],
          optionsConfig: {
            label: 'modelName',
            value: 'id',
            url: SettingIplatform.apiBaseURL + '/pc/base/goods/models/query/goodsModel',
          },
        },
        {
          type: 'select',
          dataIndex: 'status',
          dataIndex: 'flowType',
          label: '类型',
          placeholder: '请选择',
          defaultValue: '1',
          options: [
            {
              label: '启用',
              value: '1',
            },
            {
              label: '禁用',
              value: '0',
            },
          ],
        },
        {
          type: 'text',
          dataIndex: 'name',
          label: '单号',
          placeholder: '请输入',
          defaultValue: '',
          options: [],
          optionsConfig: {
            label: 'dict_label',
            value: 'dict_value',
            url: SettingIplatform.apiBaseURL + '/permit/dict/data/type/FLOW_TYPE',
          },
        },
        {
          type: 'text',
          dataIndex: 'name',
          label: '操作人',
          dataIndex: 'businessFormCode',
          label: '单号',
          placeholder: '请输入',
          defaultValue: '',
        },
@@ -118,6 +136,24 @@
        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: '',
@@ -128,7 +164,7 @@
      table: {
        showIndex: true, // 是否显示序号
        expand: false, // 是否显示详情数据
        url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/list', // 请求地址
        url: SettingIplatform.apiBaseURL + '/pc/warehouse/flow/getTaiZhangList', // 请求地址
        // 工具条
        tools: {
          columnsCtrl: {
@@ -137,36 +173,40 @@
          },
          generalExport: {
            // 通用导出按钮
            show: true,
            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' },
          { title: '机构', field: 'agencyName', align: 'left', width: 130 },
          { title: '部门', field: 'departName', align: 'left', width: 130 },
          { title: '物品名称', field: 'goodsTemplateName', align: 'left', minWidth: 130 },
          { title: '规格型号', field: 'baseGoodsModelsName', align: 'left', width: 130 },
          {
            title: '类型',
            field: 'summary',
            align: 'center',
            formatter: (row) => {
              let result = stockType(row)
              return { value: result };
            },
          },
          { title: '单号', field: 'businessFormCode', align: 'center', width: 130 },
          { title: '数量', field: 'thisCount', align: 'center', width: 100 },
          { title: '操作前数量', field: 'initialCount', align: 'center', width: 100 },
          { title: '操作后数量', field: 'endCount', align: 'center', width: 100 },
          {
            title: '操作时间',
            field: 'summary',
            align: 'left',
            field: 'dealTime',
            align: 'center',
            width: 160,
            formatter: (row) => {
              return { value: DateFormatter.LongToDateTime(row.procureTime) };
              return { value: DateFormatter.LongToDateTime(row.dealTime) };
            },
          },
        ],
        // 操作信息
        operation: {
          show: false // 显示操作列
        },
        paging: {
          show: true, // 显示分页
          // 分页信息
@@ -197,5 +237,3 @@
  },
};
</script>
<style scoped></style>
admin-web/src/views/foundation/classification/edit.vue
@@ -48,8 +48,9 @@
import winSm from '@/components/win/win-sm';
import myButton from '@/components/myButton/myButton';
import * as finsystenant from '@/api/baseSetting/finsystenant';
import { getDicts } from '@/api/system/dict/data';
import { getCategoryDetail } from '@/api/foudation/classification';
import {getDicts} from '@/api/system/dict/data';
import {getCategoryDetail} from '@/api/foudation/classification';
export default {
  components: { winSm, myButton },
  props: {
admin-web/src/views/foundation/classification/index.vue
@@ -42,11 +42,10 @@
import items from './items';
import edit from './edit';
import * as finsystenant from '@/api/baseSetting/finsystenant';
import { getTree } from '@/api/foudation/classification';
import {getTree} from '@/api/foudation/classification';
import myImport from '@/views/components/myImport';
import { getBaseUrl } from '@/utils/base';
import { getType } from '@/api/system/dict/type';
import { getDicts } from '@/api/system/dict/data';
import {getBaseUrl} from '@/utils/base';
import {getDicts} from '@/api/system/dict/data';
export default {
  name: 'index',
admin-web/src/views/foundation/store/edit.vue
@@ -41,7 +41,7 @@
import winSm from '@/components/win/win-sm';
import myButton from '@/components/myButton/myButton';
import * as finsystenant from '@/api/baseSetting/finsystenant';
import { findParentIds } from '@/utils/index';
import {findParentIds} from '@/utils/index';
export default {
  components: { winSm, myButton },
admin-web/src/views/foundation/store/person.vue
@@ -35,11 +35,9 @@
</template>
<script>
import { departmentListAll } from '@/api/system/deptment';
import { userSelectDepartment, warehouseManagerAdd, warehouseManagerList } from '@/api/foudation/store';
import {userSelectDepartment, warehouseManagerList} from '@/api/foudation/store';
import winMd from '@/components/win/win-md';
import myButton from '@/components/myButton/myButton';
import * as finsystenant from '@/api/baseSetting/finsystenant';
export default {
  name: 'person',
admin-web/src/views/login/mixins.js
@@ -9,7 +9,7 @@
// +---------------------------------------------------------------------
// import iHeaderI18n from '@/layouts/basic-layout/header-i18n';
import { mapState } from 'vuex';
import {mapState} from 'vuex';
export default {
  // components: { iHeaderI18n },
admin-web/src/views/mixins/listPage.js
@@ -1,5 +1,6 @@
import * as DateFormatter from '@/utils/DateFormatter';
import { mapGetters } from 'vuex';
import {mapGetters} from 'vuex';
export default {
    data() {
        return {
@@ -87,4 +88,4 @@
          this.search(1);
        },
    }
}
}
admin-web/src/views/statisticalreport/itemReport/index.vue
@@ -4,49 +4,43 @@
      <div class="filter-container" style="margin-bottom: 10px">
        <my-search ref="searchBar" :items="items" @search="filterForm"></my-search>
      </div>
      <div class="title"  align="center">物品统计表</div>
      <div class="title">物品统计表</div>
      <el-table
        v-loading="loading"
        :data="tableData"
        border
        style="width: 100%">
        <el-table-column
          fixed="left"
          align="center"
          prop="orgName"
          label="机构"
          width="150">
          min-width="150">
        </el-table-column>
        <el-table-column
          fixed="left"
          align="center"
          prop="warehouseName"
          label="仓库/部门"
          width="150">
          min-width="150">
        </el-table-column>
        <el-table-column
          fixed="left"
          align="center"
          prop="goodsCode"
          label="物品编码"
          width="150">
        </el-table-column>
        <el-table-column
          fixed="left"
          align="center"
          prop="goodsTemplateName"
          label="物品名称"
          width="150">
          min-width="150">
        </el-table-column>
        <el-table-column
          fixed="left"
          align="center"
          prop="baseGoodsModelsName"
          label="规格型号"
          width="150">
          min-width="150">
        </el-table-column>
        <el-table-column
          fixed="left"
          align="center"
          prop="zaiKuNum"
          label="在库/在用数量"
@@ -54,21 +48,18 @@
        </el-table-column>
        <el-table-column
          fixed="left"
          align="center"
          prop="baoFeiNum"
          label="报废数"
          width="150">
        </el-table-column>
        <el-table-column
          fixed="left"
          align="center"
          prop="diaoBoNum"
          label="调拨数"
          width="150">
        </el-table-column>
        <el-table-column
          fixed="left"
          align="center"
          prop="totalNum"
          label="总数量"
@@ -80,12 +71,11 @@
</template>
<script>
  import {getGoodsStatistics} from '@/api/dashboard/goodsStatis.js'
  import {formatDate,LongToDate} from "@/utils/DateFormatter";
  import {downLoad} from "@/utils/base";
  import SettingIplatform from '@/utils/settingIplatform';
import {getGoodsStatistics} from '@/api/dashboard/goodsStatis.js'
import {formatDate} from "@/utils/DateFormatter";
import SettingIplatform from '@/utils/settingIplatform';
  export default {
export default {
    data() {
      return {
        items: [
admin-web/src/views/stock/accessStock/outbound/detail.vue
@@ -67,7 +67,7 @@
  </win-md>
</template>
<script>
import { outputDetail } from '@/api/stock/accessStock';
import {outputDetail} from '@/api/stock/accessStock';
import winMd from '@/components/win/win-md';
import * as DateFormatter from '@/utils/DateFormatter';
admin-web/src/views/stock/accessStock/outbound/edit.vue
@@ -174,19 +174,14 @@
  </win-md>
</template>
<script>
import {
  goodsTemplate,
  goodsModel,
  selectTenantWarehouse,
  warehouseSelectNumber,
} from '@/api/baseSetting/finsystenant';
import { outputAdd } from '@/api/stock/accessStock';
import { getTree } from '@/api/foudation/classification';
import {goodsModel, goodsTemplate, selectTenantWarehouse, warehouseSelectNumber,} from '@/api/baseSetting/finsystenant';
import {outputAdd} from '@/api/stock/accessStock';
import {getTree} from '@/api/foudation/classification';
import MyButton from '@/components/myButton/myButton';
import winMd from '@/components/win/win-md';
import upload from '@/components/upload/index';
import { getUploadUrl } from '@/utils/base';
import { mapGetters } from 'vuex';
import {getUploadUrl} from '@/utils/base';
import {mapGetters} from 'vuex';
export default {
  components: { MyButton, winMd, upload },
admin-web/src/views/stock/accessStock/outbound/index.vue
@@ -80,7 +80,7 @@
</template>
<script>
import { outputList } from '@/api/stock/accessStock';
import {outputList} from '@/api/stock/accessStock';
import MyButton from '@/components/myButton/myButton';
import myImport from '@/views/components/myImport';
import edit from './edit';
admin-web/src/views/stock/accessStock/outboundDetails/index.vue
@@ -31,13 +31,13 @@
import * as DateFormatter from '@/utils/DateFormatter';
import stockType from '@/utils/stockType';
import detail from '../outbound/detail';
import purchaseDetail from '@/views/stock/procure/purchaseOrder/detail.vue';// 采购单详情
import transferDetail from '@/views/stock/transfer/transferissue/detail.vue';// 调拨单详情
import inventoryDetail from '@/views/stock/inventorycount/inventorytask/detail.vue';// 盘点单详情
import scrapDetail from '@/views/stock/scrap/itemScrapping/detail.vue';// 报废单详情
import distributionDetail from '@/views/departmentitem/itemdis/distribution/detail.vue';// 分发单详情
import itemscrDetail from '@/views/departmentitem/itemscr/scrapping/detail.vue';// 部门报废单详情
import returnNoteDetail from '@/views/departmentitem/itemret/returnNote/detail.vue';// 部门退还单详情
import purchaseDetail from '@/views/stock/procure/purchaseOrder/detail.vue'; // 采购单详情
import transferDetail from '@/views/stock/transfer/transferissue/detail.vue'; // 调拨单详情
import inventoryDetail from '@/views/stock/inventorycount/inventorytask/detail.vue'; // 盘点单详情
import scrapDetail from '@/views/stock/scrap/itemScrapping/detail.vue'; // 报废单详情
import distributionDetail from '@/views/departmentitem/itemdis/distribution/detail.vue'; // 分发单详情
import itemscrDetail from '@/views/departmentitem/itemscr/scrapping/detail.vue'; // 部门报废单详情
import returnNoteDetail from '@/views/departmentitem/itemret/returnNote/detail.vue'; // 部门退还单详情
export default {
  name: 'index',
admin-web/src/views/stock/inventorycount/inventorytask/detail.vue
@@ -22,7 +22,8 @@
<script>
import winMd from '@/components/win/win-md';
import myButton from '@/components/myButton/myButton';
import { inventoryDetail } from '@/api/stock/inventory';
import {inventoryDetail} from '@/api/stock/inventory';
export default {
  components: { winMd, myButton },
  props: {
admin-web/src/views/stock/inventorycount/inventorytask/edit.vue
@@ -44,13 +44,13 @@
</template>
<script>
import { selectTenantWarehouse, tenantUserQueryUser } from '@/api/baseSetting/finsystenant';
import { inventoryAdd, inventoryEdit } from '@/api/stock/inventory';
import { warehouseManagerList } from '@/api/foudation/store';
import {selectTenantWarehouse, tenantUserQueryUser} from '@/api/baseSetting/finsystenant';
import {inventoryAdd, inventoryEdit} from '@/api/stock/inventory';
import {warehouseManagerList} from '@/api/foudation/store';
import winSm from '@/components/win/win-sm';
import myButton from '@/components/myButton/myButton';
import { formatDate } from '@/utils/DateFormatter';
import { mapGetters } from 'vuex';
import {formatDate} from '@/utils/DateFormatter';
import {mapGetters} from 'vuex';
export default {
  components: { winSm, myButton },
admin-web/src/views/stock/inventorycount/inventorytask/index.vue
@@ -40,13 +40,12 @@
import edit from './edit';
import inventory from './inventory';
import detail from './detail';
import * as finsystenant from '@/api/baseSetting/finsystenant';
import {selectTenantWarehouse} from '@/api/baseSetting/finsystenant';
import myImport from '@/views/components/myImport';
import { getBaseUrl } from '@/utils/base';
import { selectTenantWarehouse } from '@/api/baseSetting/finsystenant';
import { inventoryListApi, inventoryDel } from '@/api/stock/inventory';
import {getBaseUrl} from '@/utils/base';
import {inventoryDel, inventoryListApi} from '@/api/stock/inventory';
import * as DateFormatter from '@/utils/DateFormatter';
import { mapGetters } from 'vuex';
import {mapGetters} from 'vuex';
export default {
  name: 'index',
admin-web/src/views/stock/inventorycount/inventorytask/inventory.vue
@@ -46,7 +46,8 @@
<script>
import winMd from '@/components/win/win-md';
import myButton from '@/components/myButton/myButton';
import { inventoryQuery, inventoryTemporaryStorage, inventoryFinish, inventoryDetail } from '@/api/stock/inventory';
import {inventoryDetail, inventoryFinish, inventoryQuery, inventoryTemporaryStorage} from '@/api/stock/inventory';
export default {
  components: { winMd, myButton },
  props: {
admin-web/src/views/stock/ledger/alertQuery/index.vue
@@ -45,7 +45,7 @@
            label: 'label',
            value: 'id',
            url: SettingIplatform.apiBaseURL + '/pc/base/category/select/tree',
            props: {checkStrictly: false}
            props: {checkStrictly: false, emitPath: false, value: 'id'}
          },
        },
        {
@@ -174,17 +174,17 @@
  methods: {
    del(row) {
      this.$modal
        .confirm('是否确认删除名称为"' + row.name + '"的机构吗?')
        .then(function () {
          finsystenant.del({id: row.id}).then((res) => {
          .confirm('是否确认删除名称为"' + row.name + '"的机构吗?')
          .then(function () {
            finsystenant.del({id: row.id}).then((res) => {
            });
          })
          .then((res) => {
            this.$message.success('删除成功!');
            this.search();
          })
          .catch(() => {
          });
        })
        .then((res) => {
          this.$message.success('删除成功!');
          this.search();
        })
        .catch(() => {
        });
    },
    // 查询table列表
    search(pageNum) {
admin-web/src/views/stock/ledger/inventoryAlert/edit.vue
@@ -122,19 +122,13 @@
import {
  getCategorySelectTree,
  goodsModel,
  warehouseSelectNumber,
  goodsTemplate,
  selectTenantWarehouse,
  queryGoodsModelInfo,
  selectTenantWarehouse,
} from '@/api/baseSetting/finsystenant';
import {
  warningConfigAdd,
  warningConfigUpd,
  warningConfigGetById,
  warningConfigGetConfigList,
} from '@/api/stock/ledger';
import { mapGetters } from 'vuex';
import { findParentIds } from '@/utils/index';
import {warningConfigAdd, warningConfigGetById, warningConfigUpd,} from '@/api/stock/ledger';
import {mapGetters} from 'vuex';
import {findParentIds} from '@/utils/index';
export default {
  components: { winMd, myButton },
admin-web/src/views/stock/ledger/inventoryAlert/index.vue
@@ -10,18 +10,18 @@
          <el-row style="margin-top: 15px">
            <el-col>
              <!--列表-->
              <my-table-v2 ref="myTable" :filter="filterFrom" :table="table" />
              <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" />
          <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"
        :import-setting="importSetting"
        :dialog-show="importSetting.dialogShow"
        :dialog-title="importSetting.dialogTitle"
    />
  </div>
</template>
@@ -32,15 +32,13 @@
import SettingIplatform from '@/utils/settingIplatform';
import edit from './edit';
import myImport from '@/views/components/myImport';
import { getBaseUrl } from '@/utils/base';
import { selectTenantWarehouse, treeList } from '@/api/baseSetting/finsystenant';
import { warningConfigGetDel } from '@/api/stock/ledger';
import { getDicts } from '@/api/system/dict/data';
import { mapGetters } from 'vuex';
import {getBaseUrl} from '@/utils/base';
import {warningConfigGetDel} from '@/api/stock/ledger';
import {mapGetters} from 'vuex';
export default {
  name: 'index',
  components: { MyButton, MyTableV2, edit,myImport },
  components: {MyButton, MyTableV2, edit, myImport},
  data() {
    return {
      // 搜索框
@@ -53,10 +51,10 @@
          defaultValue: '',
          options: [],
          cascader: [
            { key: 'warehouseId', queryKey: 'agencyId' },
            { key: 'goodsTemplateId', queryKey: 'agencyId' },
            {key: 'warehouseId', queryKey: 'agencyId'},
            {key: 'goodsTemplateId', queryKey: 'agencyId'},
          ],
          optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null },
          optionsConfig: {url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null},
        },
        {
          type: 'select',
@@ -78,7 +76,7 @@
          placeholder: '请输入',
          defaultValue: '',
          options: [],
          cascader: [{ key: 'categoryId', queryKey: 'goodsTemplatesId' }],
          cascader: [{key: 'categoryId', queryKey: 'goodsTemplatesId'}],
          optionsConfig: {
            label: 'goodsName',
            value: 'id',
@@ -96,7 +94,7 @@
            label: 'label',
            value: 'id',
            url: SettingIplatform.apiBaseURL + '/pc/base/category/select/tree',
            props: { checkStrictly: false },
            props: {checkStrictly: false, emitPath: false, value: 'id'}
          },
        },
        {
@@ -106,34 +104,34 @@
          placeholder: '请选择',
          defaultValue: '',
          options: [{
            label:'A',
            value:'1'
          },{
            label:'B',
            value:'2'
          },{
            label:'C',
            value:'3'
            label: 'A',
            value: '1'
          }, {
            label: 'B',
            value: '2'
          }, {
            label: 'C',
            value: '3'
          }],
        },
      ],
      // 导入
      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
        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
      },
      // 搜索条件
      filterFrom: {
@@ -178,14 +176,14 @@
        },
        // 列信息
        columns: [
          { title: '机构', field: 'agencyName', align: 'left', minWidth: 130 },
          { title: '仓库', field: 'warehouseName', align: 'left', minWidth: 130 },
          { title: '分类', field: 'categoryName', align: 'left', minWidth: 130 },
          { title: '所属类别', field: 'costType', align: 'center', width: 80 },
          { title: '物品名称', field: 'goodsName', align: 'left', minWidth: 130 },
          { title: '规格型号', field: 'modelName', align: 'left', minWidth: 130 },
          { title: '保底库存', field: 'lowerLimit', align: 'center', width: 100 },
          { title: '封顶库存', field: 'upperLimit', align: 'center', width: 100 },
          {title: '机构', field: 'agencyName', align: 'left', minWidth: 130},
          {title: '仓库', field: 'warehouseName', align: 'left', minWidth: 130},
          {title: '分类', field: 'categoryName', align: 'left', minWidth: 130},
          {title: '所属类别', field: 'costType', align: 'center', width: 80},
          {title: '物品名称', field: 'goodsName', align: 'left', minWidth: 130},
          {title: '规格型号', field: 'modelName', align: 'left', minWidth: 130},
          {title: '保底库存', field: 'lowerLimit', align: 'center', width: 100},
          {title: '封顶库存', field: 'upperLimit', align: 'center', width: 100},
        ],
        // 操作信息
        operation: {
@@ -222,11 +220,12 @@
  computed: {
    ...mapGetters(['userInfo']),
  },
  created() {},
  created() {
  },
  methods: {
    del(row) {
      this.$modal.confirm('是否确认删除此条的数据吗?').then(() => {
        warningConfigGetDel({ id: row.id }).then((res) => {
        warningConfigGetDel({id: row.id}).then((res) => {
          this.$message.success('删除成功!');
          this.search();
        });
admin-web/src/views/stock/ledger/inventoryQuery/index.vue
@@ -10,7 +10,7 @@
          <el-row style="margin-top: 15px">
            <el-col>
              <!--列表-->
              <my-table-v2 ref="myTable" :filter="filterFrom" :table="table" />
              <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
            </el-col>
          </el-row>
        </el-card>
@@ -24,15 +24,11 @@
import MyTableV2 from '@/components/myTable/myTableV2';
import MyButton from '@/components/myButton/myButton';
import SettingIplatform from '@/utils/settingIplatform';
import * as finsystenant from '@/api/baseSetting/finsystenant';
import { getBaseUrl } from '@/utils/base';
import { selectTenantWarehouse, getCategorySelectTree, treeList } from '@/api/baseSetting/finsystenant';
import { getDicts } from '@/api/system/dict/data';
import { doExport } from '@/api/stock/ledger';
import {doExport} from '@/api/stock/ledger';
export default {
  name: 'index',
  components: { MyButton, MyTableV2 },
  components: {MyButton, MyTableV2},
  data() {
    return {
      // 搜索框
@@ -44,8 +40,8 @@
          placeholder: '请选择',
          defaultValue: '',
          options: [],
          cascader: [{key:'warehouseId',queryKey: 'agencyId'},{key:'goodsTemplateId',queryKey: 'agencyId'}],
          optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null },
          cascader: [{key: 'warehouseId', queryKey: 'agencyId'}, {key: 'goodsTemplateId', queryKey: 'agencyId'}],
          optionsConfig: {url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null},
        },
        {
          type: 'select',
@@ -67,7 +63,7 @@
          placeholder: '请输入',
          defaultValue: '',
          options: [],
          cascader: [{key:'categoryId',queryKey: 'goodsTemplatesId'}],
          cascader: [{key: 'categoryId', queryKey: 'goodsTemplatesId'}],
          optionsConfig: {
            label: 'goodsName',
            value: 'id',
@@ -85,7 +81,7 @@
            label: 'label',
            value: 'id',
            url: SettingIplatform.apiBaseURL + '/pc/base/category/select/tree',
            props:{checkStrictly:false}
            props: {checkStrictly: false, emitPath: false, value: 'id'}
          },
        },
        {
@@ -95,14 +91,14 @@
          placeholder: '请选择',
          defaultValue: '',
          options: [{
            label:'A',
            value:'1'
          },{
            label:'B',
            value:'2'
          },{
            label:'C',
            value:'3'
            label: 'A',
            value: '1'
          }, {
            label: 'B',
            value: '2'
          }, {
            label: 'C',
            value: '3'
          }],
        },
      ],
@@ -110,7 +106,7 @@
      treeDataList: [],
      // 搜索条件
      filterFrom: {
        warehouseType:0
        warehouseType: 0
      },
      // 表格数据
      table: {
@@ -140,14 +136,14 @@
        },
        // 列信息
        columns: [
          { title: '机构', field: 'agencyName', align: 'left', minWidth: 130 },
          { title: '仓库', field: 'warehouseName', align: 'left', minWidth: 130 },
          { title: '分类', field: 'categoryName', align: 'left', minWidth: 130 },
          { title: '所属类别', field: 'costType', align: 'center', width:80 },
          { title: '物品名称', field: 'goodsTemplateName', align: 'left', minWidth: 140 },
          { title: '规格型号', field: 'baseGoodsModelsName', align: 'left', minWidth: 130 },
          { title: '单位', field: 'unit', align: 'center', width:80 },
          { title: '当前库存', field: 'kucun', align: 'center' },
          {title: '机构', field: 'agencyName', align: 'left', minWidth: 130},
          {title: '仓库', field: 'warehouseName', align: 'left', minWidth: 130},
          {title: '分类', field: 'categoryName', align: 'left', minWidth: 130},
          {title: '所属类别', field: 'costType', align: 'center', width: 80},
          {title: '物品名称', field: 'goodsTemplateName', align: 'left', minWidth: 140},
          {title: '规格型号', field: 'baseGoodsModelsName', align: 'left', minWidth: 130},
          {title: '单位', field: 'unit', align: 'center', width: 80},
          {title: '当前库存', field: 'kucun', align: 'center'},
        ],
        paging: {
          show: true, // 显示分页
@@ -174,30 +170,30 @@
        background: 'rgba(0, 0, 0, 0.7)',
      });
      // 判断总条数是否大于最大支持条数
      doExport({ ...this.filterFrom })
        .then((res) => {
          const blob = new Blob([res], { type: 'application/vnd.ms-excel' });
          const fileName = `库存查询.xls`;
          if ('download' in document.createElement('a')) {
            // 非IE下载
            const elink = document.createElement('a');
            elink.download = fileName;
            elink.style.display = 'none';
            elink.href = URL.createObjectURL(blob);
            document.body.appendChild(elink);
            elink.click();
            URL.revokeObjectURL(elink.href);
            document.body.removeChild(elink);
          } else {
            // IE10+下载
            navigator.msSaveBlob(blob, fileName);
          }
          this.$message.success('导出成功!');
          loading.close();
        })
        .catch(() => {
          loading.close();
        });
      doExport({...this.filterFrom})
          .then((res) => {
            const blob = new Blob([res], {type: 'application/vnd.ms-excel'});
            const fileName = `库存查询.xls`;
            if ('download' in document.createElement('a')) {
              // 非IE下载
              const elink = document.createElement('a');
              elink.download = fileName;
              elink.style.display = 'none';
              elink.href = URL.createObjectURL(blob);
              document.body.appendChild(elink);
              elink.click();
              URL.revokeObjectURL(elink.href);
              document.body.removeChild(elink);
            } else {
              // IE10+下载
              navigator.msSaveBlob(blob, fileName);
            }
            this.$message.success('导出成功!');
            loading.close();
          })
          .catch(() => {
            loading.close();
          });
    },
    // 查询table列表
admin-web/src/views/stock/ledger/ledgerQuery/index.vue
@@ -30,9 +30,7 @@
import SettingIplatform from '@/utils/settingIplatform';
import * as finsystenant from '@/api/baseSetting/finsystenant';
import myImport from '@/views/components/myImport';
import { getBaseUrl } from '@/utils/base';
import { getCategorySelectTree, goodsModel } from '@/api/baseSetting/finsystenant';
import { getDicts } from '@/api/system/dict/data';
import {getBaseUrl} from '@/utils/base';
import * as DateFormatter from '@/utils/DateFormatter';
import stockType from '@/utils/stockType'
admin-web/src/views/stock/procure/purchaseOrder/detail.vue
@@ -99,10 +99,10 @@
  </win-md>
</template>
<script>
import { procureDetail } from '@/api/stock/procure/purchaseOrder';
import {procureDetail} from '@/api/stock/procure/purchaseOrder';
import winMd from '@/components/win/win-md';
import * as DateFormatter from '@/utils/DateFormatter';
import { getDownUrl } from '@/utils/base';
import {getDownUrl} from '@/utils/base';
import Viewer from 'viewerjs';
import 'viewerjs/dist/viewer.css';
admin-web/src/views/stock/procure/purchaseOrder/edit.vue
@@ -191,20 +191,20 @@
</template>
<script>
import {
  goodsModel,
  goodsTemplate,
  procureAdd,
  procureDetail,
  procureEdit,
  selectTenantWarehouse,
  goodsModel,
  procureDetail,
} from '@/api/stock/procure/purchaseOrder';
import { getTree } from '@/api/foudation/classification';
import {getTree} from '@/api/foudation/classification';
import MyButton from '@/components/myButton/myButton';
import winMd from '@/components/win/win-md';
import upload from '@/components/upload/index';
import { getUploadUrl, getDownUrl } from '@/utils/base';
import { findParentIds } from '@/utils/index';
import { mapGetters } from 'vuex';
import {getUploadUrl} from '@/utils/base';
import {findParentIds} from '@/utils/index';
import {mapGetters} from 'vuex';
export default {
  components: { MyButton, winMd, upload },
admin-web/src/views/stock/procure/purchaseOrder/index.vue
@@ -116,13 +116,13 @@
</template>
<script>
import { procureList, procureDel, procureIncome } from '@/api/stock/procure/purchaseOrder';
import {procureDel, procureIncome, procureList} from '@/api/stock/procure/purchaseOrder';
import MyButton from '@/components/myButton/myButton';
import SettingIplatform from '@/utils/settingIplatform';
import myImport from '@/views/components/myImport';
import edit from './edit';
import detail from './detail';
import { getBaseUrl } from '@/utils/base';
import {getBaseUrl} from '@/utils/base';
import listPage from '../../../mixins/listPage';
export default {
admin-web/src/views/stock/procure/receiptDetails/index.vue
@@ -33,9 +33,8 @@
import SettingIplatform from '@/utils/settingIplatform';
import detail from '../purchaseOrder/detail';
import * as finsystenant from '@/api/baseSetting/finsystenant';
import { goodsModel } from '@/api/stock/procure/purchaseOrder';
import myImport from '@/views/components/myImport';
import { getBaseUrl } from '@/utils/base';
import {getBaseUrl} from '@/utils/base';
export default {
  name: 'index',
admin-web/src/views/stock/scrap/itemScrapping/detail.vue
@@ -64,13 +64,13 @@
  </win-md>
</template>
<script>
import { scrappedDetail } from '@/api/stock/scrap';
import {scrappedDetail} from '@/api/stock/scrap';
import winMd from '@/components/win/win-md';
import * as DateFormatter from '@/utils/DateFormatter';
import { getDownUrl } from '@/utils/base';
import {getDownUrl} from '@/utils/base';
import Viewer from 'viewerjs';
import 'viewerjs/dist/viewer.css';
import { getDicts } from '@/api/system/dict/data';
import {getDicts} from '@/api/system/dict/data';
let viewer = null;
admin-web/src/views/stock/scrap/itemScrapping/edit.vue
@@ -177,21 +177,15 @@
  </win-md>
</template>
<script>
import { scrappedAdd } from '@/api/stock/scrap';
import {
  goodsTemplate,
  selectTenantWarehouse,
  goodsModel,
  warehouseSelectNumber,
} from '@/api/baseSetting/finsystenant';
import { getTree } from '@/api/foudation/classification';
import {scrappedAdd} from '@/api/stock/scrap';
import {goodsModel, goodsTemplate, selectTenantWarehouse, warehouseSelectNumber,} from '@/api/baseSetting/finsystenant';
import {getTree} from '@/api/foudation/classification';
import MyButton from '@/components/myButton/myButton';
import winMd from '@/components/win/win-md';
import upload from '@/components/upload/index';
import { getUploadUrl } from '@/utils/base';
import { mapGetters } from 'vuex';
import SettingIplatform from '../../../../../public/static/config';
import { getDicts } from '@/api/system/dict/data';
import {getUploadUrl} from '@/utils/base';
import {mapGetters} from 'vuex';
import {getDicts} from '@/api/system/dict/data';
export default {
  components: { MyButton, winMd, upload },
admin-web/src/views/stock/scrap/itemScrapping/index.vue
@@ -88,13 +88,11 @@
</template>
<script>
import { scrappedList,  } from '@/api/stock/scrap';
import { getTree } from '@/api/baseSetting/finsystenant';
import {scrappedList,} from '@/api/stock/scrap';
import MyButton from '@/components/myButton/myButton';
import SettingIplatform from '@/utils/settingIplatform';
import edit from './edit';
import detail from './detail';
import { getBaseUrl } from '@/utils/base';
import * as DateFormatter from '@/utils/DateFormatter';
export default {
admin-web/src/views/stock/scrap/scrapDetails/index.vue
@@ -34,10 +34,9 @@
import MyTableV2 from '@/components/myTable/myTableV2';
import MyButton from '@/components/myButton/myButton';
import SettingIplatform from '@/utils/settingIplatform';
import * as finsystenant from '@/api/baseSetting/finsystenant';
import myImport from '@/views/components/myImport';
import detail from '../itemScrapping/detail';
import { getBaseUrl } from '@/utils/base';
import {getBaseUrl} from '@/utils/base';
import * as DateFormatter from '@/utils/DateFormatter';
export default {
admin-web/src/views/stock/transfer/transferApplication/detail.vue
@@ -75,7 +75,7 @@
  </win-md>
</template>
<script>
import { transferDetail } from '@/api/stock/transfer';
import {transferDetail} from '@/api/stock/transfer';
import * as DateFormatter from '@/utils/DateFormatter';
import winMd from '@/components/win/win-md';
import transfer from '../../../mixins/transfer';
admin-web/src/views/stock/transfer/transferApplication/edit.vue
@@ -169,14 +169,13 @@
  </win-md>
</template>
<script>
import { transferAdd } from '@/api/stock/transfer';
import { getCategorySelectTree, goodsModel, warehouseSelectNumber } from '@/api/baseSetting/finsystenant';
import { getParentTenant, queryWarehouseGoods } from '@/api/stock/transfer';
import {getParentTenant, queryWarehouseGoods, transferAdd} from '@/api/stock/transfer';
import {getCategorySelectTree, goodsModel, warehouseSelectNumber} from '@/api/baseSetting/finsystenant';
import MyButton from '@/components/myButton/myButton';
import winMd from '@/components/win/win-md';
import upload from '@/components/upload/index';
import { getUploadUrl } from '@/utils/base';
import { mapGetters } from 'vuex';
import {getUploadUrl} from '@/utils/base';
import {mapGetters} from 'vuex';
export default {
  components: { MyButton, winMd, upload },
admin-web/src/views/stock/transfer/transferApplication/index.vue
@@ -121,14 +121,13 @@
</template>
<script>
import { transferList, transferUpdStatus, transfeIncome, transferExport } from '@/api/stock/transfer';
import {transfeIncome, transferExport, transferList, transferUpdStatus} from '@/api/stock/transfer';
import MyButton from '@/components/myButton/myButton';
import myImport from '@/views/components/myImport';
import edit from './edit';
import detail from './detail';
import listPage from '../../../mixins/listPage';
import transfer from '../../../mixins/transfer';
import { commonsApi } from '@/api/commonsApi';
import SettingIplatform from '@/utils/settingIplatform';
export default {
admin-web/src/views/stock/transfer/transferdetails/index.vue
@@ -31,10 +31,7 @@
import MyButton from '@/components/myButton/myButton';
import SettingIplatform from '@/utils/settingIplatform';
import detail from '../transferApplication/detail';
import * as finsystenant from '@/api/baseSetting/finsystenant';
import myImport from '@/views/components/myImport';
import { getBaseUrl } from '@/utils/base';
import { goodsModel } from '@/api/baseSetting/finsystenant';
import * as DateFormatter from '@/utils/DateFormatter';
export default {
admin-web/src/views/stock/transfer/transferissue/detail.vue
@@ -83,7 +83,7 @@
  </win-md>
</template>
<script>
import { transferDetail } from '@/api/stock/transfer';
import {transferDetail} from '@/api/stock/transfer';
import * as DateFormatter from '@/utils/DateFormatter';
import winMd from '@/components/win/win-md';
import transfer from '../../../mixins/transfer';
admin-web/src/views/stock/transfer/transferissue/index.vue
@@ -102,13 +102,13 @@
</template>
<script>
import { transferList, transferOutput } from '@/api/stock/transfer';
import {transferList, transferOutput} from '@/api/stock/transfer';
import MyButton from '@/components/myButton/myButton';
import myImport from '@/views/components/myImport';
import detail from './detail';
import listPage from '../../../mixins/listPage';
import transfer from '../../../mixins/transfer';
import { commonsApi } from '@/api/commonsApi';
import {commonsApi} from '@/api/commonsApi';
import SettingIplatform from '@/utils/settingIplatform';
export default {
admin-web/src/views/systemManger/org/index.vue
@@ -38,8 +38,7 @@
import edit from './edit'
import * as finsystenant from '@/api/baseSetting/finsystenant'
import myImport from '@/views/components/myImport'
import {updStatus} from "@/api/baseSetting/finsystenant";
import {getBaseUrl, getUploadUrl} from '@/utils/base';
import {getBaseUrl} from '@/utils/base';
export default {
  name: "index",
admin-web/src/views/systemManger/server/user/edit.vue
@@ -66,14 +66,14 @@
</template>
<script>
    import winSm from '@/components/win/win-sm'
    import myButton from '@/components/myButton/myButton'
    import * as DateFormatter from '@/utils/DateFormatter'
    import * as role from "@/api/system/role";
    import * as user from "@/api/user";
    import {departmentListAll} from "@/api/system/deptment";
import winSm from '@/components/win/win-sm'
import myButton from '@/components/myButton/myButton'
import * as DateFormatter from '@/utils/DateFormatter'
import * as role from "@/api/system/role";
import * as user from "@/api/user";
import {departmentListAll} from "@/api/system/deptment";
    export default {
export default {
        components: {winSm, myButton},
        props: {
            // setting 中须至少包含控制dialog显示或隐藏的属性,其余属性可拓展
admin-web/src/views/systemManger/server/user/editRole.vue
@@ -21,6 +21,7 @@
import myButton from '@/components/myButton/myButton'
import * as role from "@/api/system/role";
import * as user from "@/api/user";
export default {
  components: { win, myButton },
  props: {
admin-web/src/views/systemManger/server/user/index.vue
@@ -44,7 +44,6 @@
import edit from './edit';
import editRole from './editRole';
import * as finsystenant from '@/api/baseSetting/finsystenant';
import * as DateFormatter from '@/utils/DateFormatter';
import * as user from '@/api/user';
export default {
admin-web/src/views/systemSetting/department/data.vue
@@ -197,8 +197,8 @@
</template>
<script>
import { listData, getData, delData, addData, updateData } from "@/api/system/dict/data";
import { optionselect as getDictOptionselect, getType } from "@/api/system/dict/type";
import {addData, delData, getData, listData, updateData} from "@/api/system/dict/data";
import {getType, optionselect as getDictOptionselect} from "@/api/system/dict/type";
export default {
  name: "Data",
admin-web/src/views/systemSetting/department/edit.vue
@@ -44,12 +44,11 @@
</template>
<script>
import { departmentAdd, departmentEdit, departmentDetail } from '@/api/system/deptment';
import {departmentAdd, departmentDetail, departmentEdit} from '@/api/system/deptment';
import winSm from '@/components/win/win-sm';
import myButton from '@/components/myButton/myButton';
import * as finsystenant from '@/api/baseSetting/finsystenant';
import { findParentIds } from '@/utils/index';
import { mapGetters } from 'vuex';
import {findParentIds} from '@/utils/index';
export default {
  components: { winSm, myButton },
admin-web/src/views/systemSetting/department/index.vue
@@ -30,12 +30,11 @@
<script>
import myTree from '@/components/myTree/index';
import { listType, getType, delType, addType, updateType, refreshCache } from '@/api/system/dict/type';
import * as DateFormatter from '@/utils/DateFormatter';
import MyTableV2 from '@/components/myTable/myTableV2';
import SettingIplatform from '@/utils/settingIplatform';
import edit from './edit';
import * as finsystenant from '@/api/baseSetting/finsystenant';
export default {
  name: 'Dict',
  components: { MyTableV2, myTree, edit },
admin-web/src/views/systemSetting/dept/index.vue
@@ -186,7 +186,7 @@
</template>
<script>
import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from "@/api/system/dept";
import {addDept, delDept, getDept, listDept, updateDept} from "@/api/system/dept";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
admin-web/src/views/systemSetting/dict/data.vue
@@ -197,8 +197,8 @@
</template>
<script>
import { listData, getData, delData, addData, updateData } from "@/api/system/dict/data";
import { optionselect as getDictOptionselect, getType } from "@/api/system/dict/type";
import {addData, delData, getData, listData, updateData} from "@/api/system/dict/data";
import {getType, optionselect as getDictOptionselect} from "@/api/system/dict/type";
export default {
  name: "Data",
admin-web/src/views/systemSetting/dict/index.vue
@@ -128,12 +128,13 @@
<script>
import myTree from '@/components/myTree/index';
import { listType, getType, delType, addType, updateType, refreshCache } from "@/api/system/dict/type";
import {addType, delType, getType, listType, refreshCache, updateType} from "@/api/system/dict/type";
import * as DateFormatter from "@/utils/DateFormatter";
import MyTableV2 from "@/components/myTable/myTableV2";
import SettingIplatform from '@/utils/settingIplatform';
import items from './items'
import * as finsystenant from '@/api/baseSetting/finsystenant';
export default {
  name: "Dict",
  components: { MyTableV2, myTree },
admin-web/src/views/systemSetting/menu/index.vue
@@ -279,7 +279,7 @@
</template>
<script>
import {listMenu, getMenu, delMenu, addMenu, updateMenu} from "@/api/system/menu";
import {addMenu, delMenu, getMenu, listMenu, updateMenu} from "@/api/system/menu";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
// import IconSelect from "@/components/RuoYi/IconSelect";
admin-web/src/views/systemSetting/role/authUser.vue
@@ -109,7 +109,7 @@
</template>
<script>
import { allocatedUserList, authUserCancel, authUserCancelAll } from "@/api/system/role";
import {allocatedUserList, authUserCancel, authUserCancelAll} from "@/api/system/role";
import selectUser from "./selectUser";
export default {
admin-web/src/views/systemSetting/role/index.vue
@@ -176,9 +176,9 @@
</template>
<script>
import {listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus} from "@/api/system/role";
import {treeselect as menuTreeselect, roleMenuTreeselect} from "@/api/system/menu";
import {treeselect as deptTreeselect, roleDeptTreeselect, listOrgRoot} from "@/api/system/dept";
import {addRole, changeRoleStatus, dataScope, delRole, getRole, listRole, updateRole} from "@/api/system/role";
import {roleMenuTreeselect, treeselect as menuTreeselect} from "@/api/system/menu";
import {listOrgRoot, roleDeptTreeselect, treeselect as deptTreeselect} from "@/api/system/dept";
import MyTableV2 from "@/components/myTable/myTableV2";
import SettingIplatform from '@/utils/settingIplatform';
import items from './items'
@@ -291,7 +291,7 @@
          {title: '权限字符', field: 'role_key', align: 'center',},
          {title: '顺序号', field: 'role_sort', align: 'center',},
          {
            title: '状态', field: 'status', align: 'center',
            title: '状态', field: 'status', align: 'center',
            switch: row => {
              const result = {}
              if (row.status == 0) {
admin-web/src/views/systemSetting/role/selectUser.vue
@@ -65,7 +65,8 @@
</template>
<script>
import { unallocatedUserList, authUserSelectAll } from "@/api/system/role";
import {authUserSelectAll, unallocatedUserList} from "@/api/system/role";
export default {
  props: {
    // 角色编号
admin-web/src/views/systemSetting/user/authRole.vue
@@ -46,7 +46,7 @@
</template>
<script>
import { getAuthRole, updateAuthRole } from "@/api/system/user";
import {getAuthRole, updateAuthRole} from "@/api/system/user";
export default {
  name: "AuthRole",
admin-web/src/views/systemSetting/user/index.vue
@@ -312,23 +312,23 @@
</template>
<script>
  import {
    addUser,
    changeUserStatus,
    delUser,
    getNewUserRoles,
    getUser,
    listUser,
    resetUserPwd,
    updateUser
  } from "@/api/system/user";
  import {getToken} from "@/utils/auth";
  import {listOrgRootTree, treeselect} from "@/api/system/dept";
  import Treeselect from "@riophae/vue-treeselect";
  import "@riophae/vue-treeselect/dist/vue-treeselect.css";
  import {apiBaseURL} from "@/settings";
import {
  addUser,
  changeUserStatus,
  delUser,
  getNewUserRoles,
  getUser,
  listUser,
  resetUserPwd,
  updateUser
} from "@/api/system/user";
import {getToken} from "@/utils/auth";
import {listOrgRootTree, treeselect} from "@/api/system/dept";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import {apiBaseURL} from "@/settings";
  export default {
export default {
  name: "User",
  // dicts: ['sys_normal_disable', 'sys_user_sex'],
  components: { Treeselect },
admin-web/src/views/systemSetting/user/profile/userInfo.vue
@@ -34,8 +34,8 @@
</template>
<script>
import { mapGetters } from "vuex";
import {updatePerson,getCurInfo} from "@/api/user";
import {mapGetters} from "vuex";
import {getCurInfo, updatePerson} from "@/api/user";
import {getDownUrl, upLoadFile} from "@/utils/base";
export default {