1 |
- {"version":3,"sources":["webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./resources/src/components/LzForm/index.vue?0a68","webpack:///./resources/src/components/LzForm/index.vue?6710","webpack:///resources/src/components/LzForm/index.vue","webpack:///./resources/src/components/LzForm/index.vue","webpack:///./resources/src/components/LzForm/index.vue?4c9f","webpack:///./resources/src/api/area.js","webpack:///./resources/src/views/bikes/Form.vue?5f1c","webpack:///resources/src/views/bikes/Form.vue","webpack:///./resources/src/views/bikes/Form.vue?c775","webpack:///./resources/src/views/bikes/Form.vue","webpack:///./resources/src/components/LzForm/FormHelper.js"],"names":["_arrayWithHoles","arr","Array","isArray","_iterableToArrayLimit","i","Symbol","iterator","Object","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","value","length","err","_nonIterableRest","TypeError","_slicedToArray","unsupportedIterableToArray","staticRenderFns","name","components","FlexSpacer","inject","view","from","default","data","loading","stay","props","getData","Function","submit","errors","form","submitText","type","String","labelPosition","inDialog","Boolean","createdRedirect","p","updatedRedirect","this","$router","back","bind","disableRedirect","disableStay","editMode","computed","realLabelPosition","$store","state","miniWidth","created","copyMethods","methods","Form","m","apply","$refs","arguments","onReset","resetFields","watch","$route","handler","$active","_getData","immediate","render","defaultSlot","map","helper","replace","slot","h","options","propsData","formItem","model","on","class","style","width","directives","ref","component","getAreas","params","axios","get","showArea","id","storeArea","post","updateArea","put","editArea","_vm","_h","$createElement","_c","_self","scopedSlots","_u","key","fn","proxy","attrs","onSubmit","$event","resourceId","callback","$$v","$set","expression","_l","_v","LzForm","mixins","areas","provide","formField","idField","backupForm","getResourceId","formBak","JSON","parse","stringify","$data","fillForm","assignExists"],"mappings":"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","file":"js/chunk-e466dfb2.0f2d7abb.js","sourcesContent":["export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","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/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-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=style&index=0&id=3084f0c4&scoped=true&lang=scss&\"; 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/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-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=style&index=0&id=3084f0c4&scoped=true&lang=scss&\"","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/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-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=style&index=1&lang=scss&\"; 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/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-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=style&index=1&lang=scss&\"","<script>\r\nimport _forIn from 'lodash/forIn'\r\nimport _get from 'lodash/get'\r\nimport Form from '@/plugins/element/components/Form'\r\nimport { getMessage, handleValidateErrors } from '@/libs/utils'\r\nimport FlexSpacer from '@c/FlexSpacer'\r\n\r\nexport default {\r\n name: 'LzForm',\r\n components: {\r\n FlexSpacer,\r\n },\r\n inject: {\r\n // 使用 FormHelper 混入,会自动提供该注入\r\n view: {\r\n from: 'view',\r\n default: null,\r\n },\r\n },\r\n data() {\r\n return {\r\n loading: false,\r\n stay: false,\r\n }\r\n },\r\n props: {\r\n getData: Function,\r\n submit: Function,\r\n errors: Object,\r\n form: Object,\r\n submitText: {\r\n type: String,\r\n default: '保存',\r\n },\r\n labelPosition: String,\r\n inDialog: Boolean,\r\n createdRedirect: {\r\n type: [String, Function],\r\n default() {\r\n const p = this.$route.path.split('/')\r\n return '/' + (p[p.length - 2] || '')\r\n },\r\n },\r\n updatedRedirect: {\r\n type: [String, Function],\r\n default() {\r\n return this.$router.back.bind(this.$router)\r\n },\r\n },\r\n disableRedirect: Boolean,\r\n disableStay: Boolean,\r\n editMode: Boolean,\r\n },\r\n computed: {\r\n realLabelPosition() {\r\n return this.labelPosition || (this.$store.state.miniWidth ? 'top' : 'right')\r\n },\r\n miniWidth() {\r\n return this.$store.state.miniWidth\r\n },\r\n },\r\n created() {\r\n this.copyMethods()\r\n },\r\n methods: {\r\n /**\r\n * 复制实际 Form 组件的方法, 给外部调用, 并把 this 指向 ElForm 实例\r\n */\r\n copyMethods() {\r\n // 原始 ElForm 和 重写的 Form\r\n [Form.extends.methods, Form.methods].forEach(methods => {\r\n _forIn(methods, (m, k) => {\r\n this[k] = function () {\r\n m.apply(this.$refs.form, arguments)\r\n }\r\n })\r\n })\r\n },\r\n async _getData() {\r\n this.loading = true\r\n this.view && this.$emit('update:form', this.view.formBak)\r\n\r\n try {\r\n this.getData && await this.getData()\r\n // 在某些情况下,会出现方法未定义,所以放到 nextTick 中\r\n this.$nextTick(() => {\r\n this.setInitialValues()\r\n })\r\n } catch (e) {\r\n Promise.reject(e)\r\n }\r\n\r\n this.loading = false\r\n },\r\n async onSubmit() {\r\n this.$emit('update:errors', {})\r\n try {\r\n this.submit && await this.submit()\r\n\r\n this.$message.success(getMessage(this.editMode ? 'updated' : 'created'))\r\n\r\n if (this.stay || this.disableRedirect) {\r\n return\r\n }\r\n\r\n let redirect = this.editMode ? this.updatedRedirect : this.createdRedirect\r\n if (typeof redirect === 'string') {\r\n this.$router.push(redirect)\r\n } else if (typeof redirect === 'function') {\r\n redirect()\r\n }\r\n } catch (e) {\r\n this.$emit('update:errors', handleValidateErrors(e.response))\r\n if (_get(e, 'response.status') !== 422) {\r\n Promise.reject(e)\r\n }\r\n }\r\n },\r\n onReset() {\r\n this.$refs.form.resetFields()\r\n },\r\n },\r\n watch: {\r\n $route: {\r\n handler() {\r\n this.$active && this._getData()\r\n },\r\n immediate: true,\r\n },\r\n },\r\n render(h) {\r\n let defaultSlot = this.$slots.default\r\n if (Array.isArray(defaultSlot)) {\r\n defaultSlot = defaultSlot.map((formItem) => {\r\n const options = formItem.componentOptions\r\n\r\n // 如果有 helper props,则生成一个新的 FormItem 替换掉原来的\r\n let { helper, label } = options.propsData\r\n if (helper) {\r\n helper = helper.replace(/\\n/g, '<br>')\r\n const labelSlot = h('template', {\r\n slot: 'label',\r\n }, [\r\n (<span>{label}</span>),\r\n (\r\n <el-tooltip\r\n effect=\"dark\"\r\n placement=\"top-start\"\r\n popper-class={`form-helper-popper ${this.miniWidth ? 'mini-width' : ''}`}\r\n >\r\n <div slot=\"content\" domPropsInnerHTML={helper}/>\r\n <i class=\"ml-1 el-icon-question helper\"/>\r\n </el-tooltip>\r\n ),\r\n ])\r\n return h('el-form-item', {\r\n props: options.propsData,\r\n }, [labelSlot, ...options.children])\r\n } else {\r\n return formItem\r\n }\r\n })\r\n }\r\n\r\n const stayCheckbox = !this.disableStay && (\r\n <el-checkbox\r\n vModel={this.stay}\r\n title=\"表单提交后,留在此页\"\r\n >\r\n 留在此页\r\n </el-checkbox>\r\n )\r\n\r\n const footerSlot = this.$slots.footer || (\r\n <el-form-item class=\"footer\">\r\n <loading-action type=\"primary\" action={this.onSubmit}>{this.submitText}</loading-action>\r\n <el-button vOn:click={this.onReset}>重置</el-button>\r\n {this.$slots.footerAppend}\r\n <flex-spacer/>\r\n\r\n </el-form-item>\r\n )\r\n\r\n // 用 jsx,ElForm 组件的 model props 传不进去,,,\r\n return h('el-form', {\r\n props: {\r\n model: this.form,\r\n errors: this.errors,\r\n labelPosition: this.realLabelPosition,\r\n ...this.$attrs,\r\n },\r\n on: {\r\n ...this.$listeners,\r\n },\r\n class: {\r\n 'in-dialog': this.inDialog,\r\n },\r\n style: {\r\n width: this.inDialog ? 'auto' : '800px',\r\n },\r\n directives: [\r\n {\r\n name: 'loading',\r\n value: this.loading,\r\n },\r\n ],\r\n ref: 'form',\r\n }, [defaultSlot, footerSlot])\r\n },\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@import '~element-ui/packages/theme-chalk/src/common/var';\r\n\r\n.footer {\r\n /deep/ {\r\n .el-form-item__content {\r\n display: flex;\r\n }\r\n }\r\n}\r\n\r\n.in-dialog {\r\n .footer {\r\n text-align: right;\r\n margin-bottom: 0;\r\n }\r\n}\r\n\r\n.helper {\r\n color: $--color-primary;\r\n border: 2px solid transparent;\r\n border-radius: 50%;\r\n transition: border-color .3s;\r\n\r\n &:hover {\r\n border-color: $--color-primary-light-1;\r\n }\r\n}\r\n</style>\r\n\r\n<style lang=\"scss\">\r\n.form-helper-popper {\r\n max-width: 400px;\r\n\r\n &.mini-width {\r\n max-width: 90%;\r\n }\r\n}\r\n</style>\r\n","var render, staticRenderFns\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=3084f0c4&scoped=true&lang=scss&\"\nimport style1 from \"./index.vue?vue&type=style&index=1&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 \"3084f0c4\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.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=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.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=script&lang=js&\"","import axios from '@/plugins/axios'\r\n\r\nexport function getAreas(params = {}) {\r\n return axios.get('area', {\r\n params,\r\n })\r\n}\r\n\r\nexport function showArea(id) {\r\n return axios.get(`area/${id}`)\r\n}\r\n\r\nexport function storeArea(data) {\r\n return axios.post('area', data)\r\n}\r\n\r\nexport function updateArea(id, data) {\r\n return axios.put(`area/${id}`, data)\r\n}\r\n\r\nexport function editArea(id) {\r\n return axios.get(`area/${id}/edit`)\r\n}\r\n\r\nexport function destroyArea(id) {\r\n return axios.delete(`area/${id}`)\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-card',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('content-header')]},proxy:true}])},[_c('el-row',{attrs:{\"type\":\"flex\",\"justify\":\"center\"}},[_c('lz-form',{ref:\"form\",attrs:{\"get-data\":_vm.getData,\"submit\":_vm.onSubmit,\"form\":_vm.form,\"errors\":_vm.errors,\"edit-mode\":_vm.editMode},on:{\"update:form\":function($event){_vm.form=$event},\"update:errors\":function($event){_vm.errors=$event}}},[_c('el-form-item',{attrs:{\"label\":\"车牌号\",\"required\":\"\",\"prop\":\"bike_no\"}},[_c('el-input',{attrs:{\"disabled\":this.resourceId},model:{value:(_vm.form.bike_no),callback:function ($$v) {_vm.$set(_vm.form, \"bike_no\", $$v)},expression:\"form.bike_no\"}})],1),_c('el-form-item',{attrs:{\"label\":\"控制设备编号\",\"prop\":\"box_no\"}},[_c('el-input',{model:{value:(_vm.form.box_no),callback:function ($$v) {_vm.$set(_vm.form, \"box_no\", $$v)},expression:\"form.box_no\"}})],1),_c('el-form-item',{attrs:{\"label\":\"投放区域\",\"prop\":\"put_area_id\"}},[_c('el-select',{attrs:{\"clearable\":\"\",\"placeholder\":\"选择区域\"},model:{value:(_vm.form.put_area_id),callback:function ($$v) {_vm.$set(_vm.form, \"put_area_id\", $$v)},expression:\"form.put_area_id\"}},_vm._l((_vm.areas),function(i){return _c('el-option',{key:i.id,attrs:{\"label\":i.name,\"value\":i.id}})}),1)],1),_c('el-form-item',{attrs:{\"label\":\"投放状态\",\"required\":\"\",\"prop\":\"put_status\"}},[_c('el-radio',{attrs:{\"label\":\"0\"},model:{value:(_vm.form.put_status),callback:function ($$v) {_vm.$set(_vm.form, \"put_status\", $$v)},expression:\"form.put_status\"}},[_vm._v(\"未投放\")]),_c('el-radio',{attrs:{\"label\":\"1\"},model:{value:(_vm.form.put_status),callback:function ($$v) {_vm.$set(_vm.form, \"put_status\", $$v)},expression:\"form.put_status\"}},[_vm._v(\"已投放\")])],1),_c('el-form-item',{attrs:{\"label\":\"投放时间\",\"prop\":\"put_time\"}},[_c('el-date-picker',{attrs:{\"type\":\"datetime\",\"placeholder\":\"选择日期时间\"},model:{value:(_vm.form.put_time),callback:function ($$v) {_vm.$set(_vm.form, \"put_time\", $$v)},expression:\"form.put_time\"}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <el-card>\r\n <template #header>\r\n <content-header/>\r\n </template>\r\n <el-row type=\"flex\" justify=\"center\">\r\n <lz-form\r\n ref=\"form\"\r\n :get-data=\"getData\"\r\n :submit=\"onSubmit\"\r\n :form.sync=\"form\"\r\n :errors.sync=\"errors\"\r\n :edit-mode=\"editMode\"\r\n >\r\n <el-form-item label=\"车牌号\" required prop=\"bike_no\">\r\n <el-input :disabled=\"this.resourceId\" v-model=\"form.bike_no\"/>\r\n </el-form-item>\r\n\r\n <el-form-item label=\"控制设备编号\" prop=\"box_no\">\r\n <el-input v-model=\"form.box_no\"/>\r\n </el-form-item>\r\n\r\n <el-form-item label=\"投放区域\" prop=\"put_area_id\">\r\n <el-select\r\n v-model=\"form.put_area_id\"\r\n clearable\r\n placeholder=\"选择区域\"\r\n >\r\n <el-option\r\n v-for=\"i in areas\"\r\n :key=\"i.id\"\r\n :label=\"i.name\"\r\n :value=\"i.id\"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label=\"投放状态\" required prop=\"put_status\">\r\n <el-radio v-model=\"form.put_status\" label=\"0\">未投放</el-radio>\r\n <el-radio v-model=\"form.put_status\" label=\"1\">已投放</el-radio>\r\n </el-form-item>\r\n <el-form-item label=\"投放时间\" prop=\"put_time\">\r\n <el-date-picker\r\n v-model=\"form.put_time\"\r\n type=\"datetime\"\r\n placeholder=\"选择日期时间\"\r\n />\r\n </el-form-item>\r\n </lz-form>\r\n </el-row>\r\n </el-card>\r\n</template>\r\n\r\n<script>\r\nimport { editBike, storeBike, updateBike } from '@/api/bike'\r\nimport { getAreas } from '@/api/area'\r\nimport LzForm from '@c/LzForm'\r\nimport FormHelper from '@c/LzForm/FormHelper'\r\n\r\nexport default {\r\n name: 'Form',\r\n components: {\r\n LzForm,\r\n },\r\n mixins: [\r\n FormHelper,\r\n ],\r\n data() {\r\n return {\r\n form: {\r\n 'bike_no': '',\r\n 'box_no': '',\r\n 'put_area_id': '',\r\n 'put_status': '',\r\n 'put_time': '',\r\n },\r\n errors: {},\r\n areas: [],\r\n }\r\n },\r\n methods: {\r\n async getData() {\r\n const [\r\n { data: areas },\r\n ] = await Promise.all([\r\n getAreas({ all: 1 }),\r\n ])\r\n\r\n this.areas = areas\r\n\r\n if (this.editMode) {\r\n const { data } = await editBike(this.resourceId)\r\n data.put_status = data.put_status ? '1' : '0'\r\n this.fillForm(data)\r\n }\r\n },\r\n async onSubmit() {\r\n if (this.editMode) {\r\n await updateBike(this.resourceId, this.form)\r\n } else {\r\n await storeBike(this.form)\r\n }\r\n },\r\n },\r\n}\r\n</script>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Form.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Form.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Form.vue?vue&type=template&id=781bf5f6&\"\nimport script from \"./Form.vue?vue&type=script&lang=js&\"\nexport * from \"./Form.vue?vue&type=script&lang=js&\"\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 { assignExists } from '@/libs/utils'\r\n\r\nexport default {\r\n provide() {\r\n return {\r\n view: this,\r\n }\r\n },\r\n data() {\r\n return {\r\n /**\r\n * 保存表单数据的键名\r\n */\r\n formField: 'form',\r\n /**\r\n * 编辑时,路由中的动态值\r\n */\r\n idField: 'id',\r\n }\r\n },\r\n computed: {\r\n editMode() {\r\n return !!this.resourceId\r\n },\r\n resourceId() {\r\n return this.$route.params[this.idField]\r\n },\r\n },\r\n created() {\r\n this.backupForm()\r\n },\r\n methods: {\r\n getResourceId(key = 'id') {\r\n return this.$route.params[key]\r\n },\r\n /**\r\n * 备份表单原始数据,路由切换时,用来重置表单\r\n */\r\n backupForm() {\r\n this.formBak = JSON.parse(JSON.stringify(this.$data[this.formField]))\r\n },\r\n /**\r\n * 填充表单数据\r\n *\r\n * @param data\r\n */\r\n fillForm(data) {\r\n this.$data[this.formField] = assignExists(this.$data[this.formField], data)\r\n },\r\n },\r\n}\r\n"],"sourceRoot":""}
|