${new Date().toString()} >> 正在上传[${\n file.name\n }] ${event.percent.toFixed(2)}%
`\n );\n }\n\n private created() {\n this.uploadId = this.$utils.Guid();\n this.$signalr.on(\"signalr.reveive\", data => {\n if (data.uploadId && data.uploadId === this.uploadId) {\n this.msgArray.push(`${new Date().toString()} >> ${data.message}`);\n if (!this.showMessage) {\n console.log(data.message);\n }\n //0 进行中 1 成功导入 2 警告(不终止) 3 异常(终止)\n if (data.status === 1 || data.status === 3) {\n }\n }\n });\n }\n\n private updated() {\n // this.$nextTick(function() {\n // var div = document.getElementById(\"msgContent\") || new HTMLDivElement();\n // div.scrollTop = div.scrollHeight;\n // });\n }\n\n @Watch(\"visible\")\n private clearMessageBox(val) {\n if (!val) {\n this.msgArray.splice(0);\n this.$emit(\"close\");\n } else {\n var div = document.getElementById(\"msgContent\");\n if (div) {\n div.scrollTop = div.scrollHeight;\n }\n }\n }\n\n public clearFiles() {}\n\n public abort() {}\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=4ebf3c14&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tw-export\"},[_c('el-button',{attrs:{\"loading\":_vm.loading,\"type\":_vm.type,\"icon\":_vm.icon},on:{\"click\":_vm.download}},[_vm._v(_vm._s(_vm.text)+\"\\n \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from \"@/common\";\n\n@Component({})\nexport default class TwExport extends Vue {\n @Prop({})\n action!: string;\n\n @Prop({ default: \"primary\" })\n type!: string;\n\n @Prop({ default: () => {} })\n data!: object;\n\n @Prop({})\n text!: string;\n\n @Prop({})\n icon!: string;\n\n private loading: boolean = false;\n\n private download() {\n this.loading = true;\n this.$http\n .post(this.action,this.data, { responseType: \"blob\"})\n .then(res => {\n this.loading = false;\n const filename = decodeURIComponent(res.headers[\"filename\"]);\n if (window.navigator.msSaveOrOpenBlob) {\n navigator.msSaveBlob(res.data, filename);\n } else {\n let url = window.URL.createObjectURL(res.data);\n let link = document.createElement(\"a\");\n link.style.display = \"none\";\n link.href = url;\n link.setAttribute(\"download\", filename);\n document.body.appendChild(link);\n link.click();\n URL.revokeObjectURL(link.href);\n }\n })\n .catch(err => {\n this.loading = false;\n });\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=3972ddcc&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticStyle:{\"height\":\"100%\"}},[(_vm.showTool)?_c('el-header',{staticStyle:{\"padding\":\"0px\"},attrs:{\"height\":\"auto\"}},[(_vm.showTool)?_c('el-card',{staticClass:\"tw-tableTools\"},[_c('div',{staticStyle:{\"float\":\"left\"}},[_vm._t(\"leftTools\")],2),_c('div',{staticStyle:{\"float\":\"right\"}},[_vm._t(\"rightTools\")],2)]):_vm._e()],1):_vm._e(),_c('el-main',{staticStyle:{\"padding\":\"0px\"}},[_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"twtable\",attrs:{\"size\":\"mini\",\"height\":\"100%\",\"data\":_vm.pageData,\"row-key\":_vm.rowKey,\"border\":\"\",\"stripe\":_vm.stripe,\"show-summary\":_vm.showSummary,\"sum-text\":_vm.sumText,\"summary-method\":_vm.getSummaries,\"span-method\":_vm.defaultSpanMethod,\"highlight-current-row\":_vm.highlightCurrentRow,\"row-class-name\":_vm.rowClassName,\"row-style\":_vm.rowStyle,\"cell-class-name\":_vm.cellClassName,\"cell-style\":_vm.cellStyle,\"header-row-class-name\":_vm.headerRowClassName,\"header-row-style\":_vm.headerRowStyle,\"header-cell-class-name\":_vm.headerCellClassName,\"header-cell-style\":_vm.headerCellStyle},on:{\"select\":_vm.select,\"select-all\":_vm.selectAll,\"selection-change\":_vm.selectionChange,\"cell-mouse-enter\":_vm.cellMouseEnter,\"cell-mouse-leave\":_vm.cellMouseLeave,\"cell-click\":_vm.cellClick,\"cell-dblclick\":_vm.cellDblclick,\"row-click\":_vm.rowClick,\"row-contextmenu\":_vm.rowContextmenu,\"row-dblclick\":_vm.rowDblclick,\"header-click\":_vm.headerClick,\"header-contextmenu\":_vm.headerContextmenu,\"sort-change\":_vm.defaultSort,\"filter-change\":_vm.filterChange,\"current-change\":_vm.currentChange,\"header-dragend\":_vm.headerDragend,\"expand-change\":_vm.expandChange}},[_vm._t(\"default\",[_c('el-table-column',{attrs:{\"align\":\"center\",\"width\":\"1\",\"type\":\"selection\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._t(\"default\")]}}],null,true)}),(_vm.expand)?_c('el-table-column',{attrs:{\"fixed\":\"left\",\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._t(\"expand\",null,null,props)]}}],null,true)}):_vm._e(),(_vm.selection)?_c('el-table-column',{attrs:{\"fixed\":\"left\",\"align\":\"center\",\"width\":\"60\",\"type\":\"selection\"}}):_vm._e(),(_vm.index)?_c('el-table-column',{attrs:{\"index\":_vm.startIndex,\"align\":\"center\",\"width\":\"60\",\"fixed\":\"left\",\"type\":\"index\",\"label\":\"#\",\"resizable\":false}}):_vm._e(),_c('el-table-column',{attrs:{\"width\":1,\"resizable\":false}}),_c('tw-column',{attrs:{\"columns\":_vm.columns,\"index\":_vm.startIndex}})])],2)],1),(_vm.showTool)?_c('el-footer',{staticStyle:{\"padding\":\"0px\"},attrs:{\"height\":\"auto\"}},[(_vm.paging)?_c('el-card',{staticClass:\"tw-tableTools\"},[_c('el-pagination',{attrs:{\"background\":\"\",\"current-page\":_vm.currentPage,\"page-sizes\":_vm.pageSizes,\"page-size\":_vm.pageSize,\"layout\":\"prev, pager, next, sizes, jumper,slot,-> , total\",\"total\":_vm.total},on:{\"size-change\":_vm.sizeChange,\"current-change\":_vm.currentPageChange}},[_c('span',{staticClass:\"el-pagination__jump\"},[_vm._t(\"pagingTools\")],2)])],1):_vm._e()],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\n\nexport default {\n props: {\n columns: Array\n },\n render(h) {\n const _vue = window[\"Vue\"] as Vue;\n // 创建table的列结构\n const buildHead = columns => {\n if (!columns) {\n return;\n }\n return columns.map(column => {\n return createColumn(column);\n });\n };\n\n // 构建table的列属性\n const createColumn = column => {\n return (\n
\n {buildHead(column.columns)}\n \n );\n };\n\n /*\n data直接通过...的方式附加prop属性到组件无法实现渲染,\n 这里创建为{attrs:data}的格式,实现组件的响应式渲染\n */\n const createAttribute = column => {\n\n const scopedSlots = createControls(column);\n\n let data = { ...column };\n\n if (column.attrs && column.attrs.sortable === true) {\n data = Object.assign(data, { sortable: \"custom\" });\n }\n\n data.showOverflowTooltip = true;\n\n return {\n attrs: data,\n scopedSlots\n };\n };\n\n const createControls = column => {\n let scopedSlots;\n if (column.attrs) {\n switch (column.attrs.type) {\n case 'string':\n scopedSlots = InputEx(column);\n break;\n case 'number':\n scopedSlots = NumberEx(column);\n break;\n case 'datetime':\n case 'date':\n scopedSlots = DataEx(column);\n break;\n case 'time':\n scopedSlots = TimeEx(column);\n break;\n case 'select':\n scopedSlots = SelectEx(column);\n break;\n case 'boolean':\n scopedSlots = BooleanEx(column);\n break;\n }\n } else {\n scopedSlots = {\n default: props => {\n if (column.render) {\n return column.render(props);\n }\n else {\n return (\n
\n {props.row[column.prop]}\n
\n );\n }\n }\n }\n }\n return scopedSlots;\n }\n\n const InputEx = column => {\n return {\n default: props => {\n if (column.attrs.editable && props.row.$editable) {\n return (\n
\n {\n if (column.attrs.change) {\n column.attrs.change(val, props.row[column.prop], props.row,props)\n }\n props.row[column.prop] = val\n }}\n value={props.row[column.prop]}\n maxlength={column.attrs.maxlength || 8096}\n minlength={column.attrs.minlength || 0}\n />\n
\n );\n } else {\n if (!(props.row.$editable && column.attrs.editable) && column.render) {\n return column.render(props)\n }\n else {\n return
{column.formatter ? column.formatter(props.row, props.column, props.row[column.prop], props.$index) : props.row[column.prop]}
;\n }\n }\n }\n };\n }\n\n const NumberEx = column => {\n return {\n default: props => {\n if (column.attrs.editable && props.row.$editable) {\n return (\n
\n {\n if (column.attrs.change) {\n column.attrs.change(val, props.row[column.prop], props.row,props)\n }\n props.row[column.prop] = val\n }}\n controls={false}\n value={props.row[column.prop]}\n controls-position='right'\n precision={column.attrs.precision || 0}\n min={column.attrs.min || -2147483648}\n max={column.attrs.max || 2147483647}\n />\n
\n );\n } else {\n if (!(props.row.$editable && column.attrs.editable) && column.render) {\n return column.render(props)\n }\n return
{column.formatter ? column.formatter(props.row, props.column, props.row[column.prop], props.$index) : (props.row[column.prop]?props.row[column.prop].toFixed((column.attrs.precision || 0))*1:0)}
;\n }\n }\n }\n }\n\n const DataEx = column => {\n return {\n default: props => {\n if (column.attrs.editable && props.row.$editable) {\n return (\n
\n {\n if (column.attrs.change) {\n column.attrs.change(val, props.row[column.prop], props.row,props)\n }\n props.row[column.prop] = val\n }}\n type={column.attrs.type}\n value={props.row[column.prop]}\n />\n
\n );\n } else {\n if (!(props.row.$editable && column.attrs.editable) && column.render) {\n return column.render(props)\n }\n return (\n
\n {column.formatter ? column.formatter(props.row, props.column, props.row[column.prop], props.$index) : props.row[column.prop] ? _vue.$moment(\n new Date(props.row[column.prop])).format(\n column.attrs.type === 'datetime'\n ? 'YYYY-MM-DD HH:mm:ss'\n : 'YYYY-MM-DD'\n ) : \"\"}\n
\n );\n }\n }\n }\n }\n\n const TimeEx = column => {\n return {\n default: props => {\n if (column.attrs.editable && props.row.$editable) {\n return (\n
\n {\n if (column.attrs.change) {\n column.attrs.change(val, props.row[column.prop], props.row,props)\n }\n props.row[column.prop] = val\n }}\n value={props.row[column.prop]}\n />\n
\n );\n } else {\n if (!(props.row.$editable && column.attrs.editable) && column.render) {\n return column.render(props)\n }\n return (\n
\n {column.formatter ? column.formatter(props.row, props.column, props.row[column.prop], props.$index) : props.row[column.prop] ? _vue.$moment(\n new Date(props.row[column.prop])).format(\n 'HH:mm:ss'\n ) : \"\"}\n
\n );\n }\n }\n }\n }\n\n const SelectEx = column => {\n\n // 创建下拉框对象\n const createOptions = column => {\n return (typeof column.attrs.options === 'function' ? column.attrs.options() : (column.attrs.options || [])).map(item => {\n return (
\n );\n });\n };\n\n return {\n default: props => {\n if (column.attrs.editable && props.row.$editable) {\n return (\n
\n {\n if (column.attrs.change) {\n column.attrs.change(val, props.row[column.prop], props.row,props)\n }\n props.row[column.prop] = val\n }}\n value={props.row[column.prop]}\n filterable\n >\n {createOptions(column)}\n \n
\n );\n } else {\n\n if (!(props.row.$editable && column.attrs.editable) && column.render) {\n return column.render(props,(typeof column.attrs.options === 'function' ? column.attrs.options() : (column.attrs.options || [])))\n }\n\n\n if (column.formatter) {\n return
{column.formatter(props.row, props.column, props.row[column.prop], props.$index)}\n }\n\n if (column.attrs.options) {\n if (typeof column.attrs.options === 'function') {\n return column.attrs.options();\n }\n else {\n const item = column.attrs.options.find(item => item.value === props.row[column.prop]);\n if (item) {\n return
{column.attrs.options.find(item => item.value === props.row[column.prop])[\"label\"]}\n } else {\n return
{props.row[column.prop]}\n }\n }\n\n }\n return props.row[column.prop]\n }\n }\n }\n }\n\n const BooleanEx = column => {\n return {\n default: props => {\n if (column.attrs.editable && props.row.$editable) {\n return (\n
\n {\n if (column.attrs.change) {\n column.attrs.change(val, props.row[column.prop], props.row,props)\n }\n props.row[column.prop] = val\n }}\n value={props.row[column.prop]}\n active-value={1}\n inactive-value={0}>\n
\n );\n } else {\n if (!(props.row.$editable && column.attrs.editable) && column.render) {\n return column.render(props)\n }\n return column.formatter ? column.formatter(props.row, props.column, props.row[column.prop], props.$index) :
\n \n \n
;\n }\n }\n };\n }\n\n if (this.columns) {\n return (\n
\n {buildHead(this.columns)}\n
\n )\n } else {\n return
\n }\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Vue, Prop, Watch} from \"@/common\";\nimport {Table} from \"element-ui\";\nimport TwColumn from \"./TwColumn\";\nimport Sortable from \"sortablejs\";\n\n@Component({components: {\"tw-column\": TwColumn}})\nexport default class TwTable extends Vue {\n\t@Prop({default: false})\n\tprivate paging!: boolean; //是否显示分页\n\n\t@Prop({default: false})\n\tprivate index!: boolean; //是否显示行号\n\n\t@Prop({default: \"\"})\n\tprivate height!: string; // 自定义高度\n\n\t@Prop({default: false})\n\tprivate selection!: boolean; //是否显示复选框\n\n\t@Prop({default: false})\n\tprivate expand!: boolean; //是否有展开项\n\n\t@Prop({default: false})\n\tprivate showSummary!: boolean; //是否显示合计\n\n\t@Prop({default: true})\n\tprivate highlightCurrentRow!: boolean; //是否高亮选中行\n\n\t@Prop({default: \"\"})\n\tprivate rowKey!: String; //数据主键\n\n\t@Prop({default: \"\"})\n\tprivate sumText!: String; //汇总文本\n\n\t@Prop({})\n\tprivate summaryMethod!: Function; //自定义汇总方式\n\n\t@Prop({})\n\tprivate spanMethod!: Function; //行列合并控制器\n\n\t@Prop({})\n\tprivate rowClassName!: Function | String; //设置行className\n\n\t@Prop({})\n\tprivate rowStyle!: Function | Object; //设置行style\n\n\t@Prop({})\n\tprivate cellClassName!: Function | String; //设置单元格className\n\n\t@Prop({})\n\tprivate cellStyle!: Function | Object; //设置单元格style\n\n\t@Prop({})\n\tprivate headerRowClassName!: Function | String; //设置表头className\n\n\t@Prop({})\n\tprivate headerRowStyle!: Function | Object; //设置表头style\n\n\t@Prop({})\n\tprivate headerCellClassName!: Function | String; //设置表头单元格className\n\n\t@Prop({})\n\tprivate headerCellStyle!: Function | Object; //设置表头单元格style\n\n\t@Prop({})\n\tprivate data!: Array
; //父组件传过来的table数据\n\n\t@Prop({default: []})\n\tprivate columns!: Array; //table表头\n\n\t@Prop({})\n\tprivate action!: string; //远程加载数据\n\n\t@Prop({default: false})\n\tprivate autoLoad!: boolean; //自动加载数据\n\n\t@Prop({default: false})\n\tprivate editable: boolean; //是否允许编辑\n\n\t@Prop({default: false})\n\tprivate draggable: boolean; // 是否允许拖动\n\n\t@Prop({\n\t\tdefault: () => {\n\t\t\treturn [10, 20, 30, 40, 100, 1000];\n\t\t}\n\t})\n\tprivate pageSizes!: Array; //每页显示选择器\n\n\t@Prop({default: 20})\n\tprivate defaultSize: number;\n\n\tprivate pageSize: number = 20; //每页显示行数\n\n\tprivate currentPage: number = 1; //当前页数\n\n\tprivate startIndex: number = -1; //默认开始行号\n\n\tprivate total: number = 0; //总数据\n\n\tprivate pageData: Array = []; //当前页数据\n\n\tprivate params: object = {}; //查询条件\n\n\tprivate loading: boolean = false; //数据加载动画\n\n\tprivate currentRow: object = {}; //选中行\n\n\tprivate selections: object = {}; //选中行\n\n\tprivate sortProp: string; // 排序字段\n\n\tprivate sortDirection: string; // 排序方向\n\n\tprivate sortable: any = null; // 行拖拽对象\n\n\tprivate select(selection, row) {\n\t\tthis.$emit(\"select\", selection, row);\n\t}\n\n\tprivate selectAll(selection) {\n\t\tthis.$emit(\"select-all\", selection);\n\t}\n\n\tprivate selectionChange(selection) {\n\t\tthis.selections = selection;\n\t\tthis.$emit(\"selection-change\", selection);\n\t}\n\n\tprivate cellMouseEnter(row, column, cell, event) {\n\t\tthis.$emit(\"cell-mouse-enter\", row, column, cell, event);\n\t}\n\n\tprivate cellMouseLeave(row, column, cell, event) {\n\t\tthis.$emit(\"cell-mouse-leave\", row, column, cell, event);\n\t}\n\n\tprivate cellClick(row, column, cell, event) {\n\t\tthis.$emit(\"cell-click\", row, column, cell, event);\n\t}\n\n\tprivate cellDblclick(row, column, cell, event) {\n\t\tthis.$emit(\"cell-dblclick\", row, column, cell, event);\n\t}\n\n\tprivate rowClick(row, event, column) {\n\t\tthis.currentRow = row;\n\t\tthis.$emit(\"row-click\", row, event, column);\n\t}\n\n\tprivate rowContextmenu(row, event) {\n\t\tthis.$emit(\"row-contextmenu\", row, event);\n\t}\n\n\tprivate rowDblclick(row, event) {\n\t\tthis.$emit(\"row-dblclick\", row, event);\n\t}\n\n\tprivate headerClick(column, event) {\n\t\tthis.$emit(\"header-click\", column, event);\n\t}\n\n\tprivate headerContextmenu(column, event) {\n\t\tthis.$emit(\"header-contextmenu\", column, event);\n\t}\n\n\t// private sortChange(param) {\n\t// this.$emit(\"sort-change\", param);\n\t// }\n\n\tprivate filterChange(filters) {\n\t\tthis.$emit(\"filter-change\", filters);\n\t}\n\n\tprivate currentChange(currentRow, oldCurrentRow) {\n\t\tthis.$emit(\"current-change\", currentRow, oldCurrentRow);\n\t}\n\n\tprivate headerDragend(newWidth, oldWidth, column, event) {\n\t\tthis.$emit(\"header-dragend\", newWidth, oldWidth, column, event);\n\t}\n\n\tprivate expandChange(row, expandedRows) {\n\t\tthis.$emit(\"expand-change\", row, expandedRows);\n\t}\n\n\t//根据toolslot来判断是否显示顶部工具栏\n\tprivate get showTool(): boolean {\n\t\tif (this.$slots.leftTools || this.$slots.rightTools) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t// 计算table高度;\n\tprivate get bodyHeight(): string {\n\t\t// if (!this.height) {\n\t\t// return `calc(100% - ${this.diffHeight}px)`;\n\t\t// } else {\n\t\t// return `calc(${this.height} - ${this.diffHeight}px)`;\n\t\t// }\n\t\treturn \"100%\";\n\t}\n\n\t//根据tool和margin等信息统计浮动高度,作为table高度计算的一部分\n\tprivate get diffHeight() {\n\t\tlet height = 0;\n\t\theight += this.showTool ? 42 : 0; //动态计算的时候 该部位的高度已经计算过了\n\t\theight += this.paging ? 35 : 0;\n\t\treturn height;\n\t}\n\n\t//stripe会影响行样式,所以在设置行样式或者排序的情况下,取消stripe\n\tprivate get stripe() {\n\t\tif (this.rowClassName || this.rowStyle || this.draggable) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\t// 修改每页显示时候触发\n\tprivate sizeChange(val) {\n\t\tthis.pageSize = val;\n\t\tthis.watchData(this.data);\n\t\tthis.requestData();\n\t}\n\n\t// 修改当前显示页时候触发\n\tprivate currentPageChange(val) {\n\t\tthis.currentPage = val;\n\t\tthis.watchData(this.data);\n\t\tthis.requestData();\n\t}\n\n\t// 获取所有需要求和的属性\n\tprivate get getSummaryProps(): any[] {\n\t\tif (this.columns) {\n\t\t\treturn this.getSummaryProp(this.columns);\n\t\t}\n\t\treturn new Array();\n\t}\n\n\t// 获取单层需要求和的属性\n\tprivate getSummaryProp(columns): any[] {\n\t\tconst summary: any[] = [];\n\t\tcolumns.forEach(item => {\n\t\t\tif (!item.columns) {\n\t\t\t\tif (item.attrs && item.attrs.summary) {\n\t\t\t\t\tsummary.push(item.prop);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsummary.push(...this.getSummaryProp(item.columns));\n\t\t\t}\n\t\t});\n\n\t\treturn summary;\n\t}\n\n\t//自定义求和方式\n\tprivate getSummaries(param) {\n\t\tif (this.summaryMethod) {\n\t\t\treturn this.summaryMethod(\n\t\t\t\tObject.assign(param, {summaryProps: this.getSummaryProps})\n\t\t\t);\n\t\t}\n\t\tconst {columns, data} = param;\n\t\tconst sums: any[] = [];\n\t\tcolumns.forEach((column, index) => {\n\t\t\tif (index === 1) {\n\t\t\t\tsums[index] = this.sumText || \"汇总\";\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst summaryProp = this.getSummaryProps;\n\t\t\tconst sumable =\n\t\t\t\tsummaryProp.filter(item => item === column.property).length > 0;\n\t\t\tconst values = data.map(item => Number(item[column.property]));\n\t\t\tif (!values.every(value => isNaN(value)) && sumable) {\n\t\t\t\tsums[index] = values.reduce((prev, curr) => {\n\t\t\t\t\tconst value = Number(curr);\n\t\t\t\t\tif (!isNaN(value)) {\n\t\t\t\t\t\treturn (prev * 100000 + curr * 100000) / 100000;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn prev;\n\t\t\t\t\t}\n\t\t\t\t}, 0);\n\t\t\t} else {\n\t\t\t}\n\t\t});\n\n\t\treturn sums;\n\t}\n\n\t// 获取所有需要合并行的属性\n\tprivate get getSpanProps(): any[] {\n\t\tif (this.columns) {\n\t\t\treturn this.getSpanProp(this.columns);\n\t\t}\n\t\treturn new Array();\n\t}\n\n\t// 获取单层需要合并行的属性\n\tprivate getSpanProp(columns): any[] {\n\t\tconst span: any[] = [];\n\t\tcolumns.forEach(item => {\n\t\t\tif (!item.columns) {\n\t\t\t\tif (item.attrs && item.attrs.spanable) {\n\t\t\t\t\tspan.push(item.prop);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tspan.push(...this.getSpanProp(item.columns));\n\t\t\t}\n\t\t});\n\n\t\treturn span;\n\t}\n\n\tprivate defaultSpanMethod({row, column, rowIndex, columnIndex}) {\n\t\tif (this.spanMethod) {\n\t\t\treturn this.spanMethod({\n\t\t\t\trow,\n\t\t\t\tcolumn,\n\t\t\t\trowIndex,\n\t\t\t\tcolumnIndex,\n\t\t\t\tspan: this.getSpanProps\n\t\t\t});\n\t\t} else {\n\t\t\tif (this.getSpanProps.indexOf(column.property) > -1) {\n\t\t\t\tif (\n\t\t\t\t\trowIndex === 0 ||\n\t\t\t\t\trow[column.property] !== this.pageData[rowIndex - 1][column.property]\n\t\t\t\t) {\n\t\t\t\t\tconst deep = this.spanDeep(\n\t\t\t\t\t\trow[column.property],\n\t\t\t\t\t\tcolumn.property,\n\t\t\t\t\t\trowIndex\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\trowspan: deep - rowIndex + 1,\n\t\t\t\t\t\tcolspan: 1\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\treturn {\n\t\t\t\t\t\trowspan: 0,\n\t\t\t\t\t\tcolspan: 0\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate defaultSort({column, prop, order}) {\n\t\tthis.sortProp = prop;\n\t\tthis.sortDirection = order;\n\t\tthis.requestData();\n\t}\n\n\tprivate spanDeep(cellValue, prop, deep) {\n\t\tif (deep + 1 === this.pageData.length) {\n\t\t\treturn deep;\n\t\t}\n\t\tif (this.pageData[deep + 1][prop] === cellValue) {\n\t\t\treturn this.spanDeep(cellValue, prop, deep + 1);\n\t\t} else {\n\t\t\treturn deep;\n\t\t}\n\t}\n\n\t// 给获取的数据附加上编辑标识\n\tprivate addEditStatus(data) {\n\t\treturn data.map((item, index) => {\n\t\t\tthis.$set(item, \"$editable\", false);\n\t\t\tthis.$set(item, \"$index\", index);\n\t\t\treturn item;\n\t\t});\n\t}\n\n\t//处理本地数据分页\n\t@Watch(\"data\")\n\tprivate watchData(val: Array) {\n\t\tif (!this.action) {\n\t\t\tif (this.paging) {\n\t\t\t\tthis.total = val.length;\n\t\t\t\tthis.startIndex = (this.currentPage - 1) * this.pageSize + 1;\n\t\t\t\tthis.pageData = this.addEditStatus(\n\t\t\t\t\tval.slice(\n\t\t\t\t\t\t(this.currentPage - 1) * this.pageSize,\n\t\t\t\t\t\tthis.currentPage * this.pageSize\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.pageData = this.addEditStatus(val);\n\t\t\t}\n\t\t}\n\t}\n\n\t//远程请求数据\n\tprivate requestData(callback?:Function) {\n\t\tthis.currentRow = null;\n\t\tconst _sort = this.sortProp\n\t\t\t? `${this.sortProp} ${\n\t\t\t\tthis.sortDirection === \"ascending\" ? \"asc\" : \"desc\"\n\t\t\t}`\n\t\t\t: null;\n\t\t//给查询参数附带上分页信息\n\t\tconst postParams = Object.assign(this.params, {\n\t\t\t_timestamp: new Date(),\n\t\t\t_start: this.currentPage - 1,\n\t\t\t_limit: this.paging ? this.pageSize : 99999,\n\t\t\t_sort\n\t\t});\n\n\t\tif (this.action) {\n\t\t\tthis.loading = true;\n\t\t\tthis.$http\n\t\t\t\t.post(this.action, postParams)\n\t\t\t\t.then(res => {\n\t\t\t\t\tif (res.data.status && res.data.status === 1) {\n\t\t\t\t\t\tthis.$utils.Error(res.data.msg);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tthis.currentPage = res.data.start + 1;\n\t\t\t\t\tthis.total = res.data.total;\n\t\t\t\t\tthis.startIndex = (this.currentPage - 1) * this.pageSize + 1;\n\t\t\t\t\tthis.pageData = this.addEditStatus(res.data.data);\n\t\t\t\t\tthis.loading = false;\n\t\t\t\t\tif(callback){\n\t\t\t\t\t\tcallback(res.data.data)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(err => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tthis.loading = false;\n\t\t\t\t\tthis.$message({\n\t\t\t\t\t\tshowClose: true,\n\t\t\t\t\t\tmessage: err,\n\t\t\t\t\t\ttype: \"error\"\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t}\n\t}\n\n\tprivate get table(): Table {\n\t\treturn this.$refs[\"twtable\"] as Table;\n\t}\n\n\t/**\n\t * 清除选中数据\n\t */\n\tpublic clearSelection() {\n\t\tthis.table.clearSelection();\n\t}\n\n\t/**\n\t * 切换选中状态\n\t * @param index 行号\n\t * @param selected 要改成的状态 缺省值 不填则反选选择\n\t */\n\tpublic toggleRowSelection(index, selected?) {\n\t\tthis.table.toggleRowSelection(this.pageData[index], selected);\n\t}\n\n\t/**\n\t * 切换所有行的选中状态\n\t */\n\tpublic toggleAllSelection() {\n\t\tthis.table.toggleAllSelection();\n\t}\n\n\t/**\n\t * 切换展开表格\n\t * @param index 要展开的行\n\t * @param expanded 要切换的状态 缺省值 不填则反向切换\n\t */\n\tpublic toggleRowExpansion(index, expanded?) {\n\t\tthis.table.toggleRowExpansion(this.pageData[index], expanded);\n\t}\n\n\t/**\n\t * 指定行为选中状态\n\t * @param index 要选中的行 缺省值 不填则取消已选中的当前行\n\t */\n\tpublic setCurrentRow(index?) {\n\t\tconst row = index > -1 ? this.pageData[index] : null;\n\t\tthis.table.setCurrentRow(row);\n\t\tthis.currentChange(row, this.currentRow);\n\t\tthis.currentRow = row;\n\t}\n\n\t/**\n\t * 获取当前选中行\n\t */\n\tpublic getCurrentRow() {\n\t\treturn this.currentRow;\n\t}\n\n\t/**\n\t * 获取所有选中集合\n\t */\n\tpublic getSelections(): Array {\n\t\tconst rows = this.selections as Array;\n\t\tif (rows.length === undefined) {\n\t\t\treturn [];\n\t\t}\n\t\treturn rows;\n\t}\n\n\t/**\n\t * 获取当前加载额数据\n\t */\n\tpublic getData() {\n\t\treturn this.pageData;\n\t}\n\n\t/**\n\t * 获取当前加载额数据\n\t */\n\tpublic fillData(data: Array) {\n\t\tthis.pageData.splice(0);\n\t\tthis.pageData.push(...data);\n\t}\n\n\n\t/**\n\t * 清除排序\n\t */\n\tpublic clearSort() {\n\t\tthis.sortProp = null;\n\t\tthis.sortDirection = null;\n\t\tthis.table.clearSort();\n\t}\n\n\t/**\n\t * 清除过滤\n\t */\n\tpublic clearFilter() {\n\t\tthis.table.clearFilter();\n\t}\n\n\t/**\n\t * 对 Table 进行重新布局。当 Table 或其祖先元素由隐藏切换为显示时,可能需要调用此方法\n\t */\n\tpublic doLayout() {\n\t\tthis.table.doLayout();\n\t}\n\n\t/**\n\t * 手动对 Table 进行排序\n\t * @param prop 要排序的列\n\t * @param order 排序方式\n\t */\n\tpublic sort(prop, order) {\n\t\tthis.table.sort(prop, order);\n\t}\n\n\t/**\n\t * 添加新行\n\t * @param data 需要初始化的数据 可空\n\t * @param edit 要排序的列 添加的数据是否允许编辑(允许行编辑的情况下才有效) 可空\n\t * @param index 添加位置 默认0\n\t */\n\tpublic addNewRow(data?: any, edit?: boolean, index?: number) {\n\t\tdata = data || {};\n\t\tdata.$editable = edit || false;\n\t\tindex = index || 0;\n\t\tthis.pageData.splice(index, 0, data);\n\t}\n\n\t/**\n\t * 加载数据\n\t * @param params 过滤参数\n\t */\n\tpublic load(params?: object,callback?:Function) {\n\t\tthis.params = params || {};\n\t\tthis.requestData(callback);\n\t}\n\n\t/**\n\t * 基于上一次的查询条件重新加载数据\n\t */\n\tpublic reload() {\n\t\tthis.requestData();\n\t}\n\n\tprivate editData = [];\n\n\t/**\n\t * 开始行编辑\n\t * @param index 要编辑的当前页行号\n\t * @param beforeStart 编辑判断,返回false不启动编辑 缺省值\n\t */\n\tpublic startEditing(index: number, beforeStart?: () => boolean) {\n\t\tif (beforeStart) {\n\t\t\tif (beforeStart() === false) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (this.pageData && index < 0 && this.editable) {\n\t\t\tfor (let i = 0; i < this.pageData.length; i++) {\n\t\t\t\tthis.editData[i] = this.pageData[i];\n\t\t\t\tthis.$set(\n\t\t\t\t\tthis.pageData,\n\t\t\t\t\ti,\n\t\t\t\t\tObject.assign({}, this.pageData[i], {$editable: true})\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tif (this.pageData && this.pageData[index] && this.editable) {\n\t\t\t\tthis.editData[index] = this.pageData[index];\n\t\t\t\tthis.$set(\n\t\t\t\t\tthis.pageData,\n\t\t\t\t\tindex,\n\t\t\t\t\tObject.assign({}, this.pageData[index], {$editable: true})\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * 提交修改的行编辑\n\t * @param index 提交编辑的当前页行号\n\t * @param beforeStart 提交编辑判断,返回false无法结束编辑 缺省值\n\t */\n\tpublic submitEditing(index: number, beforeEnd?: () => boolean) {\n\t\tif (beforeEnd) {\n\t\t\tif (beforeEnd() === false) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (this.pageData && this.pageData[index] && this.editable) {\n\t\t\tthis.$set(\n\t\t\t\tthis.pageData,\n\t\t\t\tindex,\n\t\t\t\tObject.assign({}, this.pageData[index], {$editable: false})\n\t\t\t);\n\t\t\tthis.editData[index] = null;\n\t\t\tthis.$emit(\"Edit\", this.pageData[index]);\n\t\t}\n\t}\n\n\t/**\n\t * 删除当前行\n\t * @param index 要删除的行号\n\t * @param beforeDelete 删除前判断,返回false无法删除\n\t */\n\tpublic deleteRow(index: number, beforeDelete?: () => boolean) {\n\t\tif (beforeDelete) {\n\t\t\tif (beforeDelete() === false) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tconst delRows = this.pageData.splice(index, 1);\n\t\tthis.$emit(\"Delete\", delRows);\n\t}\n\n\t/**\n\t * 取消行编辑\n\t * @param index 取消编辑的当前页行号\n\t */\n\tpublic cancelEditing(index: number) {\n\t\tthis.$set(\n\t\t\tthis.pageData,\n\t\t\tindex,\n\t\t\tObject.assign({}, this.editData[index], {$editable: false})\n\t\t);\n\t}\n\n\tprivate mounted() {\n\t\tthis.pageSize = this.defaultSize;\n\t\tif (this.autoLoad) {\n\t\t\tthis.load();\n\t\t}\n\n\t\tthis.setDorp(this.draggable);\n\n\t\t// 临时解决table中间出现emptydata层的横向滚动条问题\n\t\tthis.$nextTick(() => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.doLayout();\n\t\t\t}, 300)\n\t\t});\n\n\n\t}\n\n\tprivate setDorp(val) {\n\t\tif (this.sortable) {\n\t\t\tthis.sortable.option(\"disabled\", !val);\n\t\t} else {\n\t\t\tif (val) {\n\t\t\t\tconst el = (this.$refs[\"twtable\"] as any).$el.querySelectorAll(\n\t\t\t\t\t\".el-table__body-wrapper > table > tbody\"\n\t\t\t\t)[0];\n\t\t\t\tthis.sortable = Sortable.create(el, {\n\t\t\t\t\tghostClass: \"sortable-ghost\", // Class name for the drop placeholder,\n\t\t\t\t\tsetData: function (dataTransfer) {\n\t\t\t\t\t\tdataTransfer.setData(\"Text\", \"\");\n\t\t\t\t\t},\n\t\t\t\t\tonEnd: e => {\n\t\t\t\t\t\tconst targetRow = this.pageData.splice(e.oldIndex, 1)[0];\n\t\t\t\t\t\tthis.pageData.splice(e.newIndex, 0, targetRow);\n\n\t\t\t\t\t\tconst tempData = this.pageData;\n\t\t\t\t\t\tthis.pageData = [];\n\n\t\t\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\t\t\tthis.pageData = tempData.map((data, index) => {\n\t\t\t\t\t\t\t\tdata[\"XROWINDEX\"] = index + 1;\n\t\t\t\t\t\t\t\treturn data;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tlet target;\n\t\t\t\t\t\tlet type = \"before\";\n\n\t\t\t\t\t\tif (e.newIndex === 0) {\n\t\t\t\t\t\t\ttarget = tempData[1];\n\t\t\t\t\t\t} else if (e.newIndex === tempData.length - 1) {\n\t\t\t\t\t\t\ttarget = tempData[tempData.length - 2];\n\t\t\t\t\t\t\ttype = \"after\";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttarget = tempData[e.newIndex + 1];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis.$emit(\"drop\", {\n\t\t\t\t\t\t\tcurrent: targetRow,\n\t\t\t\t\t\t\ttarget,\n\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\tfrom: e.oldIndex,\n\t\t\t\t\t\t\tto: e.newIndex\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t@Watch(\"draggable\")\n\tdraggableChange(val) {\n\t\tthis.setDorp(val);\n\t}\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=ac485d28&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{style:({position:'relative',height:_vm.height}),on:{\"mousemove\":_vm.onMouseMove,\"mouseup\":_vm.onMouseUp}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from \"@/common\";\n\n@Component({})\nexport default class TwContainer extends Vue {\n @Prop({ default: \"100%\" })\n private height: string;\n\n private currUid: number;\n\n private currVNode: object;\n\n private currEvent: object;\n\n private active: boolean = false;\n\n private itemSize: number = 0;\n\n splitDown(e, vnode) {\n this.active = true;\n this.currEvent = e;\n this.currVNode = vnode;\n vnode[\"hasMoved\"] = false;\n if (vnode[\"direction\"] === \"vertical\") {\n this.itemSize = vnode[\"height\"];\n } else {\n this.itemSize = vnode[\"width\"];\n }\n }\n\n onMouseUp() {\n this.active = false;\n }\n onMouseMove(e) {\n if (e.buttons === 0 || e.which === 0) {\n this.active = false;\n }\n\n if (this.active) {\n if (this.currVNode[\"direction\"] === \"vertical\") {\n this.currVNode[\"height\"] =\n this.itemSize +\n (this.currVNode[\"region\"] === \"top\"\n ? e.pageY - this.currEvent[\"pageY\"]\n : this.currEvent[\"pageY\"] - e.pageY);\n } else {\n this.currVNode[\"width\"] =\n this.itemSize +\n (this.currVNode[\"region\"] === \"left\"\n ? e.pageX - this.currEvent[\"pageX\"]\n : this.currEvent[\"pageX\"] - e.pageX);\n }\n this.currVNode[\"hasMoved\"] = true;\n }\n e.preventDefault();\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=094d82aa&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tw-twitem\",style:(_vm.itemStyle)},[(!_vm.currSplit)?_c('div',{style:(_vm.containerStyle)},[_vm._t(\"default\")],2):_vm._e(),(_vm.showSplit)?_c('div',{class:_vm.splitClass,on:{\"mousedown\":_vm.onMouseDown}},[_c('div',{class:_vm.imgClass,on:{\"click\":_vm.splitClick}})]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop} from \"@/common\";\n\n@Component({})\nexport default class TwItem extends Vue {\n @Prop({})\n private size!: number;\n\n @Prop({ default: false })\n private collapsed!: boolean;\n\n @Prop({ default: false })\n private showSplit!: boolean;\n\n @Prop({\n validator: value => {\n return [\"top\", \"bottom\", \"left\", \"right\", \"center\"].indexOf(value) !== -1;\n }\n })\n private region!: string;\n\n private direction: string = \"\";\n\n private height: number = this.size || 0;\n\n private width: number = this.size || 0;\n\n private currSplit: boolean = this.collapsed;\n\n private currSize: number = this.size;\n\n private hasMoved: boolean = false;\n\n private get splitClass(): string {\n let cls = [\"splitter-pane-resizer\"];\n\n cls.push(this.direction);\n\n cls.push(this.region);\n\n return cls.join(\" \");\n }\n\n private get imgClass(): string {\n let cls = [\"img\"];\n this.currSplit ? cls.push(\"collapsed\") : cls.push(\"expanded\");\n return cls.join(\" \");\n }\n\n private get itemStyle(): string {\n let _style = \"overflow:hide;position:absolute;\";\n\n let _topHeight = 0;\n let _bottomHeight = 0;\n\n let _leftWidth = 0;\n let _rightWidth = 0;\n\n const thisUid = this.$vnode.componentInstance[\"_uid\"];\n\n this.$parent.$slots.default.forEach(value => {\n if (value.componentInstance) {\n if (value.componentInstance[\"_uid\"] === thisUid) {\n _style += `${this.region}:0px;`;\n switch (this.region) {\n case \"top\":\n case \"bottom\":\n _style += `left:${_leftWidth}px;`;\n _style += `height:${this.height}px;`;\n if (_leftWidth + _rightWidth > 0) {\n _style += `width:calc(100% - ${_leftWidth + _rightWidth}px);`;\n } else {\n _style += `width:100%;`;\n }\n break;\n case \"left\":\n case \"right\":\n _style += `top:${_topHeight}px;`;\n _style += `width:${this.width}px;`;\n if (_topHeight + _bottomHeight > 0) {\n _style += `height:calc(100% - ${_topHeight +\n _bottomHeight}px);`;\n } else {\n _style += `height:100%;`;\n }\n break;\n }\n } else {\n switch (value.componentOptions.propsData[\"region\"]) {\n case \"top\":\n _topHeight = parseInt(value.componentInstance[\"height\"] || 0, 10);\n break;\n case \"bottom\":\n _bottomHeight = parseInt(\n value.componentInstance[\"height\"] || 0,\n 10\n );\n break;\n case \"left\":\n _leftWidth = parseInt(value.componentInstance[\"width\"] || 0, 10);\n break;\n case \"right\":\n _rightWidth = parseInt(value.componentInstance[\"width\"] || 0, 10);\n break;\n }\n }\n }\n });\n\n if (this.region === \"center\") {\n _style += `left:${_leftWidth}px;top:${_topHeight}px;width:calc(100% - ${_leftWidth +\n _rightWidth}px);height:calc(100% - ${_topHeight + _bottomHeight}px);`;\n }\n\n return _style;\n }\n\n private get containerStyle(): string {\n let style = \"position:absolute;overflow:auto;\";\n let height = \"height:100%;\";\n let width = \"width:100%;\";\n if (this.showSplit) {\n if (this.direction === \"vertical\") {\n style += this.region === \"top\" ? \"bottom:5px;\" : \"top:5px;\";\n height = \"height:calc(100% - 5px);\";\n } else if (this.direction === \"horizontal\") {\n style += this.region === \"left\" ? \"right:5px;\" : \"left:5px;\";\n width = \"width:calc(100% - 5px);\";\n }\n }\n return style + height + width;\n }\n\n splitClick() {\n if (!this.hasMoved) {\n this.currSplit = !this.currSplit;\n this.setSplitClick();\n }\n }\n\n setSplitClick() {\n if (this.currSplit) {\n if (this.direction === \"vertical\") {\n this.currSize = this.height;\n this.height = 5;\n } else {\n this.currSize = this.width;\n this.width = 5;\n }\n } else {\n if (this.direction === \"vertical\") {\n this.height = this.currSize;\n } else {\n this.width = this.currSize;\n }\n }\n }\n\n onMouseDown(e) {\n if (!this.currSplit) {\n (this.$parent as any).splitDown(e, this);\n }\n }\n\n mounted() {\n if (this.region === \"top\" || this.region === \"bottom\") {\n this.direction = \"vertical\";\n } else if (this.region === \"left\" || this.region === \"right\") {\n this.direction = \"horizontal\";\n }\n this.setSplitClick();\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TwItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TwItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TwItem.vue?vue&type=template&id=7ccca54f&\"\nimport script from \"./TwItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./TwItem.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TwItem.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{directives:[{name:\"el-drag-dialog\",rawName:\"v-el-drag-dialog\"}],staticClass:\"tw-window\",attrs:{\"visible\":_vm.visible,\"title\":_vm.title,\"center\":_vm.center,\"top\":_vm.top,\"width\":_vm.width,\"fullscreen\":_vm.fullscreen,\"append-to-body\":true,\"close-on-click-modal\":false,\"before-close\":_vm.close,\"show-close\":_vm.showClose},on:{\"update:visible\":function($event){_vm.visible=$event},\"open\":_vm.open}},[_vm._t(\"title\",null,{\"slot\":\"title\"}),_vm._t(\"default\"),(_vm.showFooter)?_vm._t(\"footer\",[_c('el-button',{on:{\"click\":_vm.cancel}},[_vm._v(\"取 消\")]),_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.loading},on:{\"click\":_vm.ok}},[_vm._v(\"确 定\")])],{\"slot\":\"footer\"}):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop, Model, Watch } from \"@/common\";\n\n@Component({})\nexport default class TwWindow extends Vue {\n @Model(\"change\")\n private value: boolean;\n\n @Prop({ default: true })\n private showClose: boolean;\n\n @Prop({ default: true })\n private showFooter: boolean;\n\n @Prop({ default: false })\n private center: boolean;\n\n @Prop({ default: false })\n private fullscreen: boolean;\n\n @Prop({ default: \"600px\" })\n private width: string;\n\n @Prop({ default: \"15vh\" })\n private top: string;\n\n @Prop({})\n private title: string;\n\n @Prop({})\n private beforeClose: Function; //右上角关闭按钮或者esc触发\n\n @Prop({ default: false })\n private loading: boolean;\n\n private visible: boolean = false;\n\n @Watch(\"value\")\n private changeShow(val) {\n this.visible = val;\n }\n\n private cancel() {\n this.closeDialog();\n this.$emit(\"on-cancel\");\n }\n\n private ok() {\n this.$emit(\"on-ok\");\n }\n\n private open(){\n this.$emit(\"open\");\n }\n\n private close(done) {\n if (this.beforeClose) {\n this.beforeClose(done);\n } else {\n this.closeDialog();\n }\n }\n private closeDialog() {\n this.$emit(\"change\", false);\n }\n\n mounted() {\n this.visible = this.value;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=1bb63dbd&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"display\":\"inline-block\"}},[_c('el-row',{staticClass:\"margin-top-5\"},[_c('tw-table',{ref:\"filesTable\",attrs:{\"selection\":true,\"index\":true,\"height\":300,\"auto-load\":false,\"action\":_vm.loadAction,\"columns\":_vm.filesHead,\"highlight-current-row\":true},on:{\"row-dblclick\":_vm.dblClick}},[_c('div',{attrs:{\"slot\":\"leftTools\"},slot:\"leftTools\"},[_c('tw-upload',{ref:\"TwinkleTUpload\",staticStyle:{\"display\":\"inline-block\"},attrs:{\"show-message\":false,\"multiple\":true,\"action\":_vm.Host,\"data\":_vm.params,\"accept\":_vm.accept,\"format\":_vm.format,\"before-upload\":_vm.InterceptBeforeUpload,\"on-progress\":_vm.onProgress,\"on-success\":_vm.onSuccess,\"on-error\":_vm.onError,\"on-format-error\":_vm.onFormatError}},[_c('el-button',{attrs:{\"slot\":\"trigger\",\"type\":\"primary\"},slot:\"trigger\"},[_vm._v(\"上传文件\")])],1),_c('el-button',{attrs:{\"type\":\"danger\"},on:{\"click\":_vm.deleteFiles}},[_vm._v(\"删除文件\")]),(_vm.progress>0&&_vm.progress<100)?_c('div',[_c('Progress',{attrs:{\"percent\":_vm.progress,\"hide-info\":\"\"}})],1):_vm._e()],1)])],1),_c('tw-window',{staticStyle:{\"z-index\":\"999999\"},attrs:{\"title\":\"文件预览\"},model:{value:(_vm.preView),callback:function ($$v) {_vm.preView=$$v},expression:\"preView\"}},[_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"}),_c('el-row',{attrs:{\"type\":\"flex\",\"justify\":\"center\"}},[_c('img',{staticStyle:{\"max-height\":\"800px\",\"max-width\":\"800px\",\"width\":\"100%\",\"height\":\"100%\"},attrs:{\"src\":_vm.preViewSrc}})])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Watch, Config, BasePage } from \"@/common\";\nimport { TwTable } from \"@/components\";\n\n@Component({})\nexport default class TwFileManager extends BasePage {\n @Prop({})\n private loadAction: string;\n @Prop({})\n private uploadAction: string;\n @Prop({})\n private deleteAction: string;\n @Prop({})\n private exportAction: string;\n\n @Prop({})\n private data: string;\n\n @Prop({})\n private beforeUpload: Function;\n\n @Prop({})\n private beforeDelete: Function;\n\n @Prop({})\n private beforeExport: Function;\n\n private get params(): object {\n return { code: this.data };\n }\n\n private get filesTable(): TwTable {\n return this.$refs[\"filesTable\"] as TwTable;\n }\n\n private accept: string =\n \".jif,.jpge,.jpg,.png,.bmp,.pdf,.xls,.xlsx,.doc,.docx,.ppt,.pptx\";\n\n private format: Array = [\n \"jif\",\n \"jpge\",\n \"jpg\",\n \"png\",\n \"bmp\",\n \"pdf\",\n \"xls\",\n \"xlsx\",\n \"doc\",\n \"docx\",\n \"ppt\",\n \"pptx\"\n ];\n\n private get Host(): string {\n return this.uploadAction;\n }\n\n private progress: number = 0;\n\n private preView: boolean = false;\n\n private preViewSrc: string = \"\";\n\n private InterceptBeforeUpload(file): boolean {\n let result = true;\n if (this.beforeUpload) {\n result = this.beforeUpload(file);\n }\n return result;\n }\n\n private onProgress(event, file, fileList) {\n this.progress = event.percent;\n }\n\n private onSuccess(response, file, fileList) {\n if (response !== \"\") {\n this.error(`${file.name}:上传异常[${response}]`);\n } else {\n this.success(`文件${file.name}上传成功`);\n this.loadFiles();\n }\n }\n\n private onError(error, file) {\n this.error(`${file.name}:上传失败[${error}]`);\n }\n\n private onFormatError(file, fileList) {\n this.error(\n `${file.name}:格式错误,只允许上传[${this.format.join(\",\")}]格式`\n );\n }\n\n private clearFiles() {\n (this.$refs[\"TwinkleTUpload\"] as any).clearFiles();\n }\n\n private success(message: string) {\n this.$message.success(message);\n }\n\n private error(message: string) {\n this.$message.error(message);\n }\n private filesHead = [\n {\n label: \"文件名称\",\n prop: \"cFileName\",\n align: \"center\",\n width: 200,\n attrs: {\n type: \"string\"\n }\n },\n {\n label: \"文件格式\",\n prop: \"cFormat\",\n align: \"center\",\n width: 100,\n attrs: {\n type: \"string\"\n }\n },\n {\n label: \"文件大小\",\n prop: \"nSize\",\n align: \"center\",\n width: 150,\n attrs: {\n type: \"string\"\n },\n formatter: this.renderFileSize\n },\n {\n label: \"上传人\",\n prop: \"username\",\n align: \"center\",\n width: 100,\n attrs: {\n type: \"string\"\n }\n },\n {\n label: \"上传时间\",\n prop: \"dUploadDate\",\n align: \"center\",\n width: 150,\n attrs: {\n type: \"date\"\n },\n formatter: this.renderDateTime\n }\n ];\n\n renderFileSize(row, col, value, index) {\n let result = \"\";\n if (value) {\n value = parseInt(value, 10);\n if (value > 1024 * 1024 * 1024) {\n result = `${(value / (1024 * 1024 * 1024)).toFixed(1)}G`;\n } else if (value > 1024 * 1024) {\n result = `${(value / (1024 * 1024)).toFixed(1)}M`;\n } else if (value > 1024) {\n result = `${(value / 1024).toFixed(1)}KB`;\n } else {\n result = `${value}byte`;\n }\n } else {\n result = \"0\";\n }\n return result;\n }\n\n renderDateTime(row, col, value, index) {\n return this.$moment(new Date(value)).format(\"YYYY-MM-DD HH:mm:ss\");\n }\n\n private exportFiles() {\n if (this.beforeExport) {\n if (!this.beforeExport()) {\n return;\n }\n }\n const selections = this.getSelections();\n if (selections) {\n const Ids = selections.map(item => {\n return item.ID;\n });\n this.$http\n .post(this.exportAction, { Ids })\n .then(res => {})\n .catch(err => {\n this.$message.warning(err);\n });\n }\n }\n\n private deleteFiles() {\n if (this.beforeDelete) {\n if (!this.beforeDelete()) {\n return;\n }\n }\n const selections = this.getSelections();\n\n if (selections) {\n const Ids = selections.map(item => {\n return item.ID;\n });\n\n this.$http\n .post(this.deleteAction, { Ids })\n .then(res => {\n if (res.data.status === 0) {\n this.loadFiles();\n } else {\n this.$message.warning(`删除失败:${res.data.msg}`);\n }\n })\n .catch(err => {\n this.$message.warning(err);\n });\n }\n }\n\n private dblClick(data) {\n let url = \"\";\n if (data.cFilePath.substr(0, 4).toLocaleLowerCase() === \"http\") {\n url = decodeURIComponent(data.cFilePath);\n } else {\n url = decodeURIComponent(`${Config.baseUrl}${data.cFilePath}`);\n }\n\n //.jif,.jpge,.jpg,.png,.bmp,.pdf\n\n if (\n url.toLocaleLowerCase().endsWith(\".jif\") ||\n url.toLocaleLowerCase().endsWith(\".jpge\") ||\n url.toLocaleLowerCase().endsWith(\".jpg\") ||\n url.toLocaleLowerCase().endsWith(\".png\") ||\n url.toLocaleLowerCase().endsWith(\".bmp\") ||\n url.toLocaleLowerCase().endsWith(\".pdf\")\n ) {\n // this.preView = true;\n // this.preViewSrc = url;\n const target = \"_blank\";\n const features = \"toolbar=no,menubar=no,location=no,status=no\";\n window.open(url, target, features);\n } else {\n window.location.href = url;\n }\n }\n\n private getSelections() {\n const selections = this.filesTable.getSelections();\n if (selections.length === 0) {\n this.$message.warning(\"请先选择要操作的文件\");\n return null;\n } else {\n return selections;\n }\n }\n\n loadFiles() {\n this.filesTable.load(this.params);\n }\n\n mounted() {\n //this.loadFiles();\n }\n\n @Watch(\"data\")\n doLoad() {\n this.loadFiles();\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=34f334b7&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\n bind(el, binding, vnode) {\n const dialogHeaderEl = el.querySelector('.el-dialog__header')\n const dragDom = el.querySelector('.el-dialog')\n dialogHeaderEl.style.cssText += ';cursor:move;'\n dragDom.style.cssText += ';top:0px;'\n\n // 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);\n const getStyle = (function() {\n if (window.document.currentStyle) {\n return (dom, attr) => dom.currentStyle[attr]\n } else {\n return (dom, attr) => getComputedStyle(dom, false)[attr]\n }\n })()\n\n dialogHeaderEl.onmousedown = (e) => {\n // 鼠标按下,计算当前元素距离可视区的距离\n const disX = e.clientX - dialogHeaderEl.offsetLeft\n const disY = e.clientY - dialogHeaderEl.offsetTop\n\n const dragDomWidth = dragDom.offsetWidth\n const dragDomHeight = dragDom.offsetHeight\n\n const screenWidth = document.body.clientWidth\n const screenHeight = document.body.clientHeight\n\n const minDragDomLeft = dragDom.offsetLeft\n const maxDragDomLeft = screenWidth - dragDom.offsetLeft - dragDomWidth\n\n const minDragDomTop = dragDom.offsetTop\n const maxDragDomTop = screenHeight - dragDom.offsetTop - dragDomHeight\n\n // 获取到的值带px 正则匹配替换\n let styL = getStyle(dragDom, 'left')\n let styT = getStyle(dragDom, 'top')\n\n if (styL.includes('%')) {\n styL = +document.body.clientWidth * (+styL.replace(/\\%/g, '') / 100)\n styT = +document.body.clientHeight * (+styT.replace(/\\%/g, '') / 100)\n } else {\n styL = +styL.replace(/\\px/g, '')\n styT = +styT.replace(/\\px/g, '')\n }\n\n document.onmousemove = function(e) {\n // 通过事件委托,计算移动的距离\n let left = e.clientX - disX\n let top = e.clientY - disY\n\n // 边界处理\n if (-(left) > minDragDomLeft) {\n left = -minDragDomLeft\n } else if (left > maxDragDomLeft) {\n left = maxDragDomLeft\n }\n\n if (-(top) > minDragDomTop) {\n top = -minDragDomTop\n } else if (top > maxDragDomTop) {\n top = maxDragDomTop\n }\n\n // 移动当前元素\n dragDom.style.cssText += `;left:${left + styL}px;top:${top + styT}px;`\n\n // emit onDrag event\n vnode.child.$emit('dragDialog')\n }\n\n document.onmouseup = function(e) {\n document.onmousemove = null\n document.onmouseup = null\n }\n }\n }\n}\n","import drag from './drag'\n\nconst install = function(Vue) {\n Vue.directive('el-drag-dialog', drag)\n}\n\nif (window.Vue) {\n window['el-drag-dialog'] = drag\n Vue.use(install); // eslint-disable-line\n}\n\ndrag.install = install\nexport default drag\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-select',{attrs:{\"value\":_vm.valueTitle,\"clearable\":_vm.clearable},on:{\"clear\":_vm.clearHandle}},[_c('el-option',{attrs:{\"value\":_vm.valueTitle,\"label\":_vm.valueTitle}},[_c('el-tree',{ref:\"selectTree\",attrs:{\"accordion\":\"\",\"data\":_vm.options,\"props\":_vm.nodes,\"node-key\":_vm.nodes.value,\"default-expanded-keys\":_vm.defaultExpandedKey},on:{\"node-click\":_vm.handleNodeClick}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop, Watch } from \"@/common\";\nimport ElementUI from \"element-ui\";\n\n@Component\nexport default class SelectTree extends Vue {\n @Prop()\n selectValue!: number;\n\n @Prop({default:true})\n clearable!: boolean;\n\n nodes = {\n value: \"id\", // ID字段名\n label: \"title\", // 显示名称\n children: \"children\" // 子级字段名\n };\n\n @Prop()\n options!: any[];\n\n valueId = this.selectValue;\n valueTitle = \"\";\n defaultExpandedKey=[];\n\n get selectTree(): ElementUI.Tree {\n return this.$refs[\"selectTree\"] as ElementUI.Tree;\n }\n mounted() {\n this.initHandle();\n }\n // 初始化值\n initHandle() {\n if (this.valueId) {\n this.valueTitle = this.selectTree.getNode(this.valueId).data[\"title\"]; // 初始化显示\n this.selectTree.setCurrentKey(this.valueId); // 设置默认选中\n this.defaultExpandedKey.push(this.valueId); // 设置默认展开\n }\n }\n // 切换选项\n handleNodeClick(node) {\n this.valueTitle = node[this.nodes.label];\n this.valueId = node[this.nodes.value];\n this.$emit(\"getValue\", this.valueId);\n this.defaultExpandedKey = [];\n }\n // 清除选中\n clearHandle() {\n this.valueTitle = \"\";\n this.valueId = null;\n this.defaultExpandedKey = [];\n this.selectTree.setCurrentKey(null); // 设置默认选中\n this.$emit(\"getValue\", null);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=94eccd3a&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=94eccd3a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"94eccd3a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"rightPanel\",class:{'show':_vm.show,'rightPanel-container':true}},[_c('div',{staticClass:\"rightPanel-background\"}),_c('div',{class:{'rightPanel':true,'rightPanel-inner':_vm.inner}},[_c('div',{staticClass:\"handle-button\",style:({'bottom':_vm.bottom+'px','background-color':'rgb(24, 144, 255)'}),on:{\"click\":function($event){_vm.show=!_vm.show}}},[_c('i',{class:_vm.show?'el-icon-close':_vm.icon})]),_c('div',{staticClass:\"rightPanel-items\"},[_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\n@Component({})\nexport default class RightPanel extends Vue {\n @Prop({ default: true })\n closeOnClickMask!: Boolean;\n\n @Prop({ default: 50 })\n bottom!: Number;\n\n @Prop({ default: \"el-icon-setting\" })\n icon!: string;\n\n @Prop({ default: false })\n inner!: Boolean;\n\n show = false;\n @Watch(\"show\")\n showChange(value) {\n if (value && this.closeOnClickMask) {\n this.addEventClick();\n }\n if (value) {\n this.addClass(document.body, \"showRightPanel\");\n } else {\n this.removeClass(document.body, \"showRightPanel\");\n }\n }\n mounted() {\n // this.insertToBody();\n }\n beforeDestroy() {\n const elx = this.$refs.rightPanel as any;\n elx.remove();\n }\n addEventClick() {\n window.addEventListener(\"click\", this.closeSidebar);\n }\n closeSidebar(evt) {\n const parent = evt.target.closest(\".\" + this[\"$style\"][\"rightPanel\"]);\n if (!parent) {\n this.show = false;\n window.removeEventListener(\"click\", this.closeSidebar);\n }\n }\n insertToBody() {\n const elx = this.$refs.rightPanel;\n const body = document.querySelector(\"body\") as any;\n body.insertBefore(elx, body.firstChild);\n }\n\n hasClass(ele, cls) {\n return !!ele.className.match(new RegExp(\"(\\\\s|^)\" + cls + \"(\\\\s|$)\"));\n }\n\n addClass(ele, cls) {\n if (!this.hasClass(ele, cls)) ele.className += \" \" + cls;\n }\n\n removeClass(ele, cls) {\n if (this.hasClass(ele, cls)) {\n const reg = new RegExp(\"(\\\\s|^)\" + cls + \"(\\\\s|$)\");\n ele.className = ele.className.replace(reg, \" \");\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=84fdc9c8&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VueAxios from 'vue-axios'\n\nimport SignalRClient from './core/SignalRClient'\nimport Utils from './core/Utils'\nimport axiosInterceptor from './core/axiosInterceptor'\nimport EventBus from './core/EventBus'\nimport Auth from './core/Auth'\nimport moment from 'moment'\n\n// 组件\nimport TwIcon from './Icon/index.vue'\nimport TwUpload from './upload/index.vue'\nimport TwExport from './export/index.vue'\nimport TwTable from './table/index.vue'\nimport TwContainer from './layout/index.vue'\nimport TwItem from './layout/TwItem.vue'\nimport TwWindow from './window/index.vue'\nimport TwFileManager from './fileManager/index.vue'\nimport elDragDialog from '@/directive/el-dragDialog'\nimport SelectTree from './selectTree/index.vue'\nimport RightPanel from './rightpanel/index.vue'\n\n// 框架样式\nimport '@/assets/styles/index.scss'\n\n\nVue.use(VueAxios, axiosInterceptor)\n\nconst components = {\n 'tw-icon': TwIcon,\n 'tw-export': TwExport,\n 'tw-upload': TwUpload,\n 'tw-table': TwTable,\n 'tw-container': TwContainer,\n 'tw-item': TwItem,\n 'tw-window': TwWindow,\n 'tw-fileManager': TwFileManager,\n 'select-tree': SelectTree,\n 'right-panel': RightPanel\n}\n\nexport {\n TwIcon,\n TwTable,\n TwExport,\n TwUpload,\n TwWindow,\n TwFileManager,\n SelectTree,\n RightPanel\n}\n\n\n\nconst Twinkle = {} as any;\n\n// tslint:disable-next-line:only-arrow-functions\nTwinkle.install = function(Vue): void {\n\n if (Twinkle.installed) {\n return;\n }\n Twinkle.installed = true;\n\n elDragDialog.install(Vue);\n\n // 安装自定义组件\n Object.keys(components).forEach(key => {\n Vue.component(key, components[key])\n })\n\n // signalr插件\n const signalr = new SignalRClient();\n // 工具插件\n const utils = new Utils();\n // 消息总线插件\n const eventBus = new EventBus();\n\n\n // tslint:disable-next-line:quotemark\n Object.defineProperties(Vue[\"prototype\"], {\n $signalr: {\n get() {\n return signalr;\n }\n },\n $utils: {\n get() {\n return utils;\n }\n },\n $eventBus: {\n get() {\n return eventBus;\n }\n },\n $auth: {\n get() {\n return Auth;\n }\n },\n $moment: {\n get() {\n return moment;\n }\n }\n })\n\n // 处理日期转换\n Date.prototype.toString = function() {\n return moment(this).format('YYYY-MM-DD HH:mm:ss')\n }\n\n Date.prototype.toDateString = function() {\n return moment(this).format('YYYY-MM-DD')\n }\n\n Date.prototype.toJSON = function() {\n return moment(this).format('YYYY-MM-DD HH:mm:ss')\n }\n}\n\n\nif (typeof window !== 'undefined' && (window as any).Vue) {\n Twinkle.install((window as any).Vue)\n}\n\nexport default Twinkle\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=79bde48d&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport Vuex from 'vuex'\nVue.use(Vuex);\n\nconst app = {\n state: {\n sidebar: {\n opened: localStorage.getItem('sidebarStatus') || 1,\n withoutAnimation: false\n },\n loadMenus: false,\n menus: [],\n language: localStorage.getItem('language') || 'zh'\n },\n mutations: {\n TOGGLE_SIDEBAR(state) {\n if (state.sidebar.opened) {\n localStorage.setItem('sidebarStatus', '1')\n } else {\n localStorage.setItem('sidebarStatus', '0')\n }\n state.sidebar.opened = !state.sidebar.opened\n state.sidebar.withoutAnimation = false\n },\n CLOSE_SIDEBAR(state, withoutAnimation) {\n localStorage.setItem('sidebarStatus', '1')\n state.sidebar.opened = false\n state.sidebar.withoutAnimation = withoutAnimation\n },\n SET_MENUS(state, menus) {\n state.menus.splice(0);\n state.menus.push(...menus);\n state.loadMenus = true;\n },\n SET_LANGUAGE: (state, language) => {\n state.language = language\n localStorage.setItem('language', language)\n }\n },\n actions: {\n ToggleSideBar({ commit }) {\n commit('TOGGLE_SIDEBAR')\n },\n CloseSideBar({ commit }, { withoutAnimation }) {\n commit('CLOSE_SIDEBAR', withoutAnimation)\n },\n SetMenus({ commit }, { menus }) {\n commit('SET_MENUS', menus)\n },\n SetLanguage({ commit }, language) {\n commit('SET_LANGUAGE', language)\n }\n }\n}\nexport default app\n\n","const tagsView = {\n state: {\n visitedViews: [],\n cachedViews: []\n },\n mutations: {\n ADD_VISITED_VIEW: (state, view) => {\n if (state.visitedViews.some(v => v.path === view.path)) return\n state.visitedViews.push(\n Object.assign({}, view, {\n title: view.meta.title || 'no-name'\n })\n )\n },\n ADD_CACHED_VIEW: (state, view) => {\n if (state.cachedViews.includes(view.name)) return\n if (!view.meta.noCache) {\n state.cachedViews.push(view.name)\n }\n },\n\n DEL_VISITED_VIEW: (state, view) => {\n for (const [i, v] of state.visitedViews.entries()) {\n if (v.path === view.path) {\n state.visitedViews.splice(i, 1)\n break\n }\n }\n },\n DEL_CACHED_VIEW: (state, view) => {\n for (const i of state.cachedViews) {\n if (i === view.name) {\n const index = state.cachedViews.indexOf(i)\n state.cachedViews.splice(index, 1)\n break\n }\n }\n },\n\n DEL_OTHERS_VISITED_VIEWS: (state, view) => {\n state.visitedViews = state.visitedViews.filter(v => {\n return v.meta.affix || v.path === view.path\n })\n },\n DEL_OTHERS_CACHED_VIEWS: (state, view) => {\n for (const i of state.cachedViews) {\n if (i === view.name) {\n const index = state.cachedViews.indexOf(i)\n state.cachedViews = state.cachedViews.slice(index, index + 1)\n break\n }\n }\n },\n\n DEL_ALL_VISITED_VIEWS: state => {\n // keep affix tags\n const affixTags = state.visitedViews.filter(tag => tag.meta.affix)\n state.visitedViews = affixTags\n },\n DEL_ALL_CACHED_VIEWS: state => {\n state.cachedViews = []\n },\n\n UPDATE_VISITED_VIEW: (state, view) => {\n for (let v of state.visitedViews) {\n if (v.path === view.path) {\n v = Object.assign(v, view)\n break\n }\n }\n }\n\n },\n actions: {\n addView({ dispatch }, view) {\n dispatch('addVisitedView', view)\n dispatch('addCachedView', view)\n },\n addVisitedView({ commit }, view) {\n commit('ADD_VISITED_VIEW', view)\n },\n addCachedView({ commit }, view) {\n commit('ADD_CACHED_VIEW', view)\n },\n\n delView({ dispatch, state }, view) {\n return new Promise(resolve => {\n dispatch('delVisitedView', view)\n dispatch('delCachedView', view)\n resolve({\n visitedViews: [...state.visitedViews],\n cachedViews: [...state.cachedViews]\n })\n })\n },\n delVisitedView({ commit, state }, view) {\n return new Promise(resolve => {\n commit('DEL_VISITED_VIEW', view)\n resolve([...state.visitedViews])\n })\n },\n delCachedView({ commit, state }, view) {\n return new Promise(resolve => {\n commit('DEL_CACHED_VIEW', view)\n resolve([...state.cachedViews])\n })\n },\n\n delOthersViews({ dispatch, state }, view) {\n return new Promise(resolve => {\n dispatch('delOthersVisitedViews', view)\n dispatch('delOthersCachedViews', view)\n resolve({\n visitedViews: [...state.visitedViews],\n cachedViews: [...state.cachedViews]\n })\n })\n },\n delOthersVisitedViews({ commit, state }, view) {\n return new Promise(resolve => {\n commit('DEL_OTHERS_VISITED_VIEWS', view)\n resolve([...state.visitedViews])\n })\n },\n delOthersCachedViews({ commit, state }, view) {\n return new Promise(resolve => {\n commit('DEL_OTHERS_CACHED_VIEWS', view)\n resolve([...state.cachedViews])\n })\n },\n\n delAllViews({ dispatch, state }, view) {\n return new Promise(resolve => {\n dispatch('delAllVisitedViews', view)\n dispatch('delAllCachedViews', view)\n resolve({\n visitedViews: [...state.visitedViews],\n cachedViews: [...state.cachedViews]\n })\n })\n },\n delAllVisitedViews({ commit, state }) {\n return new Promise(resolve => {\n commit('DEL_ALL_VISITED_VIEWS')\n resolve([...state.visitedViews])\n })\n },\n delAllCachedViews({ commit, state }) {\n return new Promise(resolve => {\n commit('DEL_ALL_CACHED_VIEWS')\n resolve([...state.cachedViews])\n })\n },\n\n updateVisitedView({ commit }, view) {\n commit('UPDATE_VISITED_VIEW', view)\n }\n }\n}\n\nexport default tagsView\n","import Vue from 'vue';\nimport Vuex from 'vuex';\nimport app from './modules/app'\nimport tagsView from './modules/tagsView'\n\nVue.use(Vuex);\n\nexport default new Vuex.Store({\n modules: {\n app,\n tagsView\n }\n});\n","export default {\n app:{\n name:'Inexplicable management system'\n },\n navbar: {\n logOut: 'Log Out',\n Home: 'Home Page',\n switchLanguage: 'switch Language'\n },\n login: {\n title: 'Login Form',\n logIn: 'Log in',\n username: 'Username',\n password: 'Password',\n accountNotLess2:'account cannot be less than 2 characters',\n passwordNotLess6:'password cannot be less than 6 characters',\n },\n global: {\n prompt:'Prompt'\n }\n}\n","export default {\n app: {\n name: '.Net Core 测试'\n },\n navbar: {\n logOut: '退出登录',\n Home: '首页',\n switchLanguage: '切换语言',\n ChangePassword: '修改密码'\n },\n login: {\n title: '系统登录',\n logIn: '登录',\n username: '账号',\n password: '密码',\n accountNotLess2: '登陆账号不能小于2位',\n passwordNotLess6: '密码不能小于6位',\n },\n form: {\n add: \"新增\",\n modify: \"修改\",\n delete: \"删除\",\n reload: \"刷新\",\n import: \"导入\",\n export: \"导出\",\n print: \"打印\",\n submit: \"提交\",\n reset: \"重置\",\n clear: \"清空\",\n },\n global: {\n prompt: '提示'\n }\n}","import Vue from 'vue'\nimport VueI18n from 'vue-i18n'\nimport elementEnLocale from 'element-ui/lib/locale/lang/en' // element-ui lang\nimport elementZhLocale from 'element-ui/lib/locale/lang/zh-CN' // element-ui lang\nimport enLocale from './en'\nimport zhLocale from './zh'\n\nVue.use(VueI18n)\n\nconst messages = {\n en: {\n ...enLocale,\n ...elementEnLocale\n },\n zh: {\n ...zhLocale,\n ...elementZhLocale\n }\n}\n\nconst i18n = new VueI18n({\n locale: localStorage.getItem('language') || 'zh',\n messages\n})\n\nexport default i18n","import Vue from 'vue'\n\nimport Twinkle from '@/components';\nimport Auth from '@/components/core/Auth'\nimport ElementUI from 'element-ui'\nimport NProgress from 'nprogress'\nimport App from './App.vue'\nimport router, { addRoleMenus } from './router'\nimport store from './store'\nimport i18n from '@/lang'\n\nimport 'element-ui/lib/theme-chalk/index.css'\nimport 'nprogress/nprogress.css'\nimport 'babel-polyfill'\n\nimport vueBus from 'vue-bus'\nVue.use(vueBus);\n\n\n\n\n\nconst errorHandler = (error, vm) => {\n console.error('抛出全局异常');\n console.error(vm);\n console.error(error);\n\n}\nVue.config.productionTip = false;\n// Vue.config.errorHandler = errorHandler;\nVue.use(ElementUI, {\n size: 'mini',\n zIndex: 3000,\n i18n: (key, value) => i18n.t(key, value)\n});\nVue.use(Twinkle)\n\nNProgress.configure({ showSpinner: false })\n\nrouter.beforeEach((to, from, next) => {\n if (['/', '/scm', '/forgetpwd', '/encrypt'].indexOf(to.path) === -1 && !Auth.getToken()) {\n {\n ElementUI.Message.error(\"登陆信息无效或已过期,请重新登陆\");\n next('/scm')\n }\n } else {\n window.document.title = to.meta.title || '正在加载..'\n next()\n }\n})\n\n\n\nconst vue = new Vue({\n router,\n store,\n i18n,\n render: (h) => h(App),\n}).$mount('#app');\n\nwindow[\"Vue\"] = vue;\n\nif (Auth.getToken()) {\n vue.$signalr.Init();\n addRoleMenus();\n}\n\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-wrapper\",class:_vm.classObj},[_c('sidebar',{staticClass:\"sidebar-container\"}),_c('div',{staticClass:\"main-container\"},[_c('navbar'),_c('tags-view'),_c('app-main')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import store from '@/store'\nimport { Component, Vue, Watch } from '@/common';\n\n@Component({})\nexport default class ResizeHandler extends Vue {\n\n @Watch('$route')\n watchRoute(newVal,oldVal) {\n window.document.title=newVal.meta.title;\n }\n\n beforeMount() {\n window.addEventListener('resize', this.resizeHandler)\n }\n mounted() {\n\n }\n\n resizeHandler() {\n // console.log('ToggleDevice');\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\nimport { Navbar, Sidebar, AppMain, TagsView } from \"./components\";\nimport ResizeMixin from \"./mixin/ResizeHandler\";\n\nimport { Component, Vue, Mixins } from \"@/common\";\n\n@Component({\n components: {\n Navbar,\n Sidebar,\n AppMain,\n TagsView\n },\n mixins: [ResizeMixin]\n})\nexport default class Layout extends Vue {\n get sidebar() {\n return this.$store.state.app.sidebar;\n }\n get classObj() {\n return {\n hideSidebar: !this.sidebar.opened,\n openSidebar: this.sidebar.opened,\n withoutAnimation: this.sidebar.withoutAnimation\n };\n }\n\n mounted() {\n this.$signalr.on(\"dynamic.Update\", data => {\n console.log(data);\n });\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=95003498&scoped=true&\"\nimport script from \"./Layout.vue?vue&type=script&lang=ts&\"\nexport * from \"./Layout.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Layout.vue?vue&type=style&index=0&id=95003498&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"95003498\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=1&id=726b7746&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=1&id=726b7746&lang=scss&scoped=true&\"","export default {\n baseUrl: window.baseUrl || process.env.NODE_ENV === 'production' ? 'http://47.101.207.23' : 'http://10.2.2.232:2240',\n //baseUrl: window.baseUrl || 'http://47.101.207.23',\n //baseUrl: window.baseUrl || 'http://localhost:8080',\n //reportUrl: window.reportUrl || 'http://www.comstarsoft.com/PrintService/report.aspx'\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"column-layout\"},[_c('tw-window',{attrs:{\"title\":\"列信息设置\",\"width\":\"950px\",\"before-close\":_vm.close},on:{\"open\":_vm.onOpen},model:{value:(_vm.layoutShow),callback:function ($$v) {_vm.layoutShow=$$v},expression:\"layoutShow\"}},[_c('el-row',{staticClass:\"margin-top-5\",staticStyle:{\"height\":\"500px\"}},[_c('tw-table',{ref:\"layoutTable\",attrs:{\"action\":\"Base/Module/LoadConfig\",\"auto-load\":false,\"index\":true,\"selection\":false,\"columns\":_vm.layoutColumns,\"draggable\":true},on:{\"drop\":_vm.onDrop,\"row-dblclick\":_vm.onDbClick}},[_c('div',{attrs:{\"slot\":\"leftTools\"},slot:\"leftTools\"},[_vm._v(\"\\n 模块编号:\\n \"),(_vm.isCustom)?[_c('el-select',{staticStyle:{\"width\":\"300px\"},attrs:{\"transfer\":\"\",\"filterable\":\"\"},on:{\"change\":_vm.onCustomChagne},model:{value:(_vm.actualLayoutCode),callback:function ($$v) {_vm.actualLayoutCode=$$v},expression:\"actualLayoutCode\"}},_vm._l((_vm.columnConfigStore),function(item){return _c('el-option',{key:item.value,attrs:{\"value\":item.value,\"label\":item.label}})}),1),_c('el-button',{attrs:{\"type\":\"success\",\"icon\":\"plus\"},on:{\"click\":_vm.addCustomConfig}},[_vm._v(\"添加自定义模块编号\")])]:[_c('el-input',{staticStyle:{\"width\":\"300px\"},attrs:{\"disabled\":true,\"placeholder\":\"\"},model:{value:(_vm.actualLayoutName),callback:function ($$v) {_vm.actualLayoutName=$$v},expression:\"actualLayoutName\"}})],_c('el-button',{staticStyle:{\"margin-left\":\"10px\"},attrs:{\"type\":\"primary\",\"icon\":\"arrow-graph-down-left\"},on:{\"click\":_vm.initData}},[_vm._v(\"快捷初始化\")])],2),_c('div',{attrs:{\"slot\":\"rightTools\"},slot:\"rightTools\"},[_c('el-checkbox',{staticStyle:{\"margin-top\":\"5px\"},on:{\"change\":_vm.onShowVisibleChange},model:{value:(_vm.showVisibleOnly),callback:function ($$v) {_vm.showVisibleOnly=$$v},expression:\"showVisibleOnly\"}},[_vm._v(\"仅显示可见列\")])],1)])],1),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"})],1),_c('tw-window',{attrs:{\"title\":\"编辑\"},model:{value:(_vm.showEdit),callback:function ($$v) {_vm.showEdit=$$v},expression:\"showEdit\"}},[_c('el-form',{ref:\"editForm\",staticStyle:{\"padding\":\"5px 20px\"},attrs:{\"model\":_vm.columnModel,\"rules\":_vm.rules,\"status-icon\":true}},[_c('el-row',{attrs:{\"gutter\":10}},[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"prop\":\"cTitle\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend require\"},[_vm._v(\"列标题\")]),_c('el-input',{attrs:{\"placeholder\":\"请输入\"},model:{value:(_vm.columnModel.cTitle),callback:function ($$v) {_vm.$set(_vm.columnModel, \"cTitle\", $$v)},expression:\"columnModel.cTitle\"}})],1)])],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"prop\":\"cField\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend require\"},[_vm._v(\"列字段\")]),_c('el-input',{attrs:{\"placeholder\":\"请输入\"},model:{value:(_vm.columnModel.cField),callback:function ($$v) {_vm.$set(_vm.columnModel, \"cField\", $$v)},expression:\"columnModel.cField\"}})],1)])],1)],1),_c('el-row',{attrs:{\"gutter\":10}},[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"prop\":\"cDataType\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend require\"},[_vm._v(\"数据类型\")]),_c('el-select',{attrs:{\"transfer\":\"\"},model:{value:(_vm.columnModel.cDataType),callback:function ($$v) {_vm.$set(_vm.columnModel, \"cDataType\", $$v)},expression:\"columnModel.cDataType\"}},[_c('el-option',{attrs:{\"value\":\"string\",\"label\":\"string\"}}),_c('el-option',{attrs:{\"value\":\"date\",\"label\":\"date\"}}),_c('el-option',{attrs:{\"value\":\"datetime\",\"label\":\"datetime\"}}),_c('el-option',{attrs:{\"value\":\"number\",\"label\":\"number\"}}),_c('el-option',{attrs:{\"value\":\"boolean\",\"label\":\"boolean\"}}),_c('el-option',{attrs:{\"value\":\"select\",\"label\":\"select\"}}),_c('el-option',{attrs:{\"value\":\"other\",\"label\":\"other\"}})],1)],1)])],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"prop\":\"nWidth\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend require\"},[_vm._v(\"列宽\")]),_c('el-input-number',{staticClass:\"numberLeft\",attrs:{\"controls-position\":\"right\",\"placeholder\":\"请输入\"},model:{value:(_vm.columnModel.nWidth),callback:function ($$v) {_vm.$set(_vm.columnModel, \"nWidth\", $$v)},expression:\"columnModel.nWidth\"}})],1)])],1)],1),_c('el-row',{attrs:{\"gutter\":10}},[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"prop\":\"iOptionType\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend\"},[_vm._v(\"数据源类型\")]),_c('el-select',{attrs:{\"transfer\":\"\"},model:{value:(_vm.columnModel.iOptionType),callback:function ($$v) {_vm.$set(_vm.columnModel, \"iOptionType\", $$v)},expression:\"columnModel.iOptionType\"}},[_c('el-option',{attrs:{\"value\":1,\"label\":\"1|固定值\"}}),_c('el-option',{attrs:{\"value\":2,\"label\":\"2|表达式\"}}),_c('el-option',{attrs:{\"value\":3,\"label\":\"3|函数\"}})],1)],1)])],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"prop\":\"cOptionSource\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend\"},[_vm._v(\"数据源\")]),_c('el-input',{attrs:{\"type\":\"text\",\"placeholder\":\"请输入\"},model:{value:(_vm.columnModel.cOptionSource),callback:function ($$v) {_vm.$set(_vm.columnModel, \"cOptionSource\", $$v)},expression:\"columnModel.cOptionSource\"}})],1)])],1)],1),_c('el-row',{attrs:{\"gutter\":10}},[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"prop\":\"cAlign\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend require\"},[_vm._v(\"对齐方式\")]),_c('el-select',{attrs:{\"transfer\":\"\"},model:{value:(_vm.columnModel.cAlign),callback:function ($$v) {_vm.$set(_vm.columnModel, \"cAlign\", $$v)},expression:\"columnModel.cAlign\"}},[_c('el-option',{attrs:{\"value\":\"center\",\"label\":\"center\"}}),_c('el-option',{attrs:{\"value\":\"left\",\"label\":\"left\"}}),_c('el-option',{attrs:{\"value\":\"right\",\"label\":\"right\"}})],1)],1)])],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"prop\":\"cGroupHeader\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend\"},[_vm._v(\"分组表头\")]),_c('el-input',{attrs:{\"placeholder\":\"请输入\"},model:{value:(_vm.columnModel.cGroupHeader),callback:function ($$v) {_vm.$set(_vm.columnModel, \"cGroupHeader\", $$v)},expression:\"columnModel.cGroupHeader\"}})],1)])],1)],1),_c('el-row',{attrs:{\"gutter\":10}},[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"prop\":\"cFixed\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend\"},[_vm._v(\"锁定方式\")]),_c('el-select',{attrs:{\"transfer\":\"\",\"clearable\":\"\"},model:{value:(_vm.columnModel.cFixed),callback:function ($$v) {_vm.$set(_vm.columnModel, \"cFixed\", $$v)},expression:\"columnModel.cFixed\"}},[_c('el-option',{attrs:{\"value\":\"left\",\"label\":\"left\"}}),_c('el-option',{attrs:{\"value\":\"right\",\"label\":\"right\"}})],1)],1)])],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"prop\":\"nPrecision\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend\"},[_vm._v(\"数据精度\")]),_c('el-input-number',{staticClass:\"numberLeft\",attrs:{\"controls-position\":\"right\",\"placeholder\":\"请输入\"},model:{value:(_vm.columnModel.nPrecision),callback:function ($$v) {_vm.$set(_vm.columnModel, \"nPrecision\", $$v)},expression:\"columnModel.nPrecision\"}})],1)])],1)],1),_c('el-row',{attrs:{\"gutter\":10}},[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"prop\":\"cChangeFn\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend\"},[_vm._v(\"修改事件\")]),_c('el-input',{attrs:{\"type\":\"text\",\"placeholder\":\"请输入\"},model:{value:(_vm.columnModel.cChangeFn),callback:function ($$v) {_vm.$set(_vm.columnModel, \"cChangeFn\", $$v)},expression:\"columnModel.cChangeFn\"}})],1)])],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"prop\":\"cFormatter\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend\"},[_vm._v(\"数据格式化\")]),_c('el-input',{attrs:{\"type\":\"text\",\"placeholder\":\"请输入\"},model:{value:(_vm.columnModel.cFormatter),callback:function ($$v) {_vm.$set(_vm.columnModel, \"cFormatter\", $$v)},expression:\"columnModel.cFormatter\"}})],1)])],1)],1),_c('el-row',{attrs:{\"gutter\":10}},[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"prop\":\"cColumnRender\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend\"},[_vm._v(\"列渲染\")]),_c('el-input',{attrs:{\"type\":\"text\",\"placeholder\":\"请输入\"},model:{value:(_vm.columnModel.cColumnRender),callback:function ($$v) {_vm.$set(_vm.columnModel, \"cColumnRender\", $$v)},expression:\"columnModel.cColumnRender\"}})],1)])],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"prop\":\"cHeaderRender\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend\"},[_vm._v(\"表头渲染\")]),_c('el-input',{attrs:{\"type\":\"text\",\"placeholder\":\"请输入\"},model:{value:(_vm.columnModel.cHeaderRender),callback:function ($$v) {_vm.$set(_vm.columnModel, \"cHeaderRender\", $$v)},expression:\"columnModel.cHeaderRender\"}})],1)])],1)],1),_c('el-row',[_c('el-form-item',{staticClass:\"form-item-inline\",attrs:{\"prop\":\"iShow\"}},[_c('el-checkbox',{attrs:{\"true-label\":1,\"false-label\":0},model:{value:(_vm.columnModel.iShow),callback:function ($$v) {_vm.$set(_vm.columnModel, \"iShow\", $$v)},expression:\"columnModel.iShow\"}},[_vm._v(\"显示\")])],1),_c('el-form-item',{staticClass:\"form-item-inline\",attrs:{\"prop\":\"iSum\"}},[_c('el-checkbox',{attrs:{\"true-label\":1,\"false-label\":0},model:{value:(_vm.columnModel.iSum),callback:function ($$v) {_vm.$set(_vm.columnModel, \"iSum\", $$v)},expression:\"columnModel.iSum\"}},[_vm._v(\"汇总\")])],1),_c('el-form-item',{staticClass:\"form-item-inline\",attrs:{\"prop\":\"iSort\"}},[_c('el-checkbox',{attrs:{\"true-label\":1,\"false-label\":0},model:{value:(_vm.columnModel.iSort),callback:function ($$v) {_vm.$set(_vm.columnModel, \"iSort\", $$v)},expression:\"columnModel.iSort\"}},[_vm._v(\"排序\")])],1),_c('el-form-item',{staticClass:\"form-item-inline\",attrs:{\"prop\":\"iFilter\"}},[_c('el-checkbox',{attrs:{\"true-label\":1,\"false-label\":0},model:{value:(_vm.columnModel.iFilter),callback:function ($$v) {_vm.$set(_vm.columnModel, \"iFilter\", $$v)},expression:\"columnModel.iFilter\"}},[_vm._v(\"过滤\")])],1),_c('el-form-item',{staticClass:\"form-item-inline\",attrs:{\"prop\":\"iEdit\"}},[_c('el-checkbox',{attrs:{\"true-label\":1,\"false-label\":0},model:{value:(_vm.columnModel.iEdit),callback:function ($$v) {_vm.$set(_vm.columnModel, \"iEdit\", $$v)},expression:\"columnModel.iEdit\"}},[_vm._v(\"行编辑\")])],1),_c('el-form-item',{staticClass:\"form-item-inline\",attrs:{\"prop\":\"iSpan\"}},[_c('el-checkbox',{attrs:{\"true-label\":1,\"false-label\":0},model:{value:(_vm.columnModel.iSpan),callback:function ($$v) {_vm.$set(_vm.columnModel, \"iSpan\", $$v)},expression:\"columnModel.iSpan\"}},[_vm._v(\"行合并\")])],1)],1)],1),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.saveConfig}},[_vm._v(\"保存\")])],1)],1),_c('tw-window',{attrs:{\"title\":\"编辑\"},model:{value:(_vm.showInitModal),callback:function ($$v) {_vm.showInitModal=$$v},expression:\"showInitModal\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend\"},[_vm._v(\"数据库表\")]),_c('el-select',{attrs:{\"transfer\":\"\",\"filterable\":\"\",\"placeholder\":\"请选择表\"},model:{value:(_vm.initSelectTable),callback:function ($$v) {_vm.initSelectTable=$$v},expression:\"initSelectTable\"}},_vm._l((_vm.initDataStore),function(item){return _c('el-option',{key:item.value,attrs:{\"value\":item.value,\"label\":item.value}})}),1)],1),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.doInitData}},[_vm._v(\"保存\")])],1)]),_c('tw-window',{attrs:{\"title\":\"编辑\",\"before-close\":_vm.close},model:{value:(_vm.showCustomConfig),callback:function ($$v) {_vm.showCustomConfig=$$v},expression:\"showCustomConfig\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend\"},[_vm._v(\"自定义编号\")]),_c('el-input',{attrs:{\"placeholder\":\"自定义编号\"},model:{value:(_vm.actualLayoutCode),callback:function ($$v) {_vm.actualLayoutCode=$$v},expression:\"actualLayoutCode\"}})],1),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.saveCustomValue}},[_vm._v(\"保存\")]),_c('el-button',{on:{\"click\":_vm.cancelValue}},[_vm._v(\"取消\")])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Model, Watch, Prop, BasePage } from \"@/common\";\n\nimport { TwTable } from \"@/components\";\n\nimport moment from \"moment\";\n\n@Component({})\nexport default class ColumnLayout extends BasePage {\n layoutShow: boolean = false;\n\n @Model(\"change\") private value: boolean;\n\n @Watch(\"value\")\n private changeShow(val) {\n this.layoutShow = val;\n }\n\n @Prop({ default: \"\" })\n layoutCode: string;\n\n @Prop({ default: \"\" })\n layoutName: string;\n\n @Prop({ default: false })\n isCustom: boolean;\n\n @Prop() data: object;\n get layoutTable(): TwTable {\n return this.$refs[\"layoutTable\"] as TwTable;\n }\n\n private onOk() {\n this.$emit(\"on-ok\");\n }\n\n private close() {\n this.$emit(\"change\", false);\n this.$emit(\"on-cancel\");\n }\n\n private onOpen() {\n this.actualLayoutName = this.layoutName;\n this.actualLayoutCode = this.layoutCode;\n const params = {\n cModuleCode: this.layoutCode,\n iShow: this.showVisibleOnly ? 1 : 0\n };\n\n this.$nextTick(() => {\n this.layoutTable.load(params);\n this.loadAppTable();\n if (this.isCustom === true) {\n this.loadColumnModuleCode();\n }\n });\n }\n\n sortDrag: boolean = true;\n\n showVisibleOnly: boolean = true;\n\n showEdit: boolean = false;\n\n showInitModal: boolean = false;\n\n showCustomConfig: boolean = false;\n\n actualLayoutCode: string = \"\";\n\n actualLayoutName: string = \"\";\n\n initDataStore: Array = [];\n\n initSelectTable: string = \"\";\n\n columnModel = {\n ID: null,\n cModuleCode: null, // 配置ID\n cModuleName: null, // 配置名称\n cField: null, // 字段名称\n cTitle: null, // 列显示标题\n cDataType: null, // 数据类型\n nWidth: 120, // 列宽\n cAlign: null, // 内容对齐方式\n iShow: 1, // 是否显示\n iSum: 0, // 是否汇总\n iSort: 0, // 是否排序\n iFilter: 0, // 是否过滤\n iEdit: 0, // 是否可编辑\n cGroupHeader: null, // 组合表头\n cColumnRender: null, // 列渲染函数,\n cHeaderRender: null, // 表头渲染函数,\n cFormatter: null,\n nOrderID: null, //排序标识\n cChangeFn: null, //修改后触发\n iSpan: 0, //合并行\n cFixed: null, //锁定方向\n nPrecision: 0, //数据精度\n iOptionType: null, //数据源类型\n cOptionSource: null //数据源表达式\n };\n\n rules = {\n cTitle: [\n {\n required: true,\n type: \"string\",\n message: \"此属性为必输项\",\n trigger: \"blur\"\n }\n ],\n cField: [\n {\n required: true,\n type: \"string\",\n message: \"此属性为必输项\",\n trigger: \"blur\"\n }\n ],\n cDataType: [\n {\n required: true,\n type: \"string\",\n message: \"此属性为必选项\",\n trigger: \"change\"\n }\n ],\n nWidth: [\n {\n required: true,\n type: \"number\",\n message: \"此属性为必输项\",\n trigger: \"blur\"\n }\n ],\n cAlign: [\n {\n required: true,\n type: \"string\",\n message: \"此属性为必选项\",\n trigger: \"change\"\n }\n ]\n };\n\n layoutColumns = [\n {\n label: \"列标题\",\n prop: \"cTitle\",\n width: 180,\n align: \"center\",\n attrs: {\n type: \"string\"\n },\n renderHeader: this.renderHeader\n },\n {\n label: \"列字段\",\n prop: \"cField\",\n width: 180,\n align: \"center\",\n attrs: {\n type: \"string\"\n }\n },\n {\n label: \"数据类型\",\n prop: \"cDataType\",\n width: 100,\n align: \"center\",\n attrs: {\n type: \"string\"\n }\n },\n {\n label: \"列宽\",\n prop: \"nWidth\",\n width: 100,\n align: \"center\"\n },\n {\n label: \"分组表头\",\n prop: \"cGroupHeader\",\n width: 120,\n align: \"center\"\n },\n {\n label: \"操作\",\n width: 90,\n align: \"center\",\n render: this.renderOperation\n }\n ];\n\n columnConfigStore = [];\n\n renderHeader(h, params) {\n return (\n {\n this.showEditModal(null); // 合并编辑:表体添加事件\n }}\n >\n 列标题\n \n \n );\n }\n\n saveConfig() {\n this.isFormValid(\"editForm\", isValid => {\n if (isValid) {\n const code = this.actualLayoutCode || this.layoutCode;\n const name = this.actualLayoutName || this.layoutName;\n this.columnModel.cModuleCode = code;\n this.columnModel.cModuleName = this.isCustom ? code : name;\n\n this.$http\n .post(\"Base/Module/SaveColumnConfig\", {\n columnModel: this.columnModel\n })\n .then(res => {\n if (res.data.status === 0) {\n if (this.isCustom) {\n this.loadColumnModuleCode();\n }\n this.layoutTable.load({\n cModuleCode: code,\n iShow: this.showVisibleOnly ? 1 : 0\n });\n } else if (res.data.status === 1) {\n this.$message.error(`保存失败:${res.data.msg}`);\n } else {\n this.$message.error(`保存失败:未知异常`);\n }\n this.showEdit = false;\n })\n .catch(err => {\n this.$message.error(`保存失败:${err}`);\n });\n }\n });\n }\n\n deleteConfig(ID) {\n const code = this.actualLayoutCode || this.layoutCode;\n this.$http\n .post(\"Base/Module/DeleteColumnConfig\", { ID: ID })\n .then(res => {\n if (res.data.status === 0) {\n this.loadColumnModuleCode();\n this.layoutTable.load({\n cModuleCode: code,\n iShow: this.showVisibleOnly ? 1 : 0\n });\n } else if (res.data.status === 1) {\n this.$message.error(`删除失败:${res.data.msg}`);\n } else {\n this.$message.error(`删除失败:未知异常`);\n }\n })\n .catch(err => {\n this.$message.error(`删除失败:${err}`);\n });\n }\n\n initData() {\n const code = this.actualLayoutCode || this.layoutCode;\n const name = this.actualLayoutName || this.layoutName;\n if (!code || !name) {\n this.$message.warning(\"未定义模块编号,无法快捷初始化数据.\");\n return;\n }\n this.loadAppTable();\n this.showInitModal = true;\n }\n\n onShowVisibleChange(value) {\n this.layoutTable.load({\n cModuleCode: this.actualLayoutCode,\n iShow: value ? 1 : 0\n });\n }\n\n loadColumnModuleCode() {\n this.$http.get(\"Base/Module/GetCustomColumnModuleCode\").then(res => {\n this.columnConfigStore.splice(0);\n this.columnConfigStore.push(...res.data);\n });\n }\n\n loadAppTable() {\n this.$http.get(\"Base/Module/GetAppTable\").then(res => {\n this.initDataStore.splice(0);\n this.initDataStore.push(...res.data);\n });\n }\n\n onDbClick(data) {\n this.showEditModal(data);\n }\n\n onCustomChagne(value) {\n this.actualLayoutName = value;\n this.layoutTable.load({\n cModuleCode: value,\n iShow: this.showVisibleOnly ? 1 : 0\n });\n }\n\n showEditModal(data) {\n const code = this.actualLayoutCode || this.layoutCode;\n const name = this.actualLayoutName || this.layoutName;\n this.columnModel.ID = null;\n if (!code || !name) {\n this.$message.warning(\"未定义模块编号,无法添加明细.\");\n return;\n }\n this.resetForm(\"editForm\");\n if (data) {\n this.loadForm(this.columnModel, data);\n }\n this.showEdit = true;\n }\n\n onDrop(e) {\n this.$http\n .post(\"Base/Module/SortLayoutConfig\", {\n current: e.current,\n target: e.target,\n type: e.type\n })\n .then(res => {});\n }\n\n addCustomConfig() {\n this.showCustomConfig = true;\n }\n\n saveCustomValue() {\n this.actualLayoutName = this.actualLayoutCode;\n this.columnConfigStore.push({\n value: this.actualLayoutName,\n label: this.actualLayoutName\n });\n this.actualLayoutCode = this.actualLayoutName;\n this.layoutTable.load({\n cModuleCode: this.actualLayoutCode,\n iShow: this.showVisibleOnly ? 1 : 0\n });\n this.showCustomConfig = false;\n }\n\n cancelValue() {\n this.showCustomConfig = false;\n }\n\n doInitData() {\n const code = this.actualLayoutCode || this.layoutCode;\n const name = this.actualLayoutName || this.layoutName;\n this.$http\n .post(\"Base/Module/InitData\", {\n code: code,\n name: name,\n table: this.initSelectTable\n })\n .then(res => {\n if (res.data.status === 0) {\n this.layoutTable.load({\n cModuleCode: code,\n iShow: this.showVisibleOnly ? 1 : 0\n });\n } else if (res.data.status === 1) {\n this.$message.error(`初始化失败:${res.data.msg}`);\n } else {\n this.$message.error(`初始化失败:未知异常`);\n }\n this.showInitModal = false;\n })\n .catch(err => {\n this.$message.error(`初始化失败:${err}`);\n });\n }\n\n // 通过列渲染方式实现之定义列\n renderOperation(props) {\n return (\n \n \n {\n this.deleteConfig(props.row.ID);\n }}\n />\n \n
\n );\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColumnLayout.vue?vue&type=script&lang=tsx&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColumnLayout.vue?vue&type=script&lang=tsx&\"","import { render, staticRenderFns } from \"./ColumnLayout.vue?vue&type=template&id=6ff75fe4&\"\nimport script from \"./ColumnLayout.vue?vue&type=script&lang=tsx&\"\nexport * from \"./ColumnLayout.vue?vue&type=script&lang=tsx&\"\nimport style0 from \"./ColumnLayout.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"100%\",\"position\":\"absolute\"}},[_c('tw-window',{attrs:{\"title\":\"编辑\",\"width\":\"765px\"},model:{value:(_vm.showEdit),callback:function ($$v) {_vm.showEdit=$$v},expression:\"showEdit\"}},[_c('el-row',[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.dataLoading),expression:\"dataLoading\"}],staticClass:\"acc\"},[_c('div',[_c('div',{attrs:{\"id\":\"particles-background\"}}),_c('div',{attrs:{\"id\":\"particles-foreground\"}}),_c('div',{staticClass:\"nm-loader-wrapper\"},[_c('div',{staticClass:\"nm-loader\"}),_c('div',{staticClass:\"nm-progress\",attrs:{\"id\":\"nm-progress\"}}),_c('div',{staticClass:\"nm-loader-section section-left\"}),_c('div',{staticClass:\"nm-loader-section section-right\"})]),_c('div',{staticClass:\"nm-loader-footer\"})])]),_c('el-form',{ref:\"headForm\",staticStyle:{\"padding\":\"5px 20px\"},attrs:{\"status-icon\":true,\"model\":_vm.head}},[_c('el-row',{attrs:{\"gutter\":10}},[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"prop\":\"cName\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend\"},[_vm._v(\"客户名称\")]),_c('el-input',{attrs:{\"placeholder\":\"客户名称\"},model:{value:(_vm.head.cName),callback:function ($$v) {_vm.$set(_vm.head, \"cName\", $$v)},expression:\"head.cName\"}})],1)])],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"prop\":\"cPre\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend\"},[_vm._v(\"运单前缀\")]),_c('el-input',{attrs:{\"placeholder\":\"运单前缀\"},model:{value:(_vm.head.cPre),callback:function ($$v) {_vm.$set(_vm.head, \"cPre\", $$v)},expression:\"head.cPre\"}})],1)])],1)],1),_c('el-row',{attrs:{\"gutter\":10}},[_c('el-col',{attrs:{\"span\":12}},[_c('el-form-item',{attrs:{\"prop\":\"cInterfaceCode\"}},[_c('div',{staticClass:\"group-pend\"},[_c('div',{staticClass:\"prepend\"},[_vm._v(\"蓝燕ID\")]),_c('el-input',{attrs:{\"placeholder\":\"蓝燕ID\"},model:{value:(_vm.head.cInterfaceCode),callback:function ($$v) {_vm.$set(_vm.head, \"cInterfaceCode\", $$v)},expression:\"head.cInterfaceCode\"}})],1)])],1)],1)],1)],1),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.saveMask},on:{\"click\":_vm.Save}},[_vm._v(\"保存\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Vue, Config, BasePage, Model, Watch, Prop} from '@/common';\n\n@Component({})\nexport default class cuepreEdit extends BasePage {\n\t@Model('change', {type: Boolean})\n\tprivate value!: boolean;\n\n\t@Watch('value')\n\tonValueChange(val) {\n\t\tthis.showEdit = val;\n\t}\n\n\t@Watch('showEdit')\n\tonShowEditChange(val) {\n\t\tif (val === false) {\n\t\t\tthis.resetForm('headForm');\n\t\t\tthis.head.Guid = '';\n\t\t} else {\n\t\t\tif (this.propkey !== '') {\n\t\t\t\tthis.dataLoading = true;\n\t\t\t\tthis.$http\n\t\t\t\t\t.post('Basic/CusPre/GetRecord', {\n\t\t\t\t\t\tGUID: this.propkey\n\t\t\t\t\t})\n\t\t\t\t\t.then(res => {\n\t\t\t\t\t\tthis.dataLoading = false;\n\t\t\t\t\t\tif (res.data.status === 0) {\n\t\t\t\t\t\t\tObject.assign(this.head, res.data.head);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.$message.warning(res.data.msg || '操作失败');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tthis.$emit('change', this.showEdit);\n\t}\n\n\t@Watch('propkey')\n\tondataLoadingChange(val) {\n\t}\n\n\thead = {\n\t\tGuid: null,\n\t\tcName: null,\n\t\tcPre: null,\n\t\tcInterfaceCode: null\n\t};\n\n\tdataLoading = false;\n\n\t@Prop({})\n\tprivate custom!: Array;\n\n\t@Prop({})\n\tprivate propkey!: String;\n\n\tshowEdit = false;\n\n\tsaveMask = false;\n\n\tcolumns = [];\n\n\tSave() {\n\t\tthis.isFormValid('headForm', valid => {\n\t\t\tif (valid) {\n\t\t\t\tthis.saveMask = true;\n\t\t\t\tthis.$http\n\t\t\t\t\t.post('Basic/CusPre/Save', {\n\t\t\t\t\t\tcustom: this.head\n\t\t\t\t\t})\n\t\t\t\t\t.then(res => {\n\t\t\t\t\t\tif (res.data.status === 0) {\n\t\t\t\t\t\t\tthis.saveMask = false;\n\t\t\t\t\t\t\tthis.$message.success('保存成功');\n\t\t\t\t\t\t\tthis.showEdit = false;\n\t\t\t\t\t\t\tthis.$emit('on-ok');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.saveMask = false;\n\t\t\t\t\t\t\tthis.$message.warning(res.data.msg || '保存失败');\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(err => {\n\t\t\t\t\t\tthis.saveMask = false;\n\t\t\t\t\t\tthis.$message.warning(err);\n\t\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tmounted() {\n\t\tthis.showEdit = this.value;\n\t}\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cuspreEdit.vue?vue&type=script&lang=tsx&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cuspreEdit.vue?vue&type=script&lang=tsx&\"","import { render, staticRenderFns } from \"./cuspreEdit.vue?vue&type=template&id=a807fc2c&scoped=true&\"\nimport script from \"./cuspreEdit.vue?vue&type=script&lang=tsx&\"\nexport * from \"./cuspreEdit.vue?vue&type=script&lang=tsx&\"\nimport style0 from \"./cuspreEdit.vue?vue&type=style&index=0&id=a807fc2c&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a807fc2c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"flex\":\"1\",\"height\":\"100%\",\"width\":\"100%\"}},[_c('el-container',{staticStyle:{\"height\":\"100%\"}},[_c('el-header',{staticStyle:{\"padding\":\"0px\"},attrs:{\"height\":\"80px\"}},[_c('el-card',{staticStyle:{\"height\":\"100%\"}},[_c('el-row',{staticStyle:{\"margin-bottom\":\"5px\"}},[_c('label',{staticStyle:{\"margin-left\":\"8px\"}},[_vm._v(\"运单号\")]),_c('el-input',{staticStyle:{\"margin-left\":\"8px\",\"width\":\"200px\"},attrs:{\"placeholder\":\"运单号查询\"},model:{value:(_vm.searchMode.Y_NO),callback:function ($$v) {_vm.$set(_vm.searchMode, \"Y_NO\", $$v)},expression:\"searchMode.Y_NO\"}}),_c('label',{staticStyle:{\"margin-left\":\"8px\"}},[_vm._v(\"状态\")]),_c('el-select',{staticStyle:{\"margin-left\":\"8px\",\"width\":\"200px\"},attrs:{\"placeholder\":\"请选择\",\"clearable\":\"\"},model:{value:(_vm.searchMode.ORDER_TYPE),callback:function ($$v) {_vm.$set(_vm.searchMode, \"ORDER_TYPE\", $$v)},expression:\"searchMode.ORDER_TYPE\"}},[_c('el-option',{attrs:{\"label\":\"待分配\",\"value\":\"待分配\"}}),_c('el-option',{attrs:{\"label\":\"已分配\",\"value\":\"已分配\"}}),_c('el-option',{attrs:{\"label\":\"在途\",\"value\":\"在途\"}}),_c('el-option',{attrs:{\"label\":\"已关闭\",\"value\":\"已关闭\"}})],1),_c('label',{staticStyle:{\"margin-left\":\"8px\"}},[_vm._v(\"关键字查询\")]),_c('el-input',{staticStyle:{\"margin-left\":\"8px\",\"width\":\"200px\"},attrs:{\"placeholder\":\"请输入查询关键字\"},model:{value:(_vm.searchMode.TO_DZ),callback:function ($$v) {_vm.$set(_vm.searchMode, \"TO_DZ\", $$v)},expression:\"searchMode.TO_DZ\"}})],1),_c('el-row',[_c('label',{staticStyle:{\"margin-left\":\"12px\"}},[_vm._v(\"提货日期起\")]),_c('el-date-picker',{staticStyle:{\"margin-left\":\"8px\",\"width\":\"200px\"},attrs:{\"type\":\"date\",\"placeholder\":\"提货日期起\"},model:{value:(_vm.searchMode.TH_DATE_FROM),callback:function ($$v) {_vm.$set(_vm.searchMode, \"TH_DATE_FROM\", $$v)},expression:\"searchMode.TH_DATE_FROM\"}}),_c('label',{staticStyle:{\"margin-left\":\"12px\"}},[_vm._v(\"提货日期止\")]),_c('el-date-picker',{staticStyle:{\"margin-left\":\"8px\",\"width\":\"200px\"},attrs:{\"type\":\"date\",\"placeholder\":\"提货日期止\"},model:{value:(_vm.searchMode.TH_DATE_TO),callback:function ($$v) {_vm.$set(_vm.searchMode, \"TH_DATE_TO\", $$v)},expression:\"searchMode.TH_DATE_TO\"}})],1)],1)],1),_c('el-main',{staticStyle:{\"padding\":\"0px\"}},[_c('tw-table',{ref:\"table\",attrs:{\"action\":\"Biz/Order/GetList\",\"auto-load\":true,\"index\":false,\"selection\":true,\"paging\":true,\"columns\":_vm.columns,\"show-summary\":false},on:{\"row-dblclick\":_vm.dbClick,\"row-click\":_vm.rowClick}},[_c('div',{staticStyle:{\"height\":\"30px\"},attrs:{\"slot\":\"leftTools\"},slot:\"leftTools\"},[_c('el-button',{attrs:{\"type\":\"success\"},on:{\"click\":_vm.add}},[_vm._v(\"新增\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.refresh}},[_vm._v(\"刷新\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.startRows}},[_vm._v(\"开始执行\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.sendRows}},[_vm._v(\"发送至跨越\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.sendLQRows}},[_vm._v(\"发送至蓝桥\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.updateLQRows}},[_vm._v(\"更新至蓝桥\")]),_c('tw-export',{attrs:{\"action\":\"Biz/Order/Download\",\"data\":_vm.exData,\"text\":\"数据导出\"}}),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.closeRows}},[_vm._v(\"结单\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.print}},[_vm._v(\"打印标签\")])],1),_c('div',{attrs:{\"slot\":\"rightTools\"},slot:\"rightTools\"},[_c('el-button',{attrs:{\"type\":\"danger\"},on:{\"click\":_vm.deleteRows}},[_vm._v(\"删除\")])],1)])],1),_c('order-edit',{attrs:{\"contrs\":_vm.CONTRINFO,\"toadress\":_vm.TOADRESSINFO,\"carname\":_vm.CARNAMEINFO,\"shcarname\":_vm.SHCARNAMEINFO,\"propkey\":_vm.rowGuid},on:{\"on-ok\":_vm.ok},model:{value:(_vm.showEdit),callback:function ($$v) {_vm.showEdit=$$v},expression:\"showEdit\"}}),_c('order-items',{attrs:{\"propkey\":_vm.parentKey},on:{\"on-ok\":_vm.ok},model:{value:(_vm.showItems),callback:function ($$v) {_vm.showItems=$$v},expression:\"showItems\"}}),_c('order-list',{attrs:{\"propkey\":_vm.parentKey},on:{\"on-ok\":_vm.ok},model:{value:(_vm.showTrack),callback:function ($$v) {_vm.showTrack=$$v},expression:\"showTrack\"}}),_c('right-panel',{attrs:{\"closeOnClickMask\":false,\"inner\":true,\"icon\":\"el-icon-paperclip\"}},[_c('tw-fileManager',{attrs:{\"loadAction\":\"/FileManager/LoadFile\",\"uploadAction\":\"/FileManager/Upload\",\"deleteAction\":\"/FileManager/DeleteFiles\",\"exportAction\":\"/FileManager/ExportFiles\",\"data\":_vm.fileKey}})],1),_c('tw-window',{attrs:{\"title\":\"标签打印\"},model:{value:(_vm.showPrint),callback:function ($$v) {_vm.showPrint=$$v},expression:\"showPrint\"}},[_c('div',{staticClass:\"printArea\"},[_c('iframe',{attrs:{\"src\":_vm.printSrc,\"width\":\"100%\",\"height\":\"100%\",\"frameborder\":\"0\"}})]),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"})])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Vue, Config, BasePage} from '@/common';\nimport orderEdit from './components/orderEdit.vue';\nimport orderItems from './components/orderItems.vue';\nimport orderList from './components/ordertrack.vue';\nimport config from '@/config'\nimport {TwTable} from '@/components';\n\n@Component({\n\tcomponents: {\n\t\torderEdit,\n\t\torderItems,\n\t\torderList,\n\t},\n})\nexport default class Order extends BasePage {\n\tget table(): TwTable {\n\t\treturn this.$refs['table'] as TwTable;\n\t}\n\n\trowGuid = '';\n\tshowEdit = false;\n\tcolumns = [];\n\tparentKey = '';\n\tCONTRINFO = [];\n\tTOADRESSINFO = [];\n\tCARNAMEINFO = [];\n\tSHCARNAMEINFO = [];\n\tshowItems = false;\n\tshowTrack = false;\n\tshowPrint = false;\n\tprintSrc = '';\n\n\tfileKey = '';\n\n\tsearchMode = {\n\t\tY_NO: '',\n\t\tTH_DATE_FROM: null,\n\t\tTH_DATE_TO: null,\n\t\tORDER_TYPE: '',\n\t\tTO_DZ:\"\"\n\t};\n\n\tget exData() {\n\t\treturn {\n\t\t\tY_NO: this.searchMode.Y_NO,\n\t\t\tTH_DATE_FROM: this.searchMode.TH_DATE_FROM,\n\t\t\tTH_DATE_TO: this.searchMode.TH_DATE_TO,\n\t\t\tORDER_TYPE: this.searchMode.ORDER_TYPE,\n\t\t\tTO_DZ:this.searchMode.TO_DZ\n\t\t}\n\t}\n\n\tok() {\n\t\tthis.table.reload();\n\t\tthis.fileKey = '';\n\t}\n\n\tadd() {\n\t\tthis.rowGuid = '';\n\t\tthis.showEdit = true;\n\t}\n\n\trefresh() {\n\t\tthis.table.load({...this.searchMode});\n\t\tthis.fileKey = '';\n\t}\n\n\tstartRows() {\n\t\tthis.$confirm('执行之后订单将不能修改, 是否继续?', '提示', {\n\t\t\tconfirmButtonText: '确定',\n\t\t\tcancelButtonText: '取消',\n\t\t\ttype: 'warning',\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tthis.$http\n\t\t\t\t\t.post('Biz/Order/Start', {\n\t\t\t\t\t\tGUID: this.table.getSelections().map((item) => item.GUID),\n\t\t\t\t\t})\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tif (res.data.status === 0) {\n\t\t\t\t\t\t\tthis.$message.success('执行成功');\n\t\t\t\t\t\t\tthis.fileKey = '';\n\t\t\t\t\t\t\tthis.table.reload();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.$message.warning(res.data.msg || '操作失败');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t});\n\t}\n\n\tsendRows() {\n\t\tthis.$confirm('执行之后订单将传给跨越系统, 是否确认?', '提示', {\n\t\t\tconfirmButtonText: '确定',\n\t\t\tcancelButtonText: '取消',\n\t\t\ttype: 'warning',\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tthis.$http\n\t\t\t\t\t.post('Biz/Order/Send', {\n\t\t\t\t\t\tGUID: this.table.getSelections().map((item) => item.GUID),\n\t\t\t\t\t})\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tif (res.data.status === 0) {\n\t\t\t\t\t\t\tthis.$message.success('执行成功');\n\t\t\t\t\t\t\tthis.fileKey = '';\n\t\t\t\t\t\t\tthis.table.reload();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.$message.warning(res.data.msg || '操作失败');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t});\n\t}\n\n\tsendLQRows() {\n\t\tthis.$confirm('执行之后订单将传给蓝桥系统, 是否确认?', '提示', {\n\t\t\tconfirmButtonText: '确定',\n\t\t\tcancelButtonText: '取消',\n\t\t\ttype: 'warning',\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tthis.$http\n\t\t\t\t\t.post('Biz/Order/SendLQ', {\n\t\t\t\t\t\tGUID: this.table.getSelections().map((item) => item.GUID),\n\t\t\t\t\t})\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tif (res.data.status === 0) {\n\t\t\t\t\t\t\tthis.$message.success('执行成功');\n\t\t\t\t\t\t\tthis.fileKey = '';\n\t\t\t\t\t\t\tthis.table.reload();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.$message.warning(res.data.msg || '操作失败');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t});\n\t}\n\n\tupdateLQRows() {\n\t\tthis.$confirm('执行之后订单将更新到蓝桥系统, 是否确认?', '提示', {\n\t\t\tconfirmButtonText: '确定',\n\t\t\tcancelButtonText: '取消',\n\t\t\ttype: 'warning',\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tthis.$http\n\t\t\t\t\t.post('Biz/Order/UpdateLQ', {\n\t\t\t\t\t\tGUID: this.table.getSelections().map((item) => item.GUID),\n\t\t\t\t\t})\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tif (res.data.status === 0) {\n\t\t\t\t\t\t\tthis.$message.success('执行成功');\n\t\t\t\t\t\t\tthis.fileKey = '';\n\t\t\t\t\t\t\tthis.table.reload();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.$message.warning(res.data.msg || '操作失败');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t});\n\t}\n\t\n\n\tcloseRows() {\n\t\tthis.$confirm('执行之后订单将关闭, 是否继续?', '提示', {\n\t\t\tconfirmButtonText: '确定',\n\t\t\tcancelButtonText: '取消',\n\t\t\ttype: 'warning',\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tthis.$http\n\t\t\t\t\t.post('Biz/Order/CloseOrder', {\n\t\t\t\t\t\tGUID: this.table.getSelections().map((item) => item.GUID),\n\t\t\t\t\t})\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tif (res.data.status === 0) {\n\t\t\t\t\t\t\tthis.$message.success('执行成功');\n\t\t\t\t\t\t\tthis.fileKey = '';\n\t\t\t\t\t\t\tthis.table.reload();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.$message.warning(res.data.msg || '操作失败');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t});\n\t}\n\n\tdbClick(row) {\n\t\tthis.showEdit = true;\n\t\tthis.rowGuid = row.GUID;\n\t}\n\n\trowClick(row) {\n\t\tthis.fileKey = row.Y_NO;\n\t}\n\n\tprint() {\n\t\tlet rows = this.table.getSelections();\n\t\tif (!rows.length) {\n\t\t\tthis.$message.warning('请选中要打印标签的数据');\n\t\t\treturn;\n\t\t}\n\t\tthis.showPrint = true;\n\n\t\tlet billnos = rows.map(item => item.Y_NO).join(',');\n\n\t\tthis.printSrc = config.baseUrl + '/Biz/Order/Index?billnos=' + billnos\n\t}\n\n\tdeleteRows() {\n\t\tthis.$confirm('此操作将永久删除该数据以及明细, 是否继续?', '提示', {\n\t\t\tconfirmButtonText: '确定',\n\t\t\tcancelButtonText: '取消',\n\t\t\ttype: 'warning',\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tthis.$http\n\t\t\t\t\t.post('Biz/Order/Delete', {\n\t\t\t\t\t\tGUID: this.table.getSelections().map((item) => item.GUID),\n\t\t\t\t\t})\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tif (res.data.status === 0) {\n\t\t\t\t\t\t\tthis.$message.success('删除成功');\n\t\t\t\t\t\t\tthis.fileKey = '';\n\t\t\t\t\t\t\tthis.table.reload();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.$message.warning(res.data.msg || '操作失败');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t});\n\t}\n\n\trenderItem(props) {\n\t\treturn (\n\t\t\t {\n\t\t\t\t\tthis.parentKey = props.row.GUID;\n\t\t\t\t\tthis.showItems = true;\n\t\t\t\t}}\n\t\t\t\tstyle=\"color:blue;text-decoration:underline;cursor: pointer;\"\n\t\t\t>\n\t\t\t\t{props.row.QTY}\n\t\t\t
\n\t\t);\n\t}\n\n\trenderList(props) {\n\t\tif (\n\t\t\tprops.row.ORDER_TYPE === '待分配' ||\n\t\t\tprops.row.ORDER_TYPE === '已分配'\n\t\t) {\n\t\t\treturn {props.row.CONTR_NO}
;\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t {\n\t\t\t\t\t\tthis.parentKey = props.row.Y_NO;\n\t\t\t\t\t\tthis.showTrack = true;\n\t\t\t\t\t}}\n\t\t\t\t\tstyle=\"color:blue;text-decoration:underline;cursor: pointer;\"\n\t\t\t\t>\n\t\t\t\t\t{props.row.CONTR_NO}\n\t\t\t\t
\n\t\t\t);\n\t\t}\n\t}\n\n\tmounted() {\n\t\tthis.buildColumn('002001', this.columns);\n\t\tthis.loadContr();\n\t}\n\n\tloadContr() {\n\t\tthis.$http.get('Biz/Order/GetContr').then((res) => {\n\t\t\tif (res.data.status === 0) {\n\t\t\t\tthis.CONTRINFO.splice(0);\n\t\t\t\tthis.CONTRINFO.push(...res.data.CONTRINFO);\n\t\t\t}\n\t\t});\n\n\t\tthis.$http.get('Biz/Order/GetCarname').then((res) => {\n\t\t\tif (res.data.status === 0) {\n\t\t\t\tthis.CARNAMEINFO.splice(0);\n\t\t\t\tthis.CARNAMEINFO.push(...res.data.CARNAMEINFO);\n\t\t\t}\n\t\t});\n\n\t\tthis.$http.get('Biz/Order/GetSHCarname').then((res) => {\n\t\t\tif (res.data.status === 0) {\n\t\t\t\tthis.SHCARNAMEINFO.splice(0);\n\t\t\t\tthis.SHCARNAMEINFO.push(...res.data.SHCARNAMEINFO);\n\t\t\t}\n\t\t});\n\n\t\tthis.$http.get('Biz/Order/GetToAdress').then((res) => {\n\t\t\tif (res.data.status === 0) {\n\t\t\t\tthis.TOADRESSINFO.splice(0);\n\t\t\t\tthis.TOADRESSINFO.push(...res.data.TOADRESSINFO);\n\t\t\t}\n\t\t});\n\t}\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./order.vue?vue&type=script&lang=tsx&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./order.vue?vue&type=script&lang=tsx&\"","import { render, staticRenderFns } from \"./order.vue?vue&type=template&id=6e0ab330&scoped=true&\"\nimport script from \"./order.vue?vue&type=script&lang=tsx&\"\nexport * from \"./order.vue?vue&type=script&lang=tsx&\"\nimport style0 from \"./order.vue?vue&type=style&index=0&id=6e0ab330&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6e0ab330\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=7561a826&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=7561a826&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"flex\":\"1\",\"height\":\"100%\",\"width\":\"100%\"}},[_c('el-container',{staticStyle:{\"height\":\"100%\"}},[_c('el-header',{staticStyle:{\"padding\":\"0px\"},attrs:{\"height\":\"50px\"}},[_c('el-card',{staticStyle:{\"height\":\"100%\"}},[_c('el-form',{attrs:{\"label-width\":\"80px\",\"model\":_vm.searchMode}},[_c('el-row',{attrs:{\"gutter\":10}},[_c('el-col',{attrs:{\"span\":4}},[_c('el-form-item',{attrs:{\"label\":\"客户名称\"}},[_c('el-input',{attrs:{\"placeholder\":\"客户名称查询\"},model:{value:(_vm.searchMode.CUSTOMNAME),callback:function ($$v) {_vm.$set(_vm.searchMode, \"CUSTOMNAME\", $$v)},expression:\"searchMode.CUSTOMNAME\"}})],1)],1)],1)],1)],1)],1),_c('el-main',{staticStyle:{\"padding\":\"0px\"}},[_c('tw-table',{ref:\"table\",attrs:{\"action\":\"Basic/CusPre/GetList\",\"auto-load\":true,\"index\":true,\"selection\":true,\"paging\":true,\"columns\":_vm.columns},on:{\"row-dblclick\":_vm.dbClick}},[_c('div',{staticStyle:{\"height\":\"30px\"},attrs:{\"slot\":\"leftTools\"},slot:\"leftTools\"},[_c('el-button',{attrs:{\"type\":\"success\"},on:{\"click\":_vm.add}},[_vm._v(\"新增\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.refresh}},[_vm._v(\"刷新\")])],1),_c('div',{attrs:{\"slot\":\"rightTools\"},slot:\"rightTools\"},[_c('el-button',{attrs:{\"type\":\"danger\"},on:{\"click\":_vm.deleteRows}},[_vm._v(\"删除\")])],1)])],1)],1),_c('cuspre-edit',{attrs:{\"propkey\":_vm.rowGuid},on:{\"on-ok\":_vm.ok},model:{value:(_vm.showEdit),callback:function ($$v) {_vm.showEdit=$$v},expression:\"showEdit\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Vue, Config, BasePage} from '@/common';\nimport cuspreEdit from './components/cuspreEdit.vue';\nimport {TwTable} from '@/components';\n\n@Component({\n\tcomponents: {\n\t\tcuspreEdit\n\t}\n})\nexport default class CusPre extends BasePage {\n\tget table(): TwTable {\n\t\treturn this.$refs['table'] as TwTable;\n\t}\n\n\trowGuid = '';\n\tshowEdit = false;\n\tcolumns = [];\n\n\tsearchMode = {\n\t\tCUSTOMNAME: ''\n\t};\n\n\tok() {\n\t\tthis.table.reload();\n\t}\n\n\tadd() {\n\t\tthis.rowGuid = '';\n\t\tthis.showEdit = true;\n\t}\n\n\trefresh() {\n\t\tthis.table.load({...this.searchMode});\n\t}\n\n\tdbClick(row) {\n\t\tthis.showEdit = true;\n\t\tthis.rowGuid = row.Guid;\n\t}\n\n\tdeleteRows() {\n\t\tthis.$confirm('此操作将永久删除该数据以及明细, 是否继续?', '提示', {\n\t\t\tconfirmButtonText: '确定',\n\t\t\tcancelButtonText: '取消',\n\t\t\ttype: 'warning'\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tthis.$http\n\t\t\t\t\t.post('Basic/CusPre/Delete', {\n\t\t\t\t\t\tGUID: this.table.getSelections().map(item => item.Guid)\n\t\t\t\t\t})\n\t\t\t\t\t.then(res => {\n\t\t\t\t\t\tif (res.data.status === 0) {\n\t\t\t\t\t\t\tthis.$message.success('删除成功');\n\t\t\t\t\t\t\tthis.table.reload();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.$message.warning(res.data.msg || '操作失败');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t});\n\t}\n\n\tmounted() {\n\t\tthis.buildColumn('003003', this.columns);\n\t}\n\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cuspre.vue?vue&type=script&lang=tsx&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cuspre.vue?vue&type=script&lang=tsx&\"","import { render, staticRenderFns } from \"./cuspre.vue?vue&type=template&id=0bbae8cb&scoped=true&\"\nimport script from \"./cuspre.vue?vue&type=script&lang=tsx&\"\nexport * from \"./cuspre.vue?vue&type=script&lang=tsx&\"\nimport style0 from \"./cuspre.vue?vue&type=style&index=0&id=0bbae8cb&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0bbae8cb\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"menu-wrapper\"},[(_vm.isSingle())?_c('router-link',{attrs:{\"to\":_vm.item.path,\"target\":_vm.item.meta.single===true?'_blank':'_self'}},[_c('el-menu-item',{class:{'submenu-title-noDropdown':!_vm.isNest},attrs:{\"index\":_vm.item.path}},[(_vm.item.meta&&_vm.item.meta.icon)?_c('i',{class:_vm.item.meta.icon}):_vm._e(),(_vm.item.meta&&_vm.item.meta.title)?_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(_vm.item.meta.title))]):_vm._e()])],1):_c('el-submenu',{attrs:{\"index\":_vm.item.name||_vm.item.path}},[_c('template',{slot:\"title\"},[(_vm.item.meta&&_vm.item.meta.icon)?_c('i',{class:_vm.item.meta.icon}):_vm._e(),(_vm.item.meta&&_vm.item.meta.title)?_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(_vm.item.meta.title))]):_vm._e()]),_vm._l((_vm.item.children),function(child){return (!child.hidden)?[(child.children&&child.children.length>0)?_c('sidebar-item',{key:child.path,staticClass:\"nest-menu\",attrs:{\"is-nest\":true,\"item\":child,\"base-path\":child.path}}):_c('router-link',{key:child.name,attrs:{\"to\":child.path}},[_c('el-menu-item',{attrs:{\"index\":child.path}},[(child.meta&&child.meta.icon)?_c('i',{class:child.meta.icon}):_vm._e(),(child.meta&&child.meta.title)?_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(child.meta.title))]):_vm._e()])],1)]:_vm._e()})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from \"@/common\";\n\n@Component({})\nexport default class SidebarItem extends Vue {\n @Prop() item: any;\n\n @Prop() isNest!: boolean;\n\n isSingle() {\n if (!this.item.children || this.item.children.length === 0) {\n return true;\n }\n return false;\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SidebarItem.vue?vue&type=template&id=3be9d652&\"\nimport script from \"./SidebarItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./SidebarItem.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"100%\",\"position\":\"absolute\"}},[_c('tw-window',{staticClass:\"order-edit\",attrs:{\"title\":\"物流追踪\",\"width\":\"780px\"},model:{value:(_vm.showTModel),callback:function ($$v) {_vm.showTModel=$$v},expression:\"showTModel\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.dataLoading),expression:\"dataLoading\"}],staticClass:\"acc\"},[_c('div',[_c('div',{attrs:{\"id\":\"particles-background\"}}),_c('div',{attrs:{\"id\":\"particles-foreground\"}}),_c('div',{staticClass:\"nm-loader-wrapper\"},[_c('div',{staticClass:\"nm-loader\"}),_c('div',{staticClass:\"nm-progress\",attrs:{\"id\":\"nm-progress\"}}),_c('div',{staticClass:\"nm-loader-section section-left\"}),_c('div',{staticClass:\"nm-loader-section section-right\"})]),_c('div',{staticClass:\"nm-loader-footer\"})])]),_c('tw-table',{ref:\"itemsTable\",attrs:{\"auto-load\":false,\"index\":false,\"selection\":false,\"paging\":false,\"editable\":true,\"columns\":_vm.columns,\"data\":_vm.data}}),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"})],1),_c('show-map',{attrs:{\"propkey\":_vm.propkey},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {\n Component,\n Vue,\n Config,\n TModelBase,\n Model,\n Watch,\n Prop,\n} from \"@/common\";\n\nimport { TwTable } from \"@/components\";\nimport ShowMap from \"./showMap.vue\"\n@Component({\n components:{\n ShowMap\n }\n})\nexport default class OrderItems extends TModelBase {\n switchShowTModel(val) {\n if (val === true) {\n this.$http\n .get(\"Biz/Order/GetTrackList\", {\n params: {\n Y_NO: this.propkey,\n },\n })\n .then((res) => {\n this.data.splice(0);\n this.data.push(...res.data.items);\n });\n }\n }\n\n @Prop({})\n private contrs!: Array;\n\n @Prop({})\n private propkey!: String;\n\n get itemsTable(): TwTable {\n return this.$refs[\"itemsTable\"] as TwTable;\n }\n\n show=false;\n\n dataLoading = false;\n\n saveMask = false;\n\n columns = [];\n\n data = [];\n\n mounted() {\n this.buildColumn(\"OrderTrack\", this.columns);\n }\n\n renderHeader(h, params) {\n return (\n {\n this.show=true;\n }}\n >\n {params.column.label}\n \n \n );\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ordertrack.vue?vue&type=script&lang=tsx&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ordertrack.vue?vue&type=script&lang=tsx&\"","import { render, staticRenderFns } from \"./ordertrack.vue?vue&type=template&id=2d71685c&scoped=true&\"\nimport script from \"./ordertrack.vue?vue&type=script&lang=tsx&\"\nexport * from \"./ordertrack.vue?vue&type=script&lang=tsx&\"\nimport style0 from \"./ordertrack.vue?vue&type=style&index=0&id=2d71685c&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2d71685c\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./orderEdit.vue?vue&type=style&index=0&id=61fb9cf8&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./orderEdit.vue?vue&type=style&index=0&id=61fb9cf8&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./offerEdit.vue?vue&type=style&index=0&id=49c93109&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./offerEdit.vue?vue&type=style&index=0&id=49c93109&lang=scss&scoped=true&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAbUlEQVQ4jWNgGAUwoECGHgFkjgEDA0M/CZoLGBgYEtAFHYgwRACqBkMzTHI9FDcwILwlAHVhAwMDw34GBobz+JzlAGXvh2o4j8S+j2QYVpciB8p8KB2A5Nz5SK4ywOUKGIC5RAGNLYCpdBRQDAAQsRCzebB6cgAAAABJRU5ErkJggg==\"","var map = {\n\t\"./Home.vue\": \"bb51\",\n\t\"./base/Module.vue\": \"25aa\",\n\t\"./base/Role.vue\": \"4652\",\n\t\"./base/User.vue\": \"4415\",\n\t\"./base/components/ColumnLayout.vue\": \"db63\",\n\t\"./base/components/ModuleButtonRegister.vue\": \"6f21\",\n\t\"./demo/Test.vue\": \"7359\",\n\t\"./error/404.vue\": \"2754\",\n\t\"./layout/Layout.vue\": \"d9ce\",\n\t\"./layout/Login.vue\": \"935d\",\n\t\"./layout/components/AppMain.vue\": \"177e\",\n\t\"./layout/components/Breadcrumb/index.vue\": \"863a\",\n\t\"./layout/components/Hamburger/index.vue\": \"08ad\",\n\t\"./layout/components/LangSelect/index.vue\": \"8a7a\",\n\t\"./layout/components/Navbar.vue\": \"a10a\",\n\t\"./layout/components/Sidebar/SidebarItem.vue\": \"e9ca\",\n\t\"./layout/components/Sidebar/index.vue\": \"30c6\",\n\t\"./layout/components/TagsView/ScrollPane.vue\": \"a3f8\",\n\t\"./layout/components/TagsView/index.vue\": \"9bb8\",\n\t\"./layout/components/ThemePicker/index.vue\": \"0391\",\n\t\"./wms/components/billEdit.vue\": \"74c2\",\n\t\"./wms/components/contrEdit.vue\": \"6d1a\",\n\t\"./wms/components/cuspreEdit.vue\": \"e16b\",\n\t\"./wms/components/customEdit.vue\": \"9fc7\",\n\t\"./wms/components/itemfetch.vue\": \"bbba\",\n\t\"./wms/components/offerEdit.vue\": \"2aa5\",\n\t\"./wms/components/orderEdit.vue\": \"9146\",\n\t\"./wms/components/orderItems.vue\": \"b57e\",\n\t\"./wms/components/ordertrack.vue\": \"f0e5\",\n\t\"./wms/components/personEdit.vue\": \"4b01\",\n\t\"./wms/components/showMap.vue\": \"1846\",\n\t\"./wms/contr.vue\": \"7f5b\",\n\t\"./wms/cuspre.vue\": \"e891\",\n\t\"./wms/custom.vue\": \"4492\",\n\t\"./wms/offer.vue\": \"96c8\",\n\t\"./wms/order.vue\": \"e506\",\n\t\"./wms/person.vue\": \"71fb\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"feca\";"],"sourceRoot":""}