| | |
| | | // 上传路径 |
| | | 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时会输出请求日志 |
| | | }; |
New file |
| | |
| | | |
| | | import request from '@/utils/request'; |
| | | // 物品查询导出 |
| | | export function doExport(params) { |
| | | return request({ |
| | | url: '/pc/fin/warehouse/ledger/getDeptListExport', |
| | | responseType: 'blob', // 指定响应数据类型为Blob |
| | | method: 'post', |
| | | params, |
| | | }); |
| | | } |
| | |
| | | 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 |
| | | }) |
| | | } |
| | |
| | | import request from '@/utils/request' |
| | | import SettingIplatform from '@/utils/settingIplatform'; |
| | | |
| | | export function userSelectDepartment(params) { |
| | | return request({ |
| | |
| | | method: 'get', |
| | | params |
| | | }) |
| | | } |
| | | } |
| | |
| | | // +---------------------------------------------------------------------- |
| | | |
| | | import request from '@/utils/request'; |
| | | |
| | | /** |
| | | * @description 短信发送记录 -- 列表 |
| | | */ |
| | |
| | | import request from '@/utils/request' |
| | | import { isEmptyValue } from "@/utils/StringUtils"; |
| | | |
| | | // 查询用户列表 |
| | | export function listUser(query) { |
| | |
| | | <script> |
| | | import Fuse from 'fuse.js'; |
| | | import path from 'path'; |
| | | import { mapGetters } from 'vuex'; |
| | | import {mapGetters} from 'vuex'; |
| | | |
| | | export default { |
| | | name: 'HeaderSearch', |
| | | data() { |
| | |
| | | // | 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', |
| | |
| | | // | Author: CRMEB Team <admin@crmeb.com> |
| | | // +---------------------------------------------------------------------- |
| | | import echarts from 'echarts'; |
| | | |
| | | export default { |
| | | name: 'Index', |
| | | props: { |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import {formatDates} from '@/utils/index'; |
| | | import request from '@/utils/request'; |
| | | |
| | | function trim(str) { |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { formatDates } from '@/utils/index'; |
| | | import {formatDates} from '@/utils/index'; |
| | | import request from '@/utils/request'; |
| | | |
| | | function trim(str) { |
| | |
| | | import mySwitch from '@/components/mySwitch/mySwitch' |
| | | import request from '@/utils/request' |
| | | import * as valid from '@/utils/validate' |
| | | |
| | | export default { |
| | | components: { myButton, mySwitch }, |
| | | props: { |
| | |
| | | import mySwitch from '@/components/mySwitch/mySwitch' |
| | | import request from '@/utils/request' |
| | | import * as valid from '@/utils/validate' |
| | | |
| | | export default { |
| | | components: { myButton, mySwitch }, |
| | | props: { |
| | |
| | | </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' |
| | | |
| | |
| | | // | Author: CRMEB Team <admin@crmeb.com> |
| | | // +---------------------------------------------------------------------- |
| | | |
| | | import { Message } from 'element-ui'; |
| | | import {Message} from 'element-ui'; |
| | | |
| | | const vCopy = { |
| | | // 名字爱取啥取啥 |
| | |
| | | |
| | | import hasRole from './permission/hasRole'; |
| | | import hasPermi from './permission/hasPermi'; |
| | | import dialogDrag from './dialog/drag'; |
| | |
| | | |
| | | import store from '@/store'; |
| | | |
| | | export default { |
| | |
| | | |
| | | import store from '@/store'; |
| | | |
| | | export default { |
| | |
| | | |
| | | import * as constants from '@/utils/constants.js'; |
| | | import { formatDates } from '@/utils/index'; |
| | | import {formatDates} from '@/utils/index'; |
| | | |
| | | // 公共过滤器 |
| | | export function filterEmpty(val) { |
| | |
| | | |
| | | //小程序 微信过滤器 |
| | | import Cookies from 'js-cookie'; |
| | | |
| | | /** |
| | | * @description 小程序所属类目 |
| | | */ |
| | |
| | | <script> |
| | | import {mapGetters} from 'vuex' |
| | | import {getDownUrl} from "@/utils/base"; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { isExternal } from '@/utils/validate'; |
| | | import {isExternal} from '@/utils/validate'; |
| | | |
| | | export default { |
| | | props: { |
| | |
| | | </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(){ |
| | |
| | | // +---------------------------------------------------------------------- |
| | | |
| | | 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 = { |
| | |
| | | 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; |
| | |
| | | // +---------------------------------------------------------------------- |
| | | |
| | | 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'; |
| | |
| | | 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'; |
| | |
| | | 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; |
| | |
| | | }, delayTime); |
| | | }, |
| | | }); |
| | | import '@/mock' |
| | | new Vue({ |
| | | el: '#app', |
| | | router, |
| | |
| | | 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 |
| | |
| | | |
| | | import store from '@/store'; |
| | | |
| | | function authPermission(permission) { |
| | |
| | | // | 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; |
| | | |
| | |
| | | // | Author: CRMEB Team <admin@crmeb.com> |
| | | // +--------------------------------------------------------------------- |
| | | |
| | | import { Message, MessageBox, Notification, Loading } from 'element-ui'; |
| | | import {Loading, Message, MessageBox, Notification} from 'element-ui'; |
| | | |
| | | let loadingInstance; |
| | | |
| | |
| | | |
| | | 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 |
| | |
| | | |
| | | import Cookies from 'js-cookie'; |
| | | |
| | | const state = { |
| | |
| | | |
| | | 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 = { |
| | |
| | | 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(), |
| | |
| | | |
| | | import store from '@/store'; |
| | | |
| | | /** |
| | |
| | | import Cookies from 'js-cookie'; |
| | | import storage from 'store'; |
| | | |
| | | const TokenKey = 'iplatform_token'; |
| | | const userKey = 'user' |
| | | const userInfo = 'userInfo' |
| | |
| | | |
| | | 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 |
| | |
| | | import Vue from 'vue' |
| | | |
| | | export default new Vue() |
| | |
| | | import FileSaver from 'file-saver'; |
| | | import * as XLSX from 'xlsx' |
| | | |
| | | export default { |
| | | // 导出Excel表格 |
| | | exportExcel(excelName, tableName) { |
| | |
| | | import Cookies from 'js-cookie'; |
| | | |
| | | /** |
| | | * Created by PanJiaChen on 16/11/18. |
| | | */ |
| | |
| | | } |
| | | |
| | | return parentIds; // 返回所有父节点ID的数组 |
| | | } |
| | | } |
| | |
| | | // +---------------------------------------------------------------------- |
| | | // | Author: CRMEB Team <admin@crmeb.com> |
| | | // +---------------------------------------------------------------------- |
| | | import { export_json_to_excel } from '../vendor/Export1Excel'; |
| | | import {export_json_to_excel} from '../vendor/Export1Excel'; |
| | | |
| | | /** |
| | | * @method exportExcel |
| | |
| | | |
| | | import config from '../../public/static/config.js' |
| | | |
| | | const SettingIplatform = { |
| | | // 上传路径 |
| | | ftpUrl: config.ftpUrl, |
| | |
| | | } else { |
| | | result = '调拨出库'; |
| | | } |
| | | } else if (row.businessType == 4) { |
| | | if (row.thisType == 1) { |
| | | result = '退还入库'; |
| | | } else { |
| | | result = '申领出库'; |
| | | } |
| | | } else { |
| | | result = arr[row.businessType - 1]; |
| | | } |
| | |
| | | // +---------------------------------------------------------------------- |
| | | |
| | | /* eslint-disable */ |
| | | import { saveAs } from 'file-saver'; |
| | | import {saveAs} from 'file-saver'; |
| | | import XLSX from 'xlsx'; |
| | | |
| | | function generateArray(table) { |
| | |
| | | // +--------------------------------------------------------------------- |
| | | |
| | | /* 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) { |
| | |
| | | </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: { |
| | |
| | | </template> |
| | | <script> |
| | | import * as echarts from 'echarts'; |
| | | import * as dash from "@/api/dashboard/dash"; |
| | | |
| | | export default { |
| | | name: 'LBJETJ', |
| | |
| | | |
| | | <script> |
| | | import echarts from 'echarts'; |
| | | |
| | | let cityChart = null; |
| | | export default { |
| | | name: 'city-score', |
| | |
| | | |
| | | <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'; |
| | |
| | | |
| | | <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}, |
| | |
| | | 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', |
| | |
| | | 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', |
| | |
| | | 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', |
| | |
| | | // 列信息 |
| | | 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 + '类'}; |
| | |
| | | { |
| | | title: '使用人', |
| | | type: 'primary', |
| | | hidden: (row) => { |
| | | return row.type!=='A' |
| | | hidden: (row) => { |
| | | return row.type !== 'A' |
| | | }, |
| | | events: (row) => { |
| | | this.handleEdit(row); |
| | |
| | | </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}} |
| | |
| | | </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"; |
| | |
| | | </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'; |
| | |
| | | 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"; |
| | | |
| | |
| | | </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'; |
| | | |
| | |
| | | </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 }, |
| | |
| | | </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'; |
| | |
| | | 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'; |
| | | |
| | |
| | | </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'; |
| | | |
| | |
| | | </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 }, |
| | |
| | | </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'; |
| | |
| | | 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", |
| | |
| | | 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' |
| | | }], |
| | | }, |
| | | ], |
| | | // 树数据 |
| | |
| | | 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: { |
| | |
| | | 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) { |
| | |
| | | </el-card> |
| | | </el-container> |
| | | </el-container> |
| | | <my-import |
| | | :import-setting="importSetting" |
| | | :dialog-show="importSetting.dialogShow" |
| | | :dialog-title="importSetting.dialogTitle" |
| | | /> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | 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 { |
| | | // 搜索框 |
| | |
| | | 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: '', |
| | | }, |
| | |
| | | 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: '', |
| | |
| | | table: { |
| | | showIndex: true, // 是否显示序号 |
| | | expand: false, // 是否显示详情数据 |
| | | url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/list', // 请求地址 |
| | | url: SettingIplatform.apiBaseURL + '/pc/warehouse/flow/getTaiZhangList', // 请求地址 |
| | | // 工具条 |
| | | tools: { |
| | | columnsCtrl: { |
| | |
| | | }, |
| | | 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, // 显示分页 |
| | | // 分页信息 |
| | |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped></style> |
| | |
| | | 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: { |
| | |
| | | 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', |
| | |
| | | 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 }, |
| | |
| | | </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', |
| | |
| | | // +--------------------------------------------------------------------- |
| | | |
| | | // import iHeaderI18n from '@/layouts/basic-layout/header-i18n'; |
| | | import { mapState } from 'vuex'; |
| | | import {mapState} from 'vuex'; |
| | | |
| | | export default { |
| | | // components: { iHeaderI18n }, |
| | |
| | | import * as DateFormatter from '@/utils/DateFormatter'; |
| | | import { mapGetters } from 'vuex'; |
| | | import {mapGetters} from 'vuex'; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | this.search(1); |
| | | }, |
| | | } |
| | | } |
| | | } |
| | |
| | | <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="在库/在用数量" |
| | |
| | | </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="总数量" |
| | |
| | | </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: [ |
| | |
| | | </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'; |
| | | |
| | |
| | | </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 }, |
| | |
| | | </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'; |
| | |
| | | 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', |
| | |
| | | <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: { |
| | |
| | | </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 }, |
| | |
| | | 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', |
| | |
| | | <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: { |
| | |
| | | label: 'label', |
| | | value: 'id', |
| | | url: SettingIplatform.apiBaseURL + '/pc/base/category/select/tree', |
| | | props: {checkStrictly: false} |
| | | props: {checkStrictly: false, emitPath: false, value: 'id'} |
| | | }, |
| | | }, |
| | | { |
| | |
| | | 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) { |
| | |
| | | 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 }, |
| | |
| | | <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> |
| | |
| | | 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 { |
| | | // 搜索框 |
| | |
| | | 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', |
| | |
| | | placeholder: '请输入', |
| | | defaultValue: '', |
| | | options: [], |
| | | cascader: [{ key: 'categoryId', queryKey: 'goodsTemplatesId' }], |
| | | cascader: [{key: 'categoryId', queryKey: 'goodsTemplatesId'}], |
| | | optionsConfig: { |
| | | label: 'goodsName', |
| | | value: 'id', |
| | |
| | | label: 'label', |
| | | value: 'id', |
| | | url: SettingIplatform.apiBaseURL + '/pc/base/category/select/tree', |
| | | props: { checkStrictly: false }, |
| | | props: {checkStrictly: false, emitPath: false, value: 'id'} |
| | | }, |
| | | }, |
| | | { |
| | |
| | | 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: { |
| | |
| | | }, |
| | | // 列信息 |
| | | 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: { |
| | |
| | | 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(); |
| | | }); |
| | |
| | | <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> |
| | |
| | | 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 { |
| | | // 搜索框 |
| | |
| | | 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', |
| | |
| | | placeholder: '请输入', |
| | | defaultValue: '', |
| | | options: [], |
| | | cascader: [{key:'categoryId',queryKey: 'goodsTemplatesId'}], |
| | | cascader: [{key: 'categoryId', queryKey: 'goodsTemplatesId'}], |
| | | optionsConfig: { |
| | | label: 'goodsName', |
| | | value: 'id', |
| | |
| | | label: 'label', |
| | | value: 'id', |
| | | url: SettingIplatform.apiBaseURL + '/pc/base/category/select/tree', |
| | | props:{checkStrictly:false} |
| | | props: {checkStrictly: false, emitPath: false, value: 'id'} |
| | | }, |
| | | }, |
| | | { |
| | |
| | | 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' |
| | | }], |
| | | }, |
| | | ], |
| | |
| | | treeDataList: [], |
| | | // 搜索条件 |
| | | filterFrom: { |
| | | warehouseType:0 |
| | | warehouseType: 0 |
| | | }, |
| | | // 表格数据 |
| | | table: { |
| | |
| | | }, |
| | | // 列信息 |
| | | 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, // 显示分页 |
| | |
| | | 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列表 |
| | |
| | | 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' |
| | | |
| | |
| | | </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'; |
| | | |
| | |
| | | </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 }, |
| | |
| | | </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 { |
| | |
| | | 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', |
| | |
| | | </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; |
| | | |
| | |
| | | </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 }, |
| | |
| | | </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 { |
| | |
| | | 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 { |
| | |
| | | </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'; |
| | |
| | | </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 }, |
| | |
| | | </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 { |
| | |
| | | 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 { |
| | |
| | | </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'; |
| | |
| | | </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 { |
| | |
| | | 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", |
| | |
| | | </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显示或隐藏的属性,其余属性可拓展 |
| | |
| | | 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: { |
| | |
| | | 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 { |
| | |
| | | </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", |
| | |
| | | </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 }, |
| | |
| | | |
| | | <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 }, |
| | |
| | | </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"; |
| | | |
| | |
| | | </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", |
| | |
| | | |
| | | <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 }, |
| | |
| | | </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"; |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { allocatedUserList, authUserCancel, authUserCancelAll } from "@/api/system/role"; |
| | | import {allocatedUserList, authUserCancel, authUserCancelAll} from "@/api/system/role"; |
| | | import selectUser from "./selectUser"; |
| | | |
| | | export default { |
| | |
| | | </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' |
| | |
| | | {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) { |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { unallocatedUserList, authUserSelectAll } from "@/api/system/role"; |
| | | import {authUserSelectAll, unallocatedUserList} from "@/api/system/role"; |
| | | |
| | | export default { |
| | | props: { |
| | | // 角色编号 |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getAuthRole, updateAuthRole } from "@/api/system/user"; |
| | | import {getAuthRole, updateAuthRole} from "@/api/system/user"; |
| | | |
| | | export default { |
| | | name: "AuthRole", |
| | |
| | | </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 }, |
| | |
| | | </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 { |