Commit 6f59443b authored by zqm's avatar zqm

提交代码

parent f99d6895
{
"presets": [
["env", {
"modules": false,
"targets": {
"browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
}
}],
"stage-2"
],
"plugins": ["transform-vue-jsx", "transform-runtime"]
}
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
.DS_Store
node_modules/
/dist/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
// https://github.com/michael-ciniawsky/postcss-load-config
module.exports = {
"plugins": {
"postcss-import": {},
"postcss-url": {},
// to edit target browsers: use "browserslist" field in package.json
"autoprefixer": {}
}
}
# taxformtoolframework
> A Vue.js project
## Build Setup
``` bash
# install dependencies
npm install
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
npm run build
# build for production and view the bundle analyzer report
npm run build --report
```
For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).
'use strict'
require('./check-versions')()
process.env.NODE_ENV = 'production'
const ora = require('ora')
const rm = require('rimraf')
const path = require('path')
const chalk = require('chalk')
const webpack = require('webpack')
const config = require('../config')
const webpackConfig = require('./webpack.prod.conf')
const spinner = ora('building for production...')
spinner.start()
rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
if (err) throw err
webpack(webpackConfig, (err, stats) => {
spinner.stop()
if (err) throw err
process.stdout.write(stats.toString({
colors: true,
modules: false,
children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
chunks: false,
chunkModules: false
}) + '\n\n')
if (stats.hasErrors()) {
console.log(chalk.red(' Build failed with errors.\n'))
process.exit(1)
}
console.log(chalk.cyan(' Build complete.\n'))
console.log(chalk.yellow(
' Tip: built files are meant to be served over an HTTP server.\n' +
' Opening index.html over file:// won\'t work.\n'
))
})
})
'use strict'
const chalk = require('chalk')
const semver = require('semver')
const packageConfig = require('../package.json')
const shell = require('shelljs')
function exec (cmd) {
return require('child_process').execSync(cmd).toString().trim()
}
const versionRequirements = [
{
name: 'node',
currentVersion: semver.clean(process.version),
versionRequirement: packageConfig.engines.node
}
]
if (shell.which('npm')) {
versionRequirements.push({
name: 'npm',
currentVersion: exec('npm --version'),
versionRequirement: packageConfig.engines.npm
})
}
module.exports = function () {
const warnings = []
for (let i = 0; i < versionRequirements.length; i++) {
const mod = versionRequirements[i]
if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
warnings.push(mod.name + ': ' +
chalk.red(mod.currentVersion) + ' should be ' +
chalk.green(mod.versionRequirement)
)
}
}
if (warnings.length) {
console.log('')
console.log(chalk.yellow('To use this template, you must update following to modules:'))
console.log()
for (let i = 0; i < warnings.length; i++) {
const warning = warnings[i]
console.log(' ' + warning)
}
console.log()
process.exit(1)
}
}
'use strict'
const path = require('path')
const config = require('../config')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const packageConfig = require('../package.json')
exports.assetsPath = function (_path) {
const assetsSubDirectory = process.env.NODE_ENV === 'production'
? config.build.assetsSubDirectory
: config.dev.assetsSubDirectory
return path.posix.join(assetsSubDirectory, _path)
}
exports.cssLoaders = function (options) {
options = options || {}
const cssLoader = {
loader: 'css-loader',
options: {
sourceMap: options.sourceMap
}
}
const postcssLoader = {
loader: 'postcss-loader',
options: {
sourceMap: options.sourceMap
}
}
// generate loader string to be used with extract text plugin
function generateLoaders (loader, loaderOptions) {
const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
if (loader) {
loaders.push({
loader: loader + '-loader',
options: Object.assign({}, loaderOptions, {
sourceMap: options.sourceMap
})
})
}
// Extract CSS when that option is specified
// (which is the case during production build)
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
}
// https://vue-loader.vuejs.org/en/configurations/extract-css.html
return {
css: generateLoaders(),
postcss: generateLoaders(),
less: generateLoaders('less'),
sass: generateLoaders('sass', { indentedSyntax: true }),
scss: generateLoaders('sass'),
stylus: generateLoaders('stylus'),
styl: generateLoaders('stylus')
}
}
// Generate loaders for standalone style files (outside of .vue)
exports.styleLoaders = function (options) {
const output = []
const loaders = exports.cssLoaders(options)
for (const extension in loaders) {
const loader = loaders[extension]
output.push({
test: new RegExp('\\.' + extension + '$'),
use: loader
})
}
return output
}
exports.createNotifierCallback = () => {
const notifier = require('node-notifier')
return (severity, errors) => {
if (severity !== 'error') return
const error = errors[0]
const filename = error.file && error.file.split('!').pop()
notifier.notify({
title: packageConfig.name,
message: severity + ': ' + error.name,
subtitle: filename || '',
icon: path.join(__dirname, 'logo.png')
})
}
}
'use strict'
const utils = require('./utils')
const config = require('../config')
const isProduction = process.env.NODE_ENV === 'production'
const sourceMapEnabled = isProduction
? config.build.productionSourceMap
: config.dev.cssSourceMap
module.exports = {
loaders: utils.cssLoaders({
sourceMap: sourceMapEnabled,
extract: isProduction
}),
cssSourceMap: sourceMapEnabled,
cacheBusting: config.dev.cacheBusting,
transformToRequire: {
video: ['src', 'poster'],
source: 'src',
img: 'src',
image: 'xlink:href'
}
}
'use strict'
const path = require('path')
const utils = require('./utils')
const config = require('../config')
const vueLoaderConfig = require('./vue-loader.conf')
function resolve (dir) {
return path.join(__dirname, '..', dir)
}
module.exports = {
context: path.resolve(__dirname, '../'),
entry: {
app: './src/main.js'
},
output: {
path: config.build.assetsRoot,
filename: '[name].js',
publicPath: process.env.NODE_ENV === 'production'
? config.build.assetsPublicPath
: config.dev.assetsPublicPath
},
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
}
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: vueLoaderConfig
},
{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]
},
{
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('img/[name].[hash:7].[ext]')
}
},
{
test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('media/[name].[hash:7].[ext]')
}
},
{
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
}
}
]
},
node: {
// prevent webpack from injecting useless setImmediate polyfill because Vue
// source contains it (although only uses it if it's native).
setImmediate: false,
// prevent webpack from injecting mocks to Node native modules
// that does not make sense for the client
dgram: 'empty',
fs: 'empty',
net: 'empty',
tls: 'empty',
child_process: 'empty'
},
externals: {
'vue': 'Vue',
'vue-router':'VueRouter',
'vuex':'Vuex',
'element-ui': 'ELEMENT',
'jquery':'$',
'axios':'axios',
'echarts':'echarts',
'jspdf': 'jspdf',
'jszip':'jszip',
}
}
'use strict'
const utils = require('./utils')
const webpack = require('webpack')
const config = require('../config')
const merge = require('webpack-merge')
const path = require('path')
const baseWebpackConfig = require('./webpack.base.conf')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
const portfinder = require('portfinder')
const HOST = process.env.HOST
const PORT = process.env.PORT && Number(process.env.PORT)
const devWebpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
},
// cheap-module-eval-source-map is faster for development
devtool: config.dev.devtool,
// these devServer options should be customized in /config/index.js
devServer: {
clientLogLevel: 'warning',
historyApiFallback: {
rewrites: [
{ from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
],
},
hot: true,
contentBase: false, // since we use CopyWebpackPlugin.
compress: true,
host: HOST || config.dev.host,
port: PORT || config.dev.port,
open: config.dev.autoOpenBrowser,
overlay: config.dev.errorOverlay
? { warnings: false, errors: true }
: false,
publicPath: config.dev.assetsPublicPath,
proxy: config.dev.proxyTable,
quiet: true, // necessary for FriendlyErrorsPlugin
watchOptions: {
poll: config.dev.poll,
}
},
plugins: [
new webpack.DefinePlugin({
'process.env': require('../config/dev.env')
}),
new webpack.HotModuleReplacementPlugin(),
new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
new webpack.NoEmitOnErrorsPlugin(),
// https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'index.html',
inject: true
}),
// copy custom static assets
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../static'),
to: config.dev.assetsSubDirectory,
ignore: ['.*']
}
])
]
})
module.exports = new Promise((resolve, reject) => {
portfinder.basePort = process.env.PORT || config.dev.port
portfinder.getPort((err, port) => {
if (err) {
reject(err)
} else {
// publish the new Port, necessary for e2e tests
process.env.PORT = port
// add port to devServer config
devWebpackConfig.devServer.port = port
// Add FriendlyErrorsPlugin
devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
compilationSuccessInfo: {
messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
},
onErrors: config.dev.notifyOnErrors
? utils.createNotifierCallback()
: undefined
}))
resolve(devWebpackConfig)
}
})
})
'use strict'
const path = require('path')
const utils = require('./utils')
const webpack = require('webpack')
const config = require('../config')
const merge = require('webpack-merge')
const baseWebpackConfig = require('./webpack.base.conf')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
const env = require('../config/prod.env')
const webpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({
sourceMap: config.build.productionSourceMap,
extract: true,
usePostCSS: true
})
},
devtool: config.build.productionSourceMap ? config.build.devtool : false,
output: {
path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].[chunkhash].js'),
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
},
plugins: [
// http://vuejs.github.io/vue-loader/en/workflow/production.html
new webpack.DefinePlugin({
'process.env': env
}),
new UglifyJsPlugin({
uglifyOptions: {
compress: {
warnings: false
}
},
sourceMap: config.build.productionSourceMap,
parallel: true
}),
// extract css into its own file
new ExtractTextPlugin({
filename: utils.assetsPath('css/[name].[contenthash].css'),
// Setting the following option to `false` will not extract CSS from codesplit chunks.
// Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
// It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`,
// increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
allChunks: true,
}),
// Compress extracted CSS. We are using this plugin so that possible
// duplicated CSS from different components can be deduped.
new OptimizeCSSPlugin({
cssProcessorOptions: config.build.productionSourceMap
? { safe: true, map: { inline: false } }
: { safe: true }
}),
// generate dist index.html with correct asset hash for caching.
// you can customize output by editing /index.html
// see https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: config.build.index,
template: 'index.html',
inject: true,
minify: {
removeComments: true,
collapseWhitespace: true,
removeAttributeQuotes: true
// more options:
// https://github.com/kangax/html-minifier#options-quick-reference
},
// necessary to consistently work with multiple chunks via CommonsChunkPlugin
chunksSortMode: 'dependency'
}),
// keep module.id stable when vendor modules does not change
new webpack.HashedModuleIdsPlugin(),
// enable scope hoisting
new webpack.optimize.ModuleConcatenationPlugin(),
// split vendor js into its own file
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks (module) {
// any required modules inside node_modules are extracted to vendor
return (
module.resource &&
/\.js$/.test(module.resource) &&
module.resource.indexOf(
path.join(__dirname, '../node_modules')
) === 0
)
}
}),
// extract webpack runtime and module manifest to its own file in order to
// prevent vendor hash from being updated whenever app bundle is updated
new webpack.optimize.CommonsChunkPlugin({
name: 'manifest',
minChunks: Infinity
}),
// This instance extracts shared chunks from code splitted chunks and bundles them
// in a separate chunk, similar to the vendor chunk
// see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
new webpack.optimize.CommonsChunkPlugin({
name: 'app',
async: 'vendor-async',
children: true,
minChunks: 3
}),
// copy custom static assets
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../static'),
to: config.build.assetsSubDirectory,
ignore: ['.*']
}
])
]
})
if (config.build.productionGzip) {
const CompressionWebpackPlugin = require('compression-webpack-plugin')
webpackConfig.plugins.push(
new CompressionWebpackPlugin({
asset: '[path].gz[query]',
algorithm: 'gzip',
test: new RegExp(
'\\.(' +
config.build.productionGzipExtensions.join('|') +
')$'
),
threshold: 10240,
minRatio: 0.8
})
)
}
if (config.build.bundleAnalyzerReport) {
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
webpackConfig.plugins.push(new BundleAnalyzerPlugin())
}
module.exports = webpackConfig
'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"'
})
/*
* @Author: your name
* @Date: 2020-12-02 09:46:53
* @LastEditTime: 2021-07-07 09:55:57
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \taxservicedesk-master\config\index.js
*/
'use strict'
// Template version: 1.3.1
// see http://vuejs-templates.github.io/webpack for documentation.
const path = require('path')
module.exports = {
dev: {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
// 云代账平台测试环境
'/htftsolu': {
target: 'http://dev-agency.htyfw.com.cn/taxreturnhtykj/htftsoluData', //设置你调用的接口域名和端口号 别忘了加http
changeOrigin: true,
pathRewrite: {
'^/htftsolu': '' //这里理解成用‘/api’代替target里面的地址,后面组件中我们掉接口时直接用api代替 比如我要调用'http://40.00.100.100:3002/user/add',直接写‘/api/user/add’即可
}
},
'/ssfwpt': { // 测试:114.115.168.201 卢世豪:192.168.106.17 罗德影:192.168.106.240 陈天阳192.168.101.55
target: 'http://114.115.168.201/ssfwpt',
changeOrigin: true,
pathRewrite: {
'^/ssfwpt': ''
}
},
'/online': { // 测试:114.115.168.201 卢世豪:192.168.106.17 罗德影:192.168.106.240 陈天阳192.168.101.55
target: 'http://114.115.168.201/online',
changeOrigin: true,
pathRewrite: {
'^/online': ''
}
},
'/property_tax_plugin': {
// 测试:114.115.168.201 卢世豪:192.168.106.17 罗德影:192.168.106.240:14321 陈天阳192.168.101.55:14321 孟博 http://192.168.106.17:14321
// target: 'http://192.168.106.240:14321/property_tax_plugin',
target: 'http://114.115.168.201/property_tax_plugin', // 测试
changeOrigin: true,
pathRewrite: {
'^/property_tax_plugin': ''
}
},
'/engineJson/': {
target: 'http://192.168.106.201:8080/middleJson', //设置你调用的接口域名和端口号 别忘了加http
changeOrigin: true,
pathRewrite: {
'^/engineJson/': '' //这里理解成用‘/api’代替target里面的地址,后面组件中我们掉接口时直接用api代替 比如我要调用'http://40.00.100.100:3002/user/add',直接写‘/api/user/add’即可
}
},
'/api': {
target: 'http://192.168.106.201:8085/', //不要写localhost
changeOrigin: true, //true允许跨域
pathRewrite: {
'^/api': '' //需要rewrite重写的, 如果在服务器端做了处理则可以不要这段
}
},
},
// Various Dev Server settings
host: '192.168.106.206', // can be overwritten by process.env.HOST
port: 8011, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser: false,
errorOverlay: true,
notifyOnErrors: true,
poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
/**
* Source Maps
*/
// https://webpack.js.org/configuration/devtool/#development
devtool: 'cheap-module-eval-source-map',
// devtool:'source-map',
// If you have problems debugging vue-files in devtools,
// set this to false - it *may* help
// https://vue-loader.vuejs.org/en/options.html#cachebusting
cacheBusting: true,
cssSourceMap: true
},
build: {
// Template for index.html
index: path.resolve(__dirname, '../dist/index.html'),
// Paths
assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
assetsPublicPath: './',
/**
* Source Maps
*/
productionSourceMap: true,
// https://webpack.js.org/configuration/devtool/#production
devtool: '#source-map',
// Gzip off by default as many popular static hosts such as
// Surge or Netlify already gzip all static assets for you.
// Before setting to `true`, make sure to:
// npm install --save-dev compression-webpack-plugin
productionGzip: true,
productionGzipExtensions: ['js', 'css', 'json'],
// Run the build command with an extra argument to
// View the bundle analyzer report after build finishes:
// `npm run build --report`
// Set to `true` or `false` to always turn it on or off
bundleAnalyzerReport: process.env.npm_config_report
}
}
\ No newline at end of file
'use strict'
module.exports = {
NODE_ENV: '"production"'
}
<!--
* @Author: your name
* @Date: 2021-06-18 10:52:28
* @LastEditTime: 2021-07-02 09:38:29
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \taxFormToolFramework\index.html
-->
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta name="renderer" content="webkit">
<meta name="force-rendering" content="webkit" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
<meta name="referrer" content="no-referrer" />
<title>taxformtoolframework</title>
<link crossorigin="anonymous" integrity="sha384-hq/G7+hMsQa/y/2UR7UeGeA1PDkgHB8nGR6XtC8Z8savKHh9s6ENLejWNhsfpYNs" href="//lib.baomitu.com/element-ui/2.10.0/theme-chalk/index.css" rel="stylesheet">
<link href="./static/css/theme/index.css" rel="stylesheet" type="text/css">
</head>
<body style="margin: 0px">
<script>
window.console = window.console || (function() {
var c = {};
c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile = c.clear = c.exception = c.trace = c.assert = function() {};
return c;
})();
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器
var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
if (isIE) {
var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
reIE.test(userAgent);
var fIEVersion = parseFloat(RegExp["$1"]);
if (fIEVersion == 7) {
alert('您的浏览器版本过低,请使用IE9及以上浏览器或者使用浏览器极速模式');
// return 7;
} else if (fIEVersion == 8) {
alert('您的浏览器版本过低,请使用IE9及以上浏览器或者使用浏览器极速模式');
// return 8;
} else if (fIEVersion == 9) {
// return 9;
} else if (fIEVersion == 10) {
// return 10;
} else {
alert('您的浏览器版本过低,请使用IE9及以上浏览器或者使用浏览器极速模式');
// return 6;//IE版本<=7
}
} else if (isEdge) {
// alert('您的浏览器版本过低,请使用IE9及以上浏览器或者使用浏览器极速模式');
// return 'edge';//edge
} else if (isIE11) {
// return 11; //IE11
} else {
// return -1;//不是ie浏览器
}
document.write("<script type='text/javascript' src='./static/config.js?time=" + Math.random() + "'></" + "script" + ">")
</script>
<div id="taxformtoolframeworkApp"></div>
<!-- built files will be auto injected -->
<script crossorigin="anonymous" integrity="sha384-vk5WoKIaW/vJyUAd9n/wmopsmNhiy+L2Z+SBxGYnUkunIxVxAv/UtMOhba/xskxh" src="//lib.baomitu.com/jquery/3.4.1/jquery.min.js"></script>
<script>
window.jQuery || document.write(unescape("%3Cscript src='./static/cndjs/jquery.3.4.1.min.js' type='text/javascript'%3E%3C/script%3E"))
</script>
<script crossorigin="anonymous" integrity="sha384-ALQsKEm+ueXCba1jXo8eRQv9ILHY86mlhZSf9YH831KuD4DyhJ0o5xV7CXzfBS4W" src="//lib.baomitu.com/vue/2.5.2/vue.min.js"></script>
<script>
window.Vue || document.write(unescape("%3Cscript src='./static/cndjs/vue.2.5.2.min.js' type='text/javascript'%3E%3C/script%3E"))
</script>
<script src="https://cdn.bootcdn.net/ajax/libs/vue-router/3.0.6/vue-router.min.js"></script>
<script>
window.VueRouter || document.write(unescape("%3Cscript src='./static/cndjs/vue-router.3.0.6.js' type='text/javascript'%3E%3C/script%3E"))
</script>
<script crossorigin="anonymous" integrity="sha384-H4fyEuEEQs/K+e+ex+4qJc07bYkHYtEEDycRL9Oc5wkJF1c1P8UCrNcUdlzLB9Og" src="//lib.baomitu.com/vuex/3.1.0/vuex.min.js"></script>
<script>
window.Vuex || document.write(unescape("%3Cscript src='./static/cndjs/vuex.3.1.0.min.js' type='text/javascript'%3E%3C/script%3E"))
</script>
<script crossorigin="anonymous" integrity="sha384-u0w4QBr5Gjjq/lDEZNik6qGGWdaxf7GMJ1FlTZ94aW1Diaqz+G6jde28UMnuULI1" src="//lib.baomitu.com/element-ui/2.10.0/index.js"></script>
<script>
window.ELEMENT || document.write(unescape("%3Cscript src='./static/cndjs/element-ui-index-2.10.0.js' type='text/javascript'%3E%3C/script%3E"))
</script>
<script crossorigin="anonymous" integrity="sha384-6woDBwQr+eqsszpfCWmyJ2UTm+OSym/GuB2NAD8H3d+6xuEZzOMJ/6GEPDTPPCmi" src="//lib.baomitu.com/axios/0.19.0/axios.min.js"></script>
<script>
window.axios || document.write(unescape("%3Cscript src='./static/cndjs/axios.0.19.0.min.js' type='text/javascript'%3E%3C/script%3E"))
</script>
<script crossorigin="anonymous" integrity="sha384-Gk2EsjHg+dMqQ7r9kUWsFeB696EOrbnmLWbI6mVJfYnBpLQm2mjOMBzGYqFEfYGe" src="//lib.baomitu.com/echarts/4.4.0/echarts.min.js"></script>
<script>
window.echarts || document.write(unescape("%3Cscript src='./static/cndjs/echarts.4.4.0.min.js' type='text/javascript'%3E%3C/script%3E"))
</script>
<script src="./static/linq/linq.js"></script>
<!--引入税表组件工具初始化-->
<script src="./static/taxFormDataProcess/taxFormDataProcess/taxFormDataProcess.js"></script>
<!--引入税表组件工具引擎-->
<script src="./static/engine/js/engineVendor.js"></script>
<script src="./static/engine/js/engine.js"></script>
<link href="./static/engine/css/engine.css" rel="stylesheet" type="text/css">
<!--引入BigDecimal-->
<script src="./static/bigdecimal2.js"></script>
<!--表间校验-->
<script src="./static/bjjy/bjjyCommon.js"></script>
<script src="./static/bjjy/multiLineBjjy.js"></script>
<script src="./static/bjjy/mathTools.js"></script>
<script src="./static/bjjy/bigdecimal2.js"></script>
</body>
</html>
\ No newline at end of file
This diff is collapsed.
{
"name": "taxformtoolframework",
"version": "1.0.0",
"description": "A Vue.js project",
"author": "zqm <qimengzhou9618@163.com>",
"private": true,
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"build": "node build/build.js"
},
"dependencies": {
"axios": "^0.19.0",
"compression-webpack-plugin": "^1.1.1",
"element-ui": "^2.10.0",
"es6-promise": "^4.2.8",
"file-saver": "^2.0.2",
"happypack": "^5.0.1",
"html2canvas": "^1.0.0-rc.3",
"jquery": "^3.4.1",
"jspdf": "^1.5.3",
"jszip": "^3.2.2",
"linq": "^3.2.0",
"qs.js": "^0.1.12",
"vue": "^2.5.2",
"vue-axios": "^2.1.4",
"vue-cli-plugin-dll": "^1.1.11",
"vue-router": "^3.0.1",
"webpack-node-externals": "^1.7.2"
},
"devDependencies": {
"autoprefixer": "^7.1.2",
"babel-core": "^6.22.1",
"babel-helper-vue-jsx-merge-props": "^2.0.3",
"babel-loader": "^7.1.1",
"babel-plugin-syntax-jsx": "^6.18.0",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-plugin-transform-vue-jsx": "^3.5.0",
"babel-preset-env": "^1.3.2",
"babel-preset-stage-2": "^6.22.0",
"chalk": "^2.0.1",
"copy-webpack-plugin": "^4.0.1",
"css-loader": "^0.28.0",
"extract-text-webpack-plugin": "^3.0.0",
"file-loader": "^1.1.4",
"friendly-errors-webpack-plugin": "^1.6.1",
"html-webpack-plugin": "^2.30.1",
"node-notifier": "^5.1.2",
"optimize-css-assets-webpack-plugin": "^3.2.0",
"ora": "^1.2.0",
"portfinder": "^1.0.13",
"postcss-import": "^11.0.0",
"postcss-loader": "^2.0.8",
"postcss-url": "^7.2.1",
"rimraf": "^2.6.0",
"semver": "^5.3.0",
"shelljs": "^0.7.6",
"uglifyjs-webpack-plugin": "^1.1.1",
"url-loader": "^0.5.8",
"vue-loader": "^13.3.0",
"vue-style-loader": "^3.0.1",
"vue-template-compiler": "^2.5.2",
"webpack": "^3.6.0",
"webpack-bundle-analyzer": "^2.9.0",
"webpack-dev-server": "^2.9.1",
"webpack-merge": "^4.1.0"
},
"engines": {
"node": ">= 6.0.0",
"npm": ">= 3.0.0"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}
<!--
* @Author: your name
* @Date: 2021-06-18 10:52:28
* @LastEditTime: 2021-07-12 13:46:45
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \taxFormToolFramework\src\App.vue
-->
<template>
<div id="taxformtoolframeworkApp">
<router-view />
</div>
</template>
<script>
export default {
name: "App",
methods: {
getUrlParam(name) {
var href = window.location.href.split("?");
if (href.length > 1) {
var args = href[1].split("&");
var cs = "";
for (var index in args) {
if (args[index].indexOf(name) != -1) {
cs = args[index].split("=")[1];
}
}
return cs;
}
return "";
}
},
created: function () {
var initData = {
sbqx: 20220117,
tsxx: null,
jkzt: "N",
nsqxdm: null,
type: "taxName",
swjgmc: null,
skssqq: null,
multiPatch: "N",
nssbqq2: null,
gzcs: null,
bczt: "N",
sfyczb: "N",
sbbsx: "08",
id: null,
sourceFlag: "ssfwpt_sbzj",
sbrq1: "",
ssdabh: "",
bblxDm: "10401",
operateType: "3",
nsrsbq: "202201",
zsxmDm: "10104",
nsrsbh: "911201167773033345",
checkTime: false,
skssqz: null,
ybjcState: "N",
sbbdm: null,
flag: "FLAG__10111298000025892661_20210501_20210531_29710_29710_1",
sksssjz: "20211231",
ybtse: "",
hyDm: "6519",
pzxh: "",
sksssjq: "20211001",
qsbz: "N",
zgswskfjDm: "11205162100",
sbxxId: "20210401102636000b7212314e4bf78090420712a2dd43",
bblxMc: "中华人民共和国企业所得税月(季)度预缴纳税申报表(A类,2021年版)",
sbbz: "3",
se: null,
sbuuid: "",
gdsbz: "G",
sssqZ: "2021-12-31",
djxh: "10111298000025892661",
sssqQ: "2021-10-01",
nssbq: "202201",
nsrlx: null,
initTableData: "",
gzFlag: "0",
iszzsybjc: "01",
nsrmc: "天津神州浩天科技有限公司",
pcDm: 1,
pzzlDm: "10401",
nsqxDm: "08",
zsDjxh: "10111298000025892661",
label: null,
uuId: "2021062909285244d8f6620d4e455ab11823e35a1eccbd",
token: "",
jkrq: "",
yzpzzlDm: "",
flKey: "",
nssbqz2: null,
sbjg: null,
initTableArrs: "",
sbrq: null,
kjzd: "",
sbzt: "N",
pzzlMc: "中华人民共和国企业所得税月(季)度预缴纳税申报表(A类,2021年版)",
yzpzxh: null,
value:
"F8D0205CA35FA26F8BF3448E6E9BF887DD3BF6BFEDDDB5F4248EA03C65C6D3F66C30664F7C2E90D76BA2E26B17F1AB3389127B9486837903A2C89D175E7EC7D7101ED3C59B62490343120050DFCBBA94ECC6BCBA3B5B481CB0E172198CD813A491730B6E93D1D30226C410FBDB47BF77BC0AA07DE4D43FFB592DFFAB29420BC1f92a4aa8a1",
fillingFlag: "normal",
saveUserId: "zxtb",
zjhm: ""
};
var initData1 = {
"zsxmDm": "10104",
"bblxDm": "10401",
"bbDm": "10401_001",
"sksssjq": "20210401",
"sksssjz": "20210630",
"saveUserId": "102489",
"nsrsbh": "911201107773170746",
"djxh": "10111250000025885532",
"pcDm": "001",
"multiPatch": "N",
"nsqxdm": "08",
"nsrsbq": "202107",
"versionNumber": "15",
"sourceFlag": "ykj1",
"sbxxId": "4090654",
"otherBbdms": "-1",
"detailPcdm": "001",
"gzbz": "0",
"sbuuid": "",
"pzxh": "",
"nsrType": "ybr",
"timestamp": "1625566004799"
}
// this.$store.commit("openData", decodeURIComponent( this.getUrlParam("openData"));
this.$store.commit("openData", initData1);
var lybz = this.getUrlParam("lybz");
lybz = "";
config.lybz = lybz;
if (lybz == "online" || lybz == "ssfwpt") {
this.$store.commit("platform", "1");
this.$router.push("/taxRelated");
} else {
this.$store.commit("platform", "2");
this.$router.push("/cloudAccount");
}
console.log(initData);
console.log(lybz);
}
};
</script>
<style>
#taxformtoolframeworkApp {
font-family: "Avenir", Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
font-size: 14px;
}
</style>
/*
* ajax封装:
* 1. 引入文件
* 2. new Vue().ajax.get(url,data,fn,ojson), 或 new Vue().ajax.post(url,data,fn,ojson)
* url: 需要获取数据的文件地址 (string)
* data: 需要发送的信息 (可省略) (obj)
* fn: 获取信息后的回调函数,接收到的返回值为data (function)
* ojson: 是否需要转换为json格式 (可省略,如果async有值,必须站位'') (设置为 "json")
* async:同步异步标记 true or false 默认true 可不传
*
* 3. new Vue().ajax.get().cancel(): 取消异步请求
* 4. new Vue().ajax.json(str): 可转化json格式字符串
**/
Vue.prototype.ajax = {
ajaxStatus: true,
sendAjax: function(url, data, success, cache, alone, async, type, dataType, loading, error) {
var loads = loading == false ? false : true; // 是否有loading
var type = type || 'post'; //请求类型
var dataType = dataType || 'json'; //接收数据类型
var async = async == false ? false : true; //异步请求
var alone = alone || false; //独立提交(一次有效的提交)
var cache = cache || false; //浏览器历史缓存
var error = error || function(data) {
var message = ""
if (data.status == 404) {
message = "请求失败,请求未找到"
} else if (data.status == 503 || data.status == 504) {
message = "请求失败,服务器内部错误"
} else if (data.status == 502 && data.responseText == '表空间内存快满了,请相关服务人员维护人员做好措施!') {
loading.close()
return false;
}
if (!((data.status >= 200 && data.status < 300) || data.status == 304)) {
var mes = "";
if (mes) {
mes = '请求错误代码【' + data.status + "】," + message
} else {
mes = "请求错误代码【" + data.status + "】";
}
Vue.prototype.$alert(mes, '提示', {
confirmButtonText: '确定',
callback: action => {
if (loads) {
loading.close()
}
}
});
}
if (loads) {
loading.close()
}
};
var flag = false;
if (jQuery.type(data) == "string") {
if (data.indexOf("[") > -1) {
flag = true
}
}
var option = {
'headers': flag ? { 'Accept': 'application/json', 'Content-Type': 'application/json' } : {},
'url': url,
'data': data,
'timeout': config.ajaxTimeOut, //超时时间设置,单位毫秒
'type': type,
'dataType': dataType,
'async': async,
'success': function(data) {
if (data.returnCode == "99") {
Vue.prototype.$alert(data.returnMessage, '提示', {
confirmButtonText: '确定',
callback: action => {
if (loads) {
loading.close()
}
}
});
} else if (data.returnCode == "-2") {
Vue.prototype.$alert(data.returnMessage, '提示', {
confirmButtonText: '确定',
callback: action => {
window.close();
}
});
} else {
if (loads) {
loading.close()
}
success(data)
}
},
'error': error,
'jsonpCallback': 'jsonp' + (new Date()).valueOf().toString().substr(-4),
'beforeSend': function(request) {
if (flag) {
request.setRequestHeader("Content-Type", "application/json");
}
},
}
if (loads) {
var loading = Vue.prototype.$loading({
lock: true, //lock的修改符--默认是false
/* text: '拼命加载中...',//显示在加载图标下方的加载文案*/
spinner: 'el-loading-spinner', //自定义加载图标类名
fullscreen: true,
background: 'rgba(0, 0, 0, 0)', //遮罩层颜色
});
}
$.ajax(option); // 调用
},
/* submitAjax:function (form, success, cache, alone) {
cache = cache || true;
var form = $(form);
var url = form.attr('action');
var data = form.serialize();
this.sendAjax(url, data, success,dataType, cache, alone, false, 'post',dataType);
},*/
post: function(url, data, success, dataType, async, loading, cache, alone) {
this.sendAjax(url, data, success, cache, alone, async, 'post', dataType, loading);
},
// ajax提交(get方式提交)
get: function(url, success, dataType, cache, alone) {
this.sendAjax(url, {}, success, cache, alone, false, 'get', dataType);
},
// jsonp跨域请求(get方式提交)
jsonp: function(url, success, cache, alone) {
sendAjax(url, {}, success, cache, alone, false, 'get', 'jsonp');
},
}
\ No newline at end of file
/*
* @Author: your name
* @Date: 2021-06-18 10:52:28
* @LastEditTime: 2021-06-21 15:03:22
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \taxFormToolFramework\src\main.js
*/
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import tools from './tools/tools.js'
import { store } from './store/vuex'
import https from './https';
import engine from '../static/engine/css/engine.css'
import style from '../static/css/style.css'
Vue.config.productionTip = false
Vue.use(tools)
Vue.prototype.$https = https;
Vue.use(https);
/* eslint-disable no-new */
new Vue({
el: '#taxformtoolframeworkApp',
router,
tools,
store,
components: { App },
template: '<App/>'
})
\ No newline at end of file
/*
* @Author: your name
* @Date: 2021-06-15 14:11:00
* @LastEditTime: 2021-07-12 13:40:14
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \taxformtoolengine\src\store\vuex.js
*/
/**
* @Author ygy
* @Description //TODO 数据存储器
* @Date 13:50 2020/5/19
**/
export const store = new Vuex.Store({ // 注意Store的S大写
state: {
showMenu: false,
data: {
platform: '',
loading: false,
scheduleCode: '',
parent: null,
saveStatus: false,
openData: {},
engines: {},
configData: {},
menuList: [],
defaultMenu: '',
checkList: [],
processStatus: '',
selectInfoBar: '',
openAlter: [],
saveAlter: [],
closeAlter: [],
openConfirm: [],
saveConfirm: [],
closeConfirm: []
},
},
mutations: {
platform(state, value) {
state.data.platform = value
},
loading(state, value) {
state.data.loading = value
},
scheduleCode(state, value) {
state.data.scheduleCode = value
},
parent(state, value) {
state.data.parent = value
},
saveStatus(state, value) {
state.data.saveStatus = value
},
openData(state, value) {
state.data.openData = value
},
engines(state, value) {
state.data.engines = value
},
configData(state, value) {
state.data.configData = value
},
menuList(state, value) {
state.data.menuList = value
},
defaultMenu(state, value) {
state.data.defaultMenu = value
},
checkList(state, value) {
state.data.checkList = value
},
processStatus(state, value) {
state.data.processStatus = value
},
selectInfoBar(state, value) {
state.data.selectInfoBar = value
},
openAlter(state, value) {
state.data.openAlter = value
},
saveAlter(state, value) {
state.data.saveAlter = value
},
closeAlter(state, value) {
state.data.closeAlter = value
},
openConfirm(state, value) {
state.data.openConfirm = value
},
saveConfirm(state, value) {
state.data.saveConfirm = value
},
closeConfirm(state, value) {
state.data.closeConfirm = value
},
}
})
\ No newline at end of file
/*
* @Author: your name
* @Date: 2021-05-11 09:05:59
* @LastEditTime: 2021-07-12 13:46:07
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \propertyBehaviorTax\src\tools\tools.js
*/
export default {
install: function(Vue, str, options) {
// 深拷贝
Vue.prototype.deepClone = function(obj) {
var _obj = JSON.stringify(obj)
var objClone = JSON.parse(_obj)
return objClone
};
//申报结果弹窗样式
Vue.prototype.headerStyle = function({
row,
column,
rowIndex,
columnIndex
}) {
return {
padding: '0!important',
fontSize: '14px',
fontWeight: '100'
};
};
//递归查找数据(查找子集)
Vue.prototype.recursionChild = function(data, key) {
//存在潜在bug,let改为var会报错
let result;
if (!data) {
return;
}
for (var i = 0; i < data.length; i++) {
let item = data[i];
if (item.$refs[key]) {
result = item;
break;
} else if (item.$children && item.$children.length > 0) {
result = this.recursionChild(item.$children, key);
if (result) return result // 关键代码:如果找到,就直接返回,结束后面的循环
}
}
return result;
};
//递归查找数据(查找父集)
Vue.prototype.recursionParent = function(data, key) {
var result = {};
if (!data) {
return;
}
if (data.$refs[key]) {
result = data.$refs[key];
} else {
result = this.recursionParent(data.$parent, key);
if (result) return result // 关键代码:如果找到,就直接返回,结束后面的循环
}
return result;
};
// 大数据计算工具
Vue.prototype.BigDecimal = function(num) {
num = num + "";
var regSz = RegExp(/^0+(\.[0]+)?$/); // 判断是否有0.00
if (regSz.test(num) || num == undefined || num == "undefined" || num == null || num == "null" || !num || num == "" || num == "-") {
num = "0.00";
}
num = num.replace(" ", "");
return new BigDecimal(num + "");
};
//比较俩数大小
Vue.prototype.copmpareTo = function(first, second) {
first = first + "";
second = second + "";
var regSz = RegExp(/^(?:0|\-?(?:0\.\d*[0-9]|[0-9]\d*(?:\.\d*[0-9])?))$/);
if (!regSz.test(first) || !regSz.test(second)) {
if (first == second) return 0;
if (first != second) return 2;
} else {
return this.BigDecimal(first).compareTo(this.BigDecimal(second))
}
};
//判断一个字符串是否是数字
Vue.prototype.isNumber = function(val) {
var regPos = /^\d+(\.\d+)?$/; //非负浮点数
var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数
if (regPos.test(val) || regNeg.test(val)) {
return true;
} else {
return false;
}
};
//比较两个对象是否相同
Vue.prototype.ifCompare = function(obj1, obj2) {
var item1 = Object.keys(obj1);
var item2 = Object.keys(obj2);
if (item2.length !== item1.length) return false;
for (let i = 0; i <= item1.length - 1; i++) {
let key = item1[i];
if (!item2.includes(key)) {
return false;
}
if (obj2[key] !== obj1[key]) {
if (this.isNumber(obj2[key])) { //判断是否是数字
if (this.copmpareTo(obj2[key], obj1[key]) != 0) { //由于存在小数位数不一样的情况,根据情况判断值是否真的不一样(0.0和0.00的情况)
return false;
}
}
}
}
return true;
};
//比较两个tableData数据是否一致(不包括otherData和engineHandleData)
Vue.prototype.valuesEqual = function() {
var previousData = {};
var currentData = {};
var flag = false;
var tableData = this.$store.state.data.engines;
var engineData = tableData.data.data;
if (!["", null, undefined].includes(engineData.tableData)) {
previousData = engineData.tableData
} else {
previousData = tableData.getBeforeRenderingData();
}
var closeTableData = tableData.getTableData();
currentData = closeTableData.tableData
for (var key in currentData) {
delete currentData.engineHandleData;
delete currentData.otherData;
}
flag = this.ifCompare(previousData, currentData)
return flag
};
Vue.prototype.dealConfigData = function(data) {
this.$store.commit("openAlter", []);
this.$store.commit("saveAlter", []);
this.$store.commit("closeAlter", []);
this.$store.commit("openConfirm", []);
this.$store.commit("saveConfirm", []);
this.$store.commit("closeConfirm", []);
var openAlter = [],
saveAlter = [],
closeAlter = [];
if (!["", null, undefined].includes(data.alert)) {
if (data.alert.length > 0) {
for (let i = 0; i < data.alert.length; i++) {
var obj = data.alert[i];
if (obj.type == "1") {
openAlter.push(obj)
} else if (obj.type == "2") {
saveAlter.push(obj)
} else if (obj.type == "3") {
closeAlter.push(obj)
}
}
this.$store.commit("openAlter", openAlter);
this.$store.commit("saveAlter", saveAlter);
this.$store.commit("closeAlter", closeAlter);
}
}
var openConfirm = [],
saveConfirm = [],
closeConfirm = [];
if (!["", null, undefined].includes(data.confirm)) {
if (data.confirm.length > 0) {
for (let i = 0; i < data.confirm.length; i++) {
var obj = data.confirm[i];
if (obj.type == "1") {
openConfirm.push(obj)
} else if (obj.type == "2") {
saveConfirm.push(obj)
} else if (obj.type == "3") {
closeConfirm.push(obj)
}
}
this.$store.commit("openConfirm", openConfirm);
this.$store.commit("saveConfirm", saveConfirm);
this.$store.commit("closeConfirm", closeConfirm);
}
}
};
}
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
/**
* vuex v3.1.0
* (c) 2019 Evan You
* @license MIT
*/
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Vuex=e()}(this,function(){"use strict";var u="undefined"!=typeof window&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function a(e,n){Object.keys(e).forEach(function(t){return n(e[t],t)})}var r=function(t,e){this.runtime=e,this._children=Object.create(null);var n=(this._rawModule=t).state;this.state=("function"==typeof n?n():n)||{}},t={namespaced:{configurable:!0}};t.namespaced.get=function(){return!!this._rawModule.namespaced},r.prototype.addChild=function(t,e){this._children[t]=e},r.prototype.removeChild=function(t){delete this._children[t]},r.prototype.getChild=function(t){return this._children[t]},r.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},r.prototype.forEachChild=function(t){a(this._children,t)},r.prototype.forEachGetter=function(t){this._rawModule.getters&&a(this._rawModule.getters,t)},r.prototype.forEachAction=function(t){this._rawModule.actions&&a(this._rawModule.actions,t)},r.prototype.forEachMutation=function(t){this._rawModule.mutations&&a(this._rawModule.mutations,t)},Object.defineProperties(r.prototype,t);var m,f=function(t){this.register([],t,!1)};f.prototype.get=function(t){return t.reduce(function(t,e){return t.getChild(e)},this.root)},f.prototype.getNamespace=function(t){var n=this.root;return t.reduce(function(t,e){return t+((n=n.getChild(e)).namespaced?e+"/":"")},"")},f.prototype.update=function(t){!function t(e,n,o){n.update(o);if(o.modules)for(var i in o.modules){if(!n.getChild(i))return;t(e.concat(i),n.getChild(i),o.modules[i])}}([],this.root,t)},f.prototype.register=function(n,t,o){var i=this;void 0===o&&(o=!0);var e=new r(t,o);0===n.length?this.root=e:this.get(n.slice(0,-1)).addChild(n[n.length-1],e);t.modules&&a(t.modules,function(t,e){i.register(n.concat(e),t,o)})},f.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];e.getChild(n).runtime&&e.removeChild(n)};var e=function(t){var e=this;void 0===t&&(t={}),!m&&"undefined"!=typeof window&&window.Vue&&p(window.Vue);var n=t.plugins;void 0===n&&(n=[]);var o=t.strict;void 0===o&&(o=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new f(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new m;var i=this,r=this.dispatch,s=this.commit;this.dispatch=function(t,e){return r.call(i,t,e)},this.commit=function(t,e,n){return s.call(i,t,e,n)},this.strict=o;var a,c=this._modules.root.state;v(this,c,[],this._modules.root),h(this,c),n.forEach(function(t){return t(e)}),(void 0!==t.devtools?t.devtools:m.config.devtools)&&(a=this,u&&((a._devtoolHook=u).emit("vuex:init",a),u.on("vuex:travel-to-state",function(t){a.replaceState(t)}),a.subscribe(function(t,e){u.emit("vuex:mutation",t,e)})))},n={state:{configurable:!0}};function o(e,n){return n.indexOf(e)<0&&n.push(e),function(){var t=n.indexOf(e);-1<t&&n.splice(t,1)}}function i(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;v(t,n,[],t._modules.root,!0),h(t,n,e)}function h(n,t,e){var o=n._vm;n.getters={};var i=n._wrappedGetters,r={};a(i,function(t,e){r[e]=function(){return t(n)},Object.defineProperty(n.getters,e,{get:function(){return n._vm[e]},enumerable:!0})});var s=m.config.silent;m.config.silent=!0,n._vm=new m({data:{$$state:t},computed:r}),m.config.silent=s,n.strict&&n._vm.$watch(function(){return this._data.$$state},function(){},{deep:!0,sync:!0}),o&&(e&&n._withCommit(function(){o._data.$$state=null}),m.nextTick(function(){return o.$destroy()}))}function v(c,n,o,t,i){var e=!o.length,u=c._modules.getNamespace(o);if(t.namespaced&&(c._modulesNamespaceMap[u]=t),!e&&!i){var r=_(n,o.slice(0,-1)),s=o[o.length-1];c._withCommit(function(){m.set(r,s,t.state)})}var a,f,h,p,l,d=t.context=(a=c,h=o,l={dispatch:(p=""===(f=u))?a.dispatch:function(t,e,n){var o=y(t,e,n),i=o.payload,r=o.options,s=o.type;return r&&r.root||(s=f+s),a.dispatch(s,i)},commit:p?a.commit:function(t,e,n){var o=y(t,e,n),i=o.payload,r=o.options,s=o.type;r&&r.root||(s=f+s),a.commit(s,i,r)}},Object.defineProperties(l,{getters:{get:p?function(){return a.getters}:function(){return n=a,i={},r=(o=f).length,Object.keys(n.getters).forEach(function(t){if(t.slice(0,r)===o){var e=t.slice(r);Object.defineProperty(i,e,{get:function(){return n.getters[t]},enumerable:!0})}}),i;var n,o,i,r}},state:{get:function(){return _(a.state,h)}}}),l);t.forEachMutation(function(t,e){var n,o,i,r;o=u+e,i=t,r=d,((n=c)._mutations[o]||(n._mutations[o]=[])).push(function(t){i.call(n,r.state,t)})}),t.forEachAction(function(t,e){var i,n,r,s,o=t.root?e:u+e,a=t.handler||t;n=o,r=a,s=d,((i=c)._actions[n]||(i._actions[n]=[])).push(function(t,e){var n,o=r.call(i,{dispatch:s.dispatch,commit:s.commit,getters:s.getters,state:s.state,rootGetters:i.getters,rootState:i.state},t,e);return(n=o)&&"function"==typeof n.then||(o=Promise.resolve(o)),i._devtoolHook?o.catch(function(t){throw i._devtoolHook.emit("vuex:error",t),t}):o})}),t.forEachGetter(function(t,e){!function(t,e,n,o){if(t._wrappedGetters[e])return;t._wrappedGetters[e]=function(t){return n(o.state,o.getters,t.state,t.getters)}}(c,u+e,t,d)}),t.forEachChild(function(t,e){v(c,n,o.concat(e),t,i)})}function _(t,e){return e.length?e.reduce(function(t,e){return t[e]},t):t}function y(t,e,n){var o;return null!==(o=t)&&"object"==typeof o&&t.type&&(n=e,t=(e=t).type),{type:t,payload:e,options:n}}function p(t){m&&t===m||function(t){if(2<=Number(t.version.split(".")[0]))t.mixin({beforeCreate:n});else{var e=t.prototype._init;t.prototype._init=function(t){void 0===t&&(t={}),t.init=t.init?[n].concat(t.init):n,e.call(this,t)}}function n(){var t=this.$options;t.store?this.$store="function"==typeof t.store?t.store():t.store:t.parent&&t.parent.$store&&(this.$store=t.parent.$store)}}(m=t)}n.state.get=function(){return this._vm._data.$$state},n.state.set=function(t){},e.prototype.commit=function(t,e,n){var o=this,i=y(t,e,n),r=i.type,s=i.payload,a={type:r,payload:s},c=this._mutations[r];c&&(this._withCommit(function(){c.forEach(function(t){t(s)})}),this._subscribers.forEach(function(t){return t(a,o.state)}))},e.prototype.dispatch=function(t,e){var n=this,o=y(t,e),i=o.type,r=o.payload,s={type:i,payload:r},a=this._actions[i];if(a){try{this._actionSubscribers.filter(function(t){return t.before}).forEach(function(t){return t.before(s,n.state)})}catch(t){}return(1<a.length?Promise.all(a.map(function(t){return t(r)})):a[0](r)).then(function(t){try{n._actionSubscribers.filter(function(t){return t.after}).forEach(function(t){return t.after(s,n.state)})}catch(t){}return t})}},e.prototype.subscribe=function(t){return o(t,this._subscribers)},e.prototype.subscribeAction=function(t){return o("function"==typeof t?{before:t}:t,this._actionSubscribers)},e.prototype.watch=function(t,e,n){var o=this;return this._watcherVM.$watch(function(){return t(o.state,o.getters)},e,n)},e.prototype.replaceState=function(t){var e=this;this._withCommit(function(){e._vm._data.$$state=t})},e.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"==typeof t&&(t=[t]),this._modules.register(t,e),v(this,this.state,t,this._modules.get(t),n.preserveState),h(this,this.state)},e.prototype.unregisterModule=function(e){var n=this;"string"==typeof e&&(e=[e]),this._modules.unregister(e),this._withCommit(function(){var t=_(n.state,e.slice(0,-1));m.delete(t,e[e.length-1])}),i(this)},e.prototype.hotUpdate=function(t){this._modules.update(t),i(this,!0)},e.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(e.prototype,n);var s=b(function(i,t){var n={};return g(t).forEach(function(t){var e=t.key,o=t.val;n[e]=function(){var t=this.$store.state,e=this.$store.getters;if(i){var n=w(this.$store,"mapState",i);if(!n)return;t=n.context.state,e=n.context.getters}return"function"==typeof o?o.call(this,t,e):t[o]},n[e].vuex=!0}),n}),c=b(function(r,t){var n={};return g(t).forEach(function(t){var e=t.key,i=t.val;n[e]=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var n=this.$store.commit;if(r){var o=w(this.$store,"mapMutations",r);if(!o)return;n=o.context.commit}return"function"==typeof i?i.apply(this,[n].concat(t)):n.apply(this.$store,[i].concat(t))}}),n}),l=b(function(o,t){var i={};return g(t).forEach(function(t){var e=t.key,n=t.val;n=o+n,i[e]=function(){if(!o||w(this.$store,"mapGetters",o))return this.$store.getters[n]},i[e].vuex=!0}),i}),d=b(function(r,t){var n={};return g(t).forEach(function(t){var e=t.key,i=t.val;n[e]=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var n=this.$store.dispatch;if(r){var o=w(this.$store,"mapActions",r);if(!o)return;n=o.context.dispatch}return"function"==typeof i?i.apply(this,[n].concat(t)):n.apply(this.$store,[i].concat(t))}}),n});function g(e){return Array.isArray(e)?e.map(function(t){return{key:t,val:t}}):Object.keys(e).map(function(t){return{key:t,val:e[t]}})}function b(n){return function(t,e){return"string"!=typeof t?(e=t,t=""):"/"!==t.charAt(t.length-1)&&(t+="/"),n(t,e)}}function w(t,e,n){return t._modulesNamespaceMap[n]}return{Store:e,install:p,version:"3.1.0",mapState:s,mapMutations:c,mapGetters:l,mapActions:d,createNamespacedHelpers:function(t){return{mapState:s.bind(null,t),mapGetters:l.bind(null,t),mapMutations:c.bind(null,t),mapActions:d.bind(null,t)}}}});
\ No newline at end of file
/*
* @Author: your name
* @Date: 2021-06-18 11:14:46
* @LastEditTime: 2021-07-08 11:35:21
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \taxFormToolFramework\static\config.js
*/
var Interface = "/property_tax_plugin"
var config = {
environmental: "dev", // 生产:production 预生产:preProduce 测试:test 本地:dev
ajaxTimeOut: 500000, //aiax超时时间设置
lybz: 'online', // 来源标志 在线:online 云代账:ydz 涉税:ssfwpt 接口组件:taxreturnhtykj
openTable: "/online/zxtb/openTable", //填报页面 获取报表list、开表参数 *涉税*
zxtb_saveSbbInfo: "/online/zxtb/saveSbbInfo", //在线填报 保存 *在线*
tax_check: "/online/bjjy/tax_check", // 获取税种间校验参数 *涉税*
zhsb_zhSubmitted: "/online/report/zhSubmitted", //综合申报
selectSbbInfo: "/htftsolu/selectSbbInfo", //综合申报
saveSbbInfo: "/htftsolu/saveSbbInfo", //综合申报
}
\ No newline at end of file
p,
ul,
li,
h1,
h2,
h3,
h4,
h5,
h6,
input,
a,
span,
i {
margin: 0 auto;
}
a,
span,
i {
display: inline-block;
}
a {
text-decoration: none;
cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-size: 16px;
}
body html {
font-size: 16px;
}
body,
div,
p,
ul,
li,
h1,
h2,
h3,
h4,
h5,
h6 {
margin: 0 auto;
padding: 0;
}
.right {
float: right;
}
.left {
float: left;
}
.textAlignRight {
text-align: right;
}
.textAlignLeft {
text-align: left;
}
.marginBottom10 {
margin-bottom: 10px;
}
.marginLeft0 {
margin-left: 0 !important;
}
.marginRight0 {
margin-right: 0 !important;
}
.marginRight50 {
margin-right: 50px !important;
}
.success {
color: #67c23a;
}
.error {
color: #f56c6c;
}
.warning {
color: #e6a23c;
}
.titleBox {
margin: 15px 0;
padding: 0 10px;
line-height: 28px;
background: #eeeeee;
border-radius: 5px;
}
.width100 {
width: 100% !important;
}
.lineHeight28 {
line-height: 28px;
}
/* 解决 elementUI table刷新错位问题 */
body .el-table th.gutter {
display: table-cell !important;
}
body .el-table colgroup.gutter {
display: table-cell !important;
}
/*重写步揍条样式*/
.el-step__head.is-success {
color: #0994dc !important;
font-size: 14px;
border-color: #0994dc !important;
}
.el-step__title.is-success {
color: #0994dc !important;
font-size: 14px;
border-color: #0994dc !important;
}
.el-step__head.is-process {
color: #0994dc !important;
border-color: #0994dc !important;
}
.el-step__title.is-process {
font-size: 14px;
font-weight: 400;
color: #0994dc !important;
}
.el-step__title.is-wait {
font-size: 14px;
font-weight: 400;
}
/*隐藏table中属地的复选框*/
.mycell .el-checkbox__input {
display: none !important;
}
.el-border-top {
border-top: 1px solid #e4e4e4 !important;
}
.el-header-owner {
border-bottom: 0px !important;
height: 46px !important;
text-align: left;
font-size: 14px;
line-height: 46px;
font-weight: 400;
color: #333333;
font-family: Microsoft YaHei Regular, Microsoft YaHei Regular-Regular;
padding-left: 15px;
}
.el-border {
border: 1px solid #d7d8d9;
border-radius: 3px;
}
.bg-color-header {
background-color: #f5f6f7;
}
.el-tree-node__content {
display: table !important;
}
.el-scrollbar__wrap {
/* overflow-x: hidden; */
/* width: calc(~"100% + 17px"); !*将垂直滚动条挤到可视区域之外*!
height: calc(~"100% + 17px"); !*将水平滚动条挤到可视区域之外*!*/
}
.el-scrollbar__bar.is-vertical {
width: 8px !important;
}
.el-scrollbar__bar {
right: 4px;
}
.el-scrollbar__wrap {
/* width: 110% !important;
height: 105% !important; */
/* overflow-x: hidden!important;
overflow-y: scroll!important; */
}
.el-main {
padding: 16px 0px 16px 16px;
width: 100%;
}
/*进度条模态框调整布局*/
.progressDialog .el-dialog__body {
padding: 16px !important;
}
.progressDialog .el-dialog__header {
padding-bottom: 0px !important;
}
#app {
width: 98%;
padding: 0px 15px 15px 0px;
}
/* 申报总览 tip 弹框样式调整 */
.tip .el-dialog__header {
padding: 20px !important;
}
.tip .el-dialog__body {
padding: 0 20px 20px !important;
}
/* 批量 弹出框样式调整 */
.batchDialog .el-dialog__body {
padding: 0 !important;
overflow: hidden;
}
/* 批量零保存报表 企业 隐藏复选框 */
.selecHide .el-checkbox__input {
display: none !important;
}
.el-radio__inner::after {
height: 5px !important;
width: 5px !important;
left: 4px !important;
top: 4px !important;
}
.el-message__icon {
display: contents !important;
}
.tipDialog {
text-align: left;
}
.tipDialog .el-dialog {
min-width: 200px !important;
}
.tipDialog .el-dialog__header {
padding: 15px;
}
.tipDialog .el-dialog__headerbtn {
top: 20px;
right: 15px;
}
.tipDialog .el-dialog__body {
padding: 0px 15px 15px 15px !important;
}
.tipDialog .warning {
margin: 0 8px;
line-height: 30px;
color: orange;
float: left;
font-size: 18px;
}
.tipDialog .tipTitle {
overflow: hidden;
}
.tipDialog .tipWord {
color: #333333;
line-height: 30px;
float: left;
}
.tipDialog .tipNext {
color: #999999;
line-height: 30px;
margin: 0 35px;
}
.el-notification {
width: 20% !important;
}
.sbpzzlDialog .el-dialog__body {
padding: 10px 20px 20px !important;
overflow: hidden;
}
.button_bar:hover {
background: #edf6fc !important;
color: #3e9be5 !important;
cursor: pointer !important;
}
.btn_small {
font-size: 12px !important;
width: 70px !important;
min-width: 70px !important;
height: 28px !important;
line-height: 26px !important;
}
.button_bar {
font-size: 13px !important;
color: #fff !important;
min-width: 100px !important;
height: 30px !important;
text-align: center !important;
background-color: #3e9be5 !important;
line-height: 28px !important;
border-radius: 3px !important;
border: solid !important;
border-width: 1px !important;
border-color: #3e9be5 !important;
outline: 0 !important;
transition: background 0.2s !important;
}
.el-loading-spinner {
width: 42px !important;
height: 42px !important;
}
.el-loading-spinner .circular {
width: 42px;
height: 42px;
animation: loading-rotate 2s linear infinite;
display: none;
}
.el-loading-mask div {
background: url(../images/loading.gif) no-repeat;
height: 30px;
position: relative;
top: 50%;
left: 50%;
margin-top: -15px !important;
margin-left: -15px !important;
}
.initTable .el-dialog {
width: 500px !important;
/* height: 50px; */
position: absolute;
left: 50%;
top: 50%;
margin-left: -250px;
margin-top: -25px !important;
}
.initTable .el-dialog__header {
padding: 0 10px;
}
.initTable .el-dialog__title {
font-size: 14px !important;
padding: 0;
}
.importFile .el-dialog {
position: absolute;
left: 50%;
top: 50%;
margin-left: -250px;
margin-top: -6% !important;
}
.importFile .el-dialog__body {
padding: 0px 20px 20px !important;
}
.importFile .el-upload__tip {
margin-top: 15px;
}
.panel {
border: 1px solid #ebeef5;
margin: 10px;
padding: 16px;
border-radius: 4px;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
}
.menuParentGroup .el-submenu__title {
padding: 0 10px !important;
/* height: 50px !important; */
line-height: 20px !important;
}
.menuParentGroup .el-submenu {
padding: 10px 0;
text-align: left;
width: 100%;
float: left;
}
.menuParentGroup .el-menu-item {
text-align: left !important;
line-height: 32px !important;
height: 32px !important;
float: left;
width: 100%;
}
.menuParentGroup .el-submenu .el-menu-item {
padding: 0 20px !important;
position: relative;
}
.zhsbTable .el-scrollbar__wrap {
height: 105% !important;
}
.zhsbTable .pdfDomBranch {
padding-bottom: 5%;
}
.zhsbTable .is-horizontal {
height: 8px !important;
}
.dialogShadow .el-dialog {
-webkit-box-shadow: 0 0px 5px rgba(0, 0, 0, 0.5);
box-shadow: 0 0px 5px rgba(0, 0, 0, 0.5);
}
.zhsbMenuScrollbar .is-horizontal {
display: none !important;
}
.zhsbMenuScrollbar .el-scrollbar__wrap {
overflow-y: scroll !important;
overflow-x: hidden !important;
}
.menuGroupScrollbar .el-scrollbar__wrap {
overflow-y: scroll !important;
overflow-x: hidden !important;
}
/* 360 定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸 */
::-webkit-scrollbar {
width: 8px;
height: 8px;
/*background-color: #757575;*/
}
/* 定义滚动条轨道 内阴影+圆角 */
::-webkit-scrollbar-track {
/*-webkit-box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.3);*/
border-radius: 12px;
background-color: white;
}
/* 定义滑块 内阴影+圆角 */
::-webkit-scrollbar-thumb {
border-radius: 12px;
/*-webkit-box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.3);*/
background-color: #ddd;
}
::-webkit-scrollbar-thumb:window-inactive {
background: rgba(117, 117, 117, 0.4);
}
.titleFont {
text-align: left;
font-weight: 600;
color: #666666;
padding-top: 10px;
font-size: 14px;
}
.el-header {
border-bottom: 1px solid #e5e5e5;
}
.el-main {
padding: 0px 16px 16px 16px;
}
.p_lineHeight {
line-height: 30px;
padding: 0 10px;
text-indent: 2em;
}
.bar {
width: 38% !important;
z-index: 100;
}
.dialogClass {}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment