1 |
- {"version":3,"sources":["webpack:///./src/api/approveinfo.js","webpack:///./src/views/applyfor/approval-form.vue?9dcf","webpack:///src/views/applyfor/approval-form.vue","webpack:///./src/views/applyfor/approval-form.vue?ae3e","webpack:///./src/views/applyfor/approval-form.vue","webpack:///./src/views/applyfor/components/CSelectImitate.vue?c9f7","webpack:///src/views/applyfor/components/CSelectImitate.vue","webpack:///./src/views/applyfor/components/CSelectImitate.vue?d661","webpack:///./src/views/applyfor/components/CSelectImitate.vue","webpack:///./src/views/applyfor/components/CInput.vue?8188","webpack:///./src/views/applyfor/goods.vue?f5fc","webpack:///src/views/applyfor/goods.vue","webpack:///./src/views/applyfor/goods.vue?332b","webpack:///./src/views/applyfor/goods.vue","webpack:///./src/views/applyfor/goods-specifications.vue?c4ee","webpack:///src/views/applyfor/goods-specifications.vue","webpack:///./src/views/applyfor/goods-specifications.vue?d2f5","webpack:///./src/views/applyfor/goods-specifications.vue","webpack:///./src/views/applyfor/goods.vue?5748","webpack:///./src/views/applyfor/approval-form-sel.vue?4474","webpack:///./src/views/applyfor/ProductStore.vue?1e10","webpack:///./src/views/applyfor/ProductStore.vue?4677","webpack:///./src/api/goods.js","webpack:///src/views/applyfor/ProductStore.vue","webpack:///./src/views/applyfor/ProductStore.vue?646a","webpack:///./src/views/applyfor/ProductStore.vue","webpack:///./src/views/applyfor/components/CInput.vue?64f8","webpack:///src/views/applyfor/components/CInput.vue","webpack:///./src/views/applyfor/components/CInput.vue?9217","webpack:///./src/views/applyfor/components/CInput.vue","webpack:///./src/views/applyfor/components/Layout.vue?57c3","webpack:///src/views/applyfor/components/Layout.vue","webpack:///./src/views/applyfor/components/Layout.vue?2d43","webpack:///./src/views/applyfor/components/Layout.vue","webpack:///./src/views/applyfor/goods-specifications.vue?a8b1","webpack:///./src/utils/vueBus.js","webpack:///./src/views/applyfor/approval-form.vue?df45","webpack:///./src/views/applyfor/components/CSelectImitate.vue?d946","webpack:///./src/views/applyfor/components/Layout.vue?00f1","webpack:///./src/views/applyfor/approval-form-sel.vue?7baf","webpack:///src/views/applyfor/approval-form-sel.vue","webpack:///./src/views/applyfor/approval-form-sel.vue?be49","webpack:///./src/views/applyfor/approval-form-sel.vue"],"names":["postCreateInfo","data","request","method","url","getRecordList","getDetail","getInfo","putUrging","putCancel","postEvaluate","downloadPdf","render","_vm","this","_h","$createElement","_c","_self","staticClass","_e","attrs","finished","finishedText","on","onLoadData","model","value","callback","$$v","listLoading","expression","_l","item","idx","key","$event","handleCheckboxItem","class","selected","_v","_s","username","apply_date","reason","_f","apply_goods","directives","name","rawName","handleConfirmForm","staticRenderFns","computed","mapState","state","list","showEmpty","pagination","page","page_num","isSelectedAll","created","navigationSetting","__list__","methods","settingNavigationRight","show","sel","$route","query","split","THAT","params","group","result","code","map","includes","String","id","length","concat","error","console","log","handleSelectAll","row","$forceUpdate","$nextTick","arrs","filter","$toast","localStorage","setItem","SAVE_APPROVAL_NAME","JSON","stringify","$router","push","filters","filterGoods","goods","Array","isArray","good","goods_name","join","component","$attrs","title","required","$emit","placeholder","hideRemove","components","Layout","props","type","default","Boolean","flag","goods_category_text","handleClickCategory","handleClearCategory","goods_no","goods_brand","goodsStandarsTxt","handleClickStandards","handleClearStandards","handleConfirmSubmit","name_cn","CInput","CSelectImitate","goods_stock","goods_id","undefined","goods_category_first","goods_category_id","vueBus","$on","handleCategoryData","handleStandarsData","parse","edit","__id__","first","second","role","flagtxt","showPrice","Number","temporary","Date","now","$store","commit","go","beforeDestroy","$off","isApproveM4","handleRemoveAll","closeable","standar","handleClose","handleEdit","visibilityDialog","$set","handleBeforeCloseDialog","handleCancelEvent","handleConfirmEdit","templateValue","trim","handleSubmitStandars","editIdx","__init__","stocks","temp","stock","price","reverse","$dialog","confirm","message","confirmButtonColor","then","catch","splice","action","done","isRepeat","some","val","unshift","isExist","checkPrice","i","str","handleClickSearchBox","scopedSlots","_u","fn","handleLaunchSearch","proxy","searchVal","searchData","handleResetSearch","handleSelectedGoods","goods_category_first_en","goods_category_en","radioCategory","handleClickRow","idx2","handleClickSecondRow","queryed","childlist","idx3","handleConfirmCategory","style","height","popupVisibility","choosedStock","leftStockComp","label","handleClickItem","handleConfirmInput","category","productData","currentData","len","module","categoryData","__queryCategoay__","expand","toastInstance","duration","__queryStoreData__","clear","_list","isAllInput","every","choosedGoodsId","customCount","GoodsPrice","choosedGoodsS","ChoosedGoodsStock","goodsStock","temporaryData","Promise","resolve","reject","goodsApi","category_id","selId","j","__category_en__","firs","itm","keyword","search","watch","radio","inputType","maxlength","showWordLimit","readonly","disabled","_t","Vue","isEdit","goodIndex","categor","index","handleRemoveRow","getItem","goodsIndex","confirmButtonText"],"mappings":"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","file":"js/applyfor.ef98b0c1.js","sourcesContent":["/**\n * @description 审批申请Api\n */\n\nimport request from \"@/utils/request\";\n\n// 申请/重新发起申请\nexport const postCreateInfo = (data) =>\n request({\n method: \"POST\",\n url: \"approveinfo/create\",\n data,\n });\n\n// 获取申请记录\nexport const getRecordList = (data) =>\n request({\n method: \"POST\",\n url: \"approveinfo/get_list\",\n data,\n });\n\n// 获取申请详情\nexport const getDetail = (data) =>\n request({\n method: \"POST\",\n url: \"approveinfo/get_detail\",\n data,\n });\n\n// 获取申请信息 - 重新发起时使用\nexport const getInfo = (data) =>\n request({\n method: \"POST\",\n url: \"approveinfo/get_info\",\n data,\n });\n\n// 催办\nexport const putUrging = (data) =>\n request({\n method: \"POST\",\n url: \"approveinfo/urging\",\n data,\n });\n\n// 撤销\nexport const putCancel = (data) =>\n request({\n method: \"POST\",\n url: \"approveinfo/cancel\",\n data,\n });\n\n// 更新维修评价\nexport const postEvaluate = (data) =>\n request({\n method: \"POST\",\n url: \"approveinfo/comment\",\n data,\n });\n\nexport const downloadPdf = (data) =>\n request({\n method: \"POST\",\n url: \"approveinfo/download\",\n data,\n });\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"approval-container flex flex-col flex-col-jcsp\"},[_c('div',{staticClass:\"approval__header\"},[(false)?_c('van-icon',{class:[\n 'topcico',\n _vm.isSelectedAll ? 'sel' : ''\n ],attrs:{\"name\":\"circle\",\"size\":18},on:{\"click\":_vm.handleSelectAll}},[_c('span',[_vm._v(\"全选\")])]):_vm._e()],1),_c('div',{staticClass:\"approval__content\"},[_c('van-list',{attrs:{\"finished\":_vm.finished,\"finished-text\":_vm.finishedText,\"immediate-check\":false},on:{\"load\":_vm.onLoadData},model:{value:(_vm.listLoading),callback:function ($$v) {_vm.listLoading=$$v},expression:\"listLoading\"}},[_vm._l((_vm.list),function(item,idx){return [_c('div',{key:idx,staticClass:\"approval-item flex flex-row\",on:{\"click\":function($event){return _vm.handleCheckboxItem(item, idx)}}},[_c('div',{staticClass:\"checkbox\"},[_c('van-icon',{class:item.selected ? 'sel' : '',attrs:{\"name\":\"circle\",\"size\":18}})],1),_c('div',{staticClass:\"approval-item__main\"},[_c('div',{staticClass:\"approval-item__header flex flex-row flex-row-aic\"},[_c('div',{staticClass:\"hb\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"采购人\")]),_c('div',{staticClass:\"ctx\"},[_vm._v(_vm._s(_vm.username))])]),_c('div',{staticClass:\"hb\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"采购时间\")]),_c('div',{staticClass:\"ctx\"},[_vm._v(_vm._s(item.apply_date))])])]),_c('div',{staticClass:\"approval-item__mid\"},[_c('div',{staticClass:\"hb\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"采购事由\")]),_c('div',{staticClass:\"ctx\"},[_vm._v(_vm._s(item.reason))])])]),_c('div',{staticClass:\"approval-item__mid\"},[_c('div',{staticClass:\"hb\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"采购物品\")]),_c('div',{staticClass:\"ctx\"},[_vm._v(_vm._s(_vm._f(\"filterGoods\")(item.apply_goods)))])])])])])]})],2),_c('my-empty',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showEmpty),expression:\"showEmpty\"}],attrs:{\"tip\":\"暂无数据\"}})],1),_c('div',{staticClass:\"btn-container\"},[_c('div',{staticClass:\"btn-span\",on:{\"click\":_vm.handleConfirmForm}},[_vm._v(\"确定\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"approval-container flex flex-col flex-col-jcsp\">\n <div class=\"approval__header\">\n <van-icon v-if=\"false\" name=\"circle\" :class=\"[\n 'topcico',\n isSelectedAll ? 'sel' : ''\n ]\" :size=\"18\" @click=\"handleSelectAll\">\n <span>全选</span>\n </van-icon>\n </div>\n <div class=\"approval__content\">\n <van-list v-model=\"listLoading\" :finished=\"finished\" :finished-text=\"finishedText\" @load=\"onLoadData\"\n :immediate-check=\"false\">\n\n <template v-for=\"(item, idx) in list\">\n <div class=\"approval-item flex flex-row\" :key=\"idx\" @click=\"handleCheckboxItem(item, idx)\">\n <div class=\"checkbox\">\n <van-icon name=\"circle\" :class=\"item.selected ? 'sel' : ''\" :size=\"18\">\n </van-icon>\n </div>\n <div class=\"approval-item__main\">\n <div class=\"approval-item__header flex flex-row flex-row-aic\">\n <div class=\"hb\">\n <div class=\"title\">采购人</div>\n <div class=\"ctx\">{{ username }}</div>\n </div>\n <div class=\"hb\">\n <div class=\"title\">采购时间</div>\n <div class=\"ctx\">{{ item.apply_date }}</div>\n </div>\n </div>\n <div class=\"approval-item__mid\">\n <div class=\"hb\">\n <div class=\"title\">采购事由</div>\n <div class=\"ctx\">{{ item.reason }}</div>\n </div>\n </div>\n <div class=\"approval-item__mid\">\n <div class=\"hb\">\n <div class=\"title\">采购物品</div>\n <div class=\"ctx\">{{ item.apply_goods | filterGoods }}</div>\n </div>\n </div>\n\n </div>\n </div>\n </template>\n\n </van-list>\n <my-empty v-show=\"showEmpty\" tip=\"暂无数据\" />\n </div>\n <div class=\"btn-container\">\n <div class=\"btn-span\" @click=\"handleConfirmForm\">确定</div>\n </div>\n </div>\n</template>\n\n<script>\n\nimport { getRecordList } from '@/api/approveinfo'\n\nimport { SAVE_APPROVAL_NAME } from '@/utils/constant'\nimport { settingNavigationRight } from '@/utils/dingtalk'\nimport { mapState } from 'vuex'\nexport default {\n name: 'CApprovalForm',\n computed: {\n ...mapState('user', {\n username: state => state.name\n })\n },\n data: () => ({\n list: [],\n showEmpty: false,\n listLoading: false,\n finished: false,\n finishedText: '暂无更多数据了',\n pagination: {\n page: 1,\n page_num: 20\n },\n isSelectedAll: false,\n }),\n created() {\n this.navigationSetting()\n this.__list__()\n },\n methods: {\n // NOTE: 设置Right标题隐藏\n navigationSetting() {\n settingNavigationRight({\n show: false\n })\n },\n onLoadData() {\n this.__list__()\n },\n async __list__() {\n try {\n let sel = []\n\n if (this.$route.query && this.$route.query.sel) {\n sel = this.$route.query.sel.split(',')\n }\n\n const THAT = this\n\n const params = {\n ...THAT.pagination,\n group: 'form'\n }\n\n const result = await getRecordList(params)\n if (result.code === 1) {\n let list = result.data || []\n\n this.listLoading = false\n\n list = list.map(item => ({\n ...item,\n selected: sel.includes(String(item.id))\n }))\n\n if (list.length < THAT.pagination.page_num) THAT.finished = true\n\n else {\n THAT.pagination.page++\n }\n\n THAT.list = THAT.list.concat(list)\n if (THAT.finished && !THAT.list.length) {\n THAT.finishedText = ''\n THAT.showEmpty = true\n }\n }\n } catch (error) {\n console.log('%c __list__ >>>', 'background: blue; color: #fff', error);\n }\n },\n\n // Selecte All\n handleSelectAll() {\n this.isSelectedAll = !this.isSelectedAll\n this.list = this.list.map(item => ({\n ...item,\n selected: this.isSelectedAll\n }))\n },\n\n // Checkbox item\n handleCheckboxItem(item, idx) {\n // NOTE: 清空选中操作\n this.list = this.list.map(row => ({\n ...row,\n selected: false,\n }))\n\n this.$forceUpdate()\n // this.list[idx].selected = !item.selected\n this.$nextTick(() => {\n this.list[idx].selected = true\n // NOTE: 全选逻辑\n // let hasAll = this.list.every(item => (item.selected))\n // this.isSelectedAll = hasAll\n this.$forceUpdate()\n })\n },\n\n handleConfirmForm() {\n let arrs = this.list.filter(item => (item.selected))\n if (!arrs.length) return this.$toast('请选择采购单!')\n\n localStorage.setItem(SAVE_APPROVAL_NAME, JSON.stringify(arrs))\n\n this.$nextTick(() => {\n this.$router.push({\n name: 'CApprovalFormSel'\n })\n })\n\n }\n\n },\n filters: {\n filterGoods(goods) {\n if (!Array.isArray(goods)) return '/'\n if (!goods.length) return '/'\n return goods.map(good => (good.goods_name)).join('、')\n },\n }\n}\n</script>\n\n<style lang=\"less\" scoped>\n.approval {\n &-container {\n padding-top: 10px;\n height: 100vh;\n box-sizing: border-box;\n }\n\n &__header {\n background-color: #fff;\n font-size: 16px;\n padding: 14px 12px;\n border-bottom: 1px solid rgba(151, 151, 151, 0.3);\n\n span {\n margin-left: 10px;\n }\n }\n\n &__content {\n height: 0;\n flex: 1;\n background-color: #fff;\n overflow: auto;\n }\n}\n\n.approval-item {\n padding: 0 0 10px 10px;\n\n &:first-child {\n .approval-item__main {\n border-top: none;\n }\n }\n\n .checkbox {\n width: 60px;\n text-align: center;\n }\n\n &__main {\n width: 0;\n flex: 1;\n padding-top: 15px;\n border-top: 1px solid rgba(151, 151, 151, 0.3);\n\n .hb {\n font-size: 0;\n\n .title {\n font-size: 12px;\n font-weight: 400;\n color: #727273;\n line-height: 18px;\n }\n\n .ctx {\n font-size: 16px;\n font-weight: 400;\n color: #191A1E;\n line-height: 24px;\n }\n }\n }\n\n &__header {\n justify-content: space-between;\n padding-right: 20px;\n padding-bottom: 15px;\n }\n\n &__mid {\n padding-right: 20px;\n padding-bottom: 15px;\n }\n}\n\n// circle box\n.van-icon.van-icon-circle {\n position: relative;\n z-index: 1;\n color: rgba(200, 200, 201, 1);\n\n &.sel {\n color: rgba(50, 144, 196, 1);\n\n &::after {\n position: absolute;\n left: 50%;\n top: 52%;\n content: \"\";\n width: 11px;\n height: 11px;\n transform: translate(-50%, -50%);\n background-color: rgba(50, 144, 196, 1);\n border-radius: 10px;\n }\n }\n\n &.topcico {\n &::after {\n left: 14%;\n }\n }\n}\n</style>","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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./approval-form.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./approval-form.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./approval-form.vue?vue&type=template&id=358617b7&scoped=true\"\nimport script from \"./approval-form.vue?vue&type=script&lang=js\"\nexport * from \"./approval-form.vue?vue&type=script&lang=js\"\nimport style0 from \"./approval-form.vue?vue&type=style&index=0&id=358617b7&prod&lang=less&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 \"358617b7\",\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('layout',{attrs:{\"title\":_vm.$attrs.title,\"required\":_vm.$attrs.required}},[_c('div',{staticClass:\"custom-select-container flex flex-row flex-row-aic\"},[_c('div',{staticClass:\"left\",on:{\"click\":function($event){return _vm.$emit('click')}}},[(_vm.value)?_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.value))]):_c('div',{staticClass:\"default\"},[_vm._v(_vm._s(_vm.placeholder))])]),(_vm.hideRemove ? false : true)?_c('div',{staticClass:\"right\"},[(_vm.value)?_c('van-icon',{attrs:{\"size\":20,\"color\":\"#A2A3A4\",\"name\":\"clear\"},on:{\"click\":function($event){return _vm.$emit('clear')}}}):_vm._e(),_c('van-icon',{attrs:{\"color\":\"#A2A3A4\",\"size\":20,\"name\":\"arrow\"},on:{\"click\":function($event){return _vm.$emit('click')}}})],1):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <layout :title=\"$attrs.title\" :required=\"$attrs.required\">\n <div class=\"custom-select-container flex flex-row flex-row-aic\">\n <div class=\"left\" @click=\"$emit('click')\">\n <div v-if=\"value\" class=\"value\">{{ value }}</div>\n <div v-else class=\"default\">{{ placeholder }}</div>\n </div>\n <div class=\"right\" v-if=\"hideRemove ? false : true\">\n <van-icon v-if=\"value\" :size=\"20\" color=\"#A2A3A4\" name=\"clear\" @click=\"$emit('clear')\" />\n <van-icon color=\"#A2A3A4\" :size=\"20\" name=\"arrow\" @click=\"$emit('click')\" />\n </div>\n </div>\n </layout>\n</template>\n\n<script>\n/**\n * @description 当前组件只为展示UI和数据。\n */\nimport Layout from './Layout.vue';\nexport default {\n name: 'CSelectImitate',\n\n components: {\n Layout\n },\n\n props: {\n value: {\n type: String,\n default: ''\n },\n placeholder: {\n type: String,\n default: '请选择'\n },\n hideRemove: {\n type: Boolean,\n default: false\n }\n }\n}\n</script>\n\n<style lang=\"less\" scoped>\n.custom-select {\n &-container {\n justify-content: space-between;\n\n .left {\n flex: 1;\n\n .value {\n font-size: 14px;\n font-weight: 400;\n color: #1A1A1F;\n line-height: 20px;\n }\n\n .default {\n font-size: 14px;\n font-weight: 400;\n color: #727273;\n line-height: 20px;\n }\n }\n\n .right {\n .van-icon {\n margin-left: 2px;\n }\n }\n }\n}\n</style>","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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CSelectImitate.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CSelectImitate.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CSelectImitate.vue?vue&type=template&id=779f15c0&scoped=true\"\nimport script from \"./CSelectImitate.vue?vue&type=script&lang=js\"\nexport * from \"./CSelectImitate.vue?vue&type=script&lang=js\"\nimport style0 from \"./CSelectImitate.vue?vue&type=style&index=0&id=779f15c0&prod&lang=less&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 \"779f15c0\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CInput.vue?vue&type=style&index=0&id=63f8111c&prod&lang=less&scoped=true\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"goods-container flex flex-col\"},[_c('div',{staticClass:\"goods__main\"},[(_vm.flag === '1')?_c('c-select-imitate',{attrs:{\"title\":\"商品分类\",\"value\":_vm.goods_category_text},on:{\"click\":_vm.handleClickCategory,\"clear\":_vm.handleClearCategory}}):_vm._e(),_c('c-input',{attrs:{\"title\":\"商品编号\",\"disabled\":_vm.flag == 3},model:{value:(_vm.goods_no),callback:function ($$v) {_vm.goods_no=$$v},expression:\"goods_no\"}}),_c('c-input',{attrs:{\"title\":\"商品名称\",\"disabled\":_vm.flag == 3},model:{value:(_vm.goods_name),callback:function ($$v) {_vm.goods_name=$$v},expression:\"goods_name\"}}),_c('c-input',{attrs:{\"title\":\"商品品牌\",\"disabled\":_vm.flag == 3},model:{value:(_vm.goods_brand),callback:function ($$v) {_vm.goods_brand=$$v},expression:\"goods_brand\"}}),_c('c-select-imitate',{attrs:{\"title\":\"商品规格\",\"value\":_vm.goodsStandarsTxt},on:{\"click\":_vm.handleClickStandards,\"clear\":_vm.handleClearStandards}})],1),_c('div',{staticClass:\"goods__footer\"},[_c('div',{staticClass:\"btn-container\"},[_c('div',{staticClass:\"btn-span\",on:{\"click\":_vm.handleConfirmSubmit}},[_vm._v(_vm._s(_vm.flag === '3' ? '修改' : '提交'))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"goods-container flex flex-col\">\n <div class=\"goods__main\">\n <!-- NOTE: flag === 3 时、商品分类不展示/无法获取中文枚举(只能通过接口来) -->\n <c-select-imitate v-if=\"flag === '1'\" title=\"商品分类\" :value=\"goods_category_text\" @click=\"handleClickCategory\"\n @clear=\"handleClearCategory\" />\n\n <c-input title=\"商品编号\" v-model=\"goods_no\" :disabled=\"flag == 3\" />\n\n <c-input title=\"商品名称\" v-model=\"goods_name\" :disabled=\"flag == 3\" />\n\n <c-input title=\"商品品牌\" v-model=\"goods_brand\" :disabled=\"flag == 3\" />\n\n <c-select-imitate title=\"商品规格\" :value=\"goodsStandarsTxt\" @click=\"handleClickStandards\"\n @clear=\"handleClearStandards\" />\n </div>\n\n <div class=\"goods__footer\">\n <div class=\"btn-container\">\n <div class=\"btn-span\" @click=\"handleConfirmSubmit\">{{ flag === '3' ? '修改' : '提交' }}</div>\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"less\" scoped>\n.goods {\n &-container {\n height: 100vh;\n justify-content: space-between;\n\n .layout-container {\n margin-top: 10px;\n }\n\n .btn-container {\n margin-top: initial;\n }\n }\n\n &__main {\n height: 0;\n flex: 1;\n }\n}\n</style>\n\n<script>\n\n/**\n * @description 添加商品/修改商品页\n * @date 2023/11/30\n * @param flag = 3 表示修改\n * @param goods_id = xxx 商品Id\n */\n\nimport vueBus from '@/utils/vueBus';\nimport CInput from './components/CInput.vue';\n// import CSelect from './components/CSelect.vue';\nimport CSelectImitate from './components/CSelectImitate.vue'\nimport { settingNavigationRight } from '@/utils/dingtalk'\n\nexport default {\n name: 'Goods',\n name_cn: '商品', // 新增或修改商品单项时存在\n components: {\n CInput,\n // CSelect,\n CSelectImitate\n },\n computed: {\n goodsStandarsTxt() {\n if (this.goods_stock.length) {\n return `共${this.goods_stock.length}个规格`\n } else {\n return ''\n }\n },\n },\n\n data: () => ({\n flag: '1', // 默认是新增:1 修改:3\n id: '', // 自定义商品的Id\n goods_id: undefined, // 商品id\n goods_category_first: '',\n goods_category_id: '',\n goods_category_text: '',\n goods_no: '',\n goods_name: '',\n goods_brand: '',\n goods_stock: [], // object[]\n row: null\n }),\n\n created() {\n this.navigationSetting()\n vueBus.$on('listenCategoryEvent', this.handleCategoryData)\n vueBus.$on('listenStrandarsEvent', this.handleStandarsData)\n const { flag } = this.$route.query\n if (flag === '3') { // update state\n const row = JSON.parse(this.$route.query.edit)\n if (row) {\n this.row = row\n console.log('%c update row??? >>>', 'background: blue; color: #fff', row);\n this.flag = flag\n this.goods_id = row.goods_id || undefined\n this.goods_category_first = row.goods_category_first || ''\n this.goods_category_id = row.goods_category_id || ''\n this.goods_no = row.goods_no || ''\n this.goods_name = row.goods_name || ''\n this.goods_brand = row.goods_brand || ''\n this.goods_stock = row.goods_stock || []\n if (row.__id__) this.id = row.__id__ // 自定义添加商品才有\n }\n }\n\n },\n methods: {\n // NOTE: 设置Right标题隐藏\n navigationSetting() {\n settingNavigationRight({\n show: false\n })\n },\n handleClickCategory() {\n this.$router.push({\n name: 'ProductStore',\n query: {\n type: '2'\n }\n })\n },\n handleClearCategory() {\n this.goods_category_first = ''\n this.goods_category_id = ''\n this.goods_category_text = ''\n },\n // NOTE: 处理商品分类数据\n handleCategoryData(data) {\n const { first, second } = data\n\n this.goods_category_text = `${first.name}/${second.name}`\n this.goods_category_first = first.id\n this.goods_category_id = second.id\n },\n handleClickStandards() {\n this.$router.push({\n name: 'GoodsSpeci',\n query: {\n // standars: this.standars.join(','),\n // NOTE: 只有type === 1才展示价格\n role: this.$route.query.flagtxt,\n type: this.$route.query.type,\n showPrice: Number(['1'].includes(this.$route.query.type)),\n goods_stock: JSON.stringify(this.goods_stock)\n }\n })\n },\n\n handleClearStandards() {\n this.goods_stock = []\n },\n\n // NOTE: 更新规格数据\n handleStandarsData(arrs) {\n this.goods_stock = [...arrs]\n\n if (this.row) { // 如果修改了规格;`flag` 字段变更成1; 后端重新录入规格\n this.row.flag = '1'\n }\n },\n\n // 确认提交\n handleConfirmSubmit() {\n const temporary = {\n flag: this.flag,\n goods_category_first: this.goods_category_first,\n goods_category_id: this.goods_category_id,\n goods_no: this.goods_no,\n goods_name: this.goods_name,\n goods_brand: this.goods_brand,\n goods_stock: this.goods_stock\n }\n\n if (this.flag === '3') { // update online goods\n if (this.row.flag) temporary.flag = this.row.flag\n\n if (this.goods_id) { // 线上商品\n temporary.goods_id = this.goods_id\n } else if (this.id) { // 新增商品-修改\n temporary['__id__'] = this.id\n }\n\n } else temporary['__id__'] = `${Date.now()}`\n\n vueBus.$emit('changeGoods', temporary)\n\n this.$nextTick(() => {\n this.$store.commit({\n type: \"app/ROUTE_REMOVE\",\n value: \"Goods\"\n })\n this.$router.go(-1)\n })\n }\n\n },\n beforeDestroy() {\n vueBus.$off('listenCategoryEvent')\n vueBus.$off('listenStrandarsEvent')\n }\n}\n</script>","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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./goods.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./goods.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./goods.vue?vue&type=template&id=77e8c340&scoped=true\"\nimport script from \"./goods.vue?vue&type=script&lang=js\"\nexport * from \"./goods.vue?vue&type=script&lang=js\"\nimport style0 from \"./goods.vue?vue&type=style&index=0&id=77e8c340&prod&lang=less&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 \"77e8c340\",\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:\"specifications-container flex flex-col\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.goods_stock.length),expression:\"goods_stock.length\"}],staticClass:\"s-header flex flex-row flex-row-aic\"},[_c('span',[_vm._v(\"商品规格\")]),(!_vm.isApproveM4)?_c('div',{staticClass:\"icons\"},[_c('van-icon',{attrs:{\"name\":\"delete-o\",\"size\":18,\"color\":\"#828181\"},on:{\"click\":_vm.handleRemoveAll}}),_c('van-icon',{attrs:{\"name\":\"setting-o\",\"size\":_vm.closeable ? 20 : 18,\"color\":_vm.closeable ? '#414141' : '#828181'},on:{\"click\":function($event){_vm.closeable = !_vm.closeable}}})],1):_vm._e()]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.goods_stock.length),expression:\"goods_stock.length\"}],staticClass:\"s-context flex flex-row\"},[_vm._l((_vm.goods_stock),function(standar,idx){return [_c('van-tag',{key:idx,attrs:{\"closeable\":_vm.closeable,\"size\":\"large\",\"type\":\"primary\"},on:{\"close\":function($event){return _vm.handleClose(standar, idx)},\"click\":function($event){return _vm.handleEdit(standar, idx)}}},[_vm._v(\" \"+_vm._s(standar.name)+\" \")])]})],2),(!_vm.isApproveM4 && _vm.goods_stock.length)?_c('div',{staticClass:\"s-btn\"},[_c('van-icon',{attrs:{\"name\":\"plus\",\"size\":14}}),_c('span',{on:{\"click\":function($event){_vm.visibilityDialog = true}}},[_vm._v(\"追加新规格\")])],1):_vm._e(),_c('div',{staticClass:\"main\"},[(_vm.goods_stock.length)?_c('div',{staticClass:\"standars-box\"},_vm._l((_vm.goods_stock),function(item,idx){return _c('div',{key:idx,staticClass:\"row\"},[_c('div',{staticClass:\"row__header flex flex-row flex-row-aic\"},[_c('span',[_vm._v(\" \"+_vm._s(item.name)+\" \")])]),_c('div',{staticClass:\"row__main\"},[(_vm.$route.query.showPrice == 1)?_c('c-input',{attrs:{\"title\":\"价格\",\"maxlength\":9,\"showWordLimit\":false,\"input-type\":\"number\"},model:{value:(item.price),callback:function ($$v) {_vm.$set(item, \"price\", $$v)},expression:\"item.price\"}}):_vm._e(),_c('c-input',{attrs:{\"title\":\"数量\",\"maxlength\":5,\"showWordLimit\":false,\"input-type\":\"digit\"},model:{value:(item.stock),callback:function ($$v) {_vm.$set(item, \"stock\", $$v)},expression:\"item.stock\"}})],1)])}),0):_c('div',{staticClass:\"addbtn\",on:{\"click\":function($event){_vm.visibilityDialog = true}}},[_c('van-icon',{attrs:{\"name\":\"plus\",\"size\":18}}),_vm._v(\" 添加规格 \")],1)]),_c('van-dialog',{attrs:{\"title\":\"添加/修改规格\",\"show-cancel-button\":\"\",\"confirm-button-color\":\"#007aff\",\"before-close\":_vm.handleBeforeCloseDialog},on:{\"cancel\":_vm.handleCancelEvent,\"confirm\":_vm.handleConfirmEdit},model:{value:(_vm.visibilityDialog),callback:function ($$v) {_vm.visibilityDialog=$$v},expression:\"visibilityDialog\"}},[_c('van-field',{attrs:{\"center\":\"\",\"input-align\":\"center\",\"placeholder\":\"蓝色,165cm\"},model:{value:(_vm.templateValue),callback:function ($$v) {_vm.templateValue=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"templateValue\"}})],1),(_vm.goods_stock.length)?_c('div',{staticClass:\"btn-container\"},[_c('div',{staticClass:\"btn-span\",on:{\"click\":_vm.handleSubmitStandars}},[_vm._v(\"提交\")])]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"specifications-container flex flex-col\">\n <div class=\"s-header flex flex-row flex-row-aic\" v-show=\"goods_stock.length\">\n <span>商品规格</span>\n <div class=\"icons\" v-if=\"!isApproveM4\">\n <van-icon @click=\"handleRemoveAll\" name=\"delete-o\" :size=\"18\" color=\"#828181\" />\n <van-icon @click=\"closeable = !closeable\" name=\"setting-o\" :size=\"closeable ? 20 : 18\"\n :color=\"closeable ? '#414141' : '#828181'\" />\n </div>\n </div>\n <div class=\"s-context flex flex-row\" v-show=\"goods_stock.length\">\n <template v-for=\"(standar, idx) in goods_stock\">\n <van-tag :closeable=\"closeable\" size=\"large\" type=\"primary\" @close=\"handleClose(standar, idx)\"\n @click=\"handleEdit(standar, idx)\" :key=\"idx\">\n {{ standar.name }}\n </van-tag>\n </template>\n </div>\n <div class=\"s-btn\" v-if=\"!isApproveM4 && goods_stock.length\">\n <van-icon name=\"plus\" :size=\"14\" />\n <span @click=\"visibilityDialog = true\">追加新规格</span>\n </div>\n\n <div class=\"main\">\n <!-- 内容 -->\n <div class=\"standars-box\" v-if=\"goods_stock.length\">\n <!-- NOTE: goods_stock -->\n <div class=\"row\" v-for=\"(item, idx) in goods_stock\" :key=\"idx\">\n <div class=\"row__header flex flex-row flex-row-aic\">\n <span>\n {{ item.name }}\n </span>\n <!-- <van-icon v-show=\"closeable\" @click=\"handleClose(item, idx)\" name=\"delete-o\" :size=\"18\" color=\"#b8b8b8\" /> -->\n </div>\n <div class=\"row__main\">\n <!-- NOTE: 价格展示只在 申购出入库 才有 -->\n <c-input v-if=\"$route.query.showPrice == 1\" title=\"价格\" :maxlength=\"9\" :showWordLimit=\"false\"\n input-type=\"number\" v-model=\"item.price\" />\n <c-input title=\"数量\" :maxlength=\"5\" :showWordLimit=\"false\" input-type=\"digit\" v-model=\"item.stock\" />\n </div>\n </div>\n </div>\n\n <!-- 规格示例 -->\n <div class=\"addbtn\" v-else @click=\"visibilityDialog = true\">\n <van-icon name=\"plus\" :size=\"18\" />\n 添加规格\n </div>\n </div>\n\n <van-dialog v-model=\"visibilityDialog\" title=\"添加/修改规格\" show-cancel-button confirm-button-color=\"#007aff\"\n @cancel=\"handleCancelEvent\" @confirm=\"handleConfirmEdit\" :before-close=\"handleBeforeCloseDialog\">\n <van-field v-model.trim=\"templateValue\" center input-align=\"center\" placeholder=\"蓝色,165cm\" />\n </van-dialog>\n\n <!-- btn -->\n <div class=\"btn-container\" v-if=\"goods_stock.length\">\n <div class=\"btn-span\" @click=\"handleSubmitStandars\">提交</div>\n </div>\n </div>\n</template>\n<script>\nimport CInput from './components/CInput.vue'\nimport vueBus from '@/utils/vueBus'\n\n/**\n * @description 商品规格页面\n */\nexport default {\n name: 'GoodsSpeci',\n components: {\n CInput\n },\n computed: {\n // NOTE: (审批人 & 领用模块)判断当前用户是否能修改规格(新增、修改)\n isApproveM4() {\n const { role, type } = this.$route.query\n if (type == 4 && role === 'approve') return true\n return false\n },\n },\n data: () => ({\n templateValue: '',\n visibilityDialog: false,\n closeable: false,\n editIdx: -1,\n goods_stock: [], // {name, price, stock}\n }),\n created() {\n // NOTE: 携带规格更新\n this.__init__()\n },\n methods: {\n __init__() {\n // NOTE: 携带规格更新\n const { goods_stock } = this.$route.query\n const stocks = goods_stock ? JSON.parse(goods_stock) : []\n\n if (stocks.length) {\n this.goods_stock = [...stocks].map(item => {\n let temp = {\n ...item,\n stock: `${item.stock}`\n }\n\n // 数量\n if (item.stock) temp.stock = `${item.stock}`\n\n // 价格\n if (item.price) temp.price = `${item.price}`\n\n return temp\n }).reverse()\n }\n },\n\n // Remove all standars\n handleRemoveAll() {\n this.$dialog.confirm({\n message: '是否删除全部规格',\n confirmButtonColor: '#007aff',\n }).then(() => {\n this.goods_stock = []\n }).catch(() => { })\n },\n\n // Close signal\n handleClose(standar, idx) {\n this.$dialog.confirm({\n message: `是否删除规格 ${standar.name}`,\n confirmButtonColor: '#007aff',\n }).then(() => {\n this.goods_stock.splice(idx, 1)\n }).catch(() => { })\n },\n\n // Edit signal\n handleEdit(standar, idx) {\n if (standar.id) delete standar.id\n\n this.templateValue = standar.name\n this.visibilityDialog = true\n this.editIdx = idx\n },\n\n // Close dialog on before-close\n handleBeforeCloseDialog(action, done) {\n if (action === 'confirm' && !this.templateValue) return done(false)\n const isRepeat = this.goods_stock.some(stock => stock.name === this.templateValue)\n if (isRepeat) return done(false)\n return done()\n },\n\n handleCancelEvent() {\n this.visibilityDialog = false\n this.templateValue = ''\n this.editIdx = -1\n },\n // Confirm edit\n handleConfirmEdit() {\n const val = this.templateValue\n if (!val) return this.$toast('规格名称为空')\n const isRepeat = this.goods_stock.some(stock => stock.name === val)\n if (isRepeat) return this.$toast('规格名称重复!')\n\n if (this.editIdx >= 0) {\n this.goods_stock.splice(this.editIdx, 1, {\n ...this.goods_stock[this.editIdx],\n name: val\n })\n } else {\n this.goods_stock.unshift({\n name: val,\n price: '',\n stock: '',\n })\n }\n this.$nextTick(() => {\n this.visibilityDialog = false\n this.templateValue = ''\n this.editIdx = -1\n })\n },\n\n // submit data\n handleSubmitStandars() {\n const arrs = this.goods_stock\n let isExist = false\n const checkPrice = Boolean(this.$route.query.showPrice)\n // NOTE: 判断内容是否存在\n for (let i = 0; i < arrs.length; i++) {\n const { price, stock, name } = arrs[i];\n if (!stock || (checkPrice && !price)) {\n isExist = true\n let str = !stock ? '数量' : ''\n // 根据是否检查价格判断\n if (checkPrice) str = !price ? '价格' : ''\n this.$toast(`规则${name}的${str}为空,请填写`)\n break\n }\n }\n\n if (isExist) return\n\n vueBus.$emit('listenStrandarsEvent', [...arrs].reverse())\n\n this.$nextTick(() => {\n this.$router.go(-1)\n })\n }\n }\n}\n</script>\n\n<style lang=\"less\" scoped>\n.specifications-container {\n height: 100vh;\n justify-content: space-between;\n\n .s-header {\n justify-content: space-between;\n background-color: #fff;\n font-size: 18px;\n padding: 10px;\n border-bottom: 1px solid #eee;\n\n .icons {\n letter-spacing: 8px;\n }\n }\n\n .s-btn {\n padding: 12px 0;\n text-align: center;\n font-size: 14px;\n color: #3290C4;\n }\n\n .s-context {\n flex-wrap: wrap;\n gap: 12px;\n padding: 18px 10px;\n background-color: #fff;\n }\n\n .main {\n height: 0;\n flex: 1;\n overflow: auto;\n\n .addbtn {\n width: 195px;\n height: 42px;\n line-height: 42px;\n text-align: center;\n background: #FFFFFF;\n border-radius: 21px;\n border: 1px solid #3290C4;\n font-size: 16px;\n font-weight: 500;\n color: #3290C4;\n margin: 80px auto;\n }\n\n .row {\n &__header {\n justify-content: space-between;\n padding: 0 10px;\n font-size: 14px;\n font-family: PingFangSC, PingFang SC;\n font-weight: 400;\n color: #727273;\n line-height: 32px;\n }\n\n &__main {\n .layout-container {\n border-bottom: 1px solid #eee;\n\n &:last-child {\n border-bottom: initial;\n }\n }\n }\n }\n }\n}\n</style>","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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./goods-specifications.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./goods-specifications.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./goods-specifications.vue?vue&type=template&id=62202a9b&scoped=true\"\nimport script from \"./goods-specifications.vue?vue&type=script&lang=js\"\nexport * from \"./goods-specifications.vue?vue&type=script&lang=js\"\nimport style0 from \"./goods-specifications.vue?vue&type=style&index=0&id=62202a9b&prod&lang=less&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 \"62202a9b\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./goods.vue?vue&type=style&index=0&id=77e8c340&prod&lang=less&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./approval-form-sel.vue?vue&type=style&index=0&id=fc0477a8&prod&lang=less&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductStore.vue?vue&type=style&index=0&id=cf21eeae&prod&lang=less&scoped=true\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"product-store-container flex flex-col\"},[_c('div',{staticClass:\"product-store__header\"},[(_vm.type === '1')?_c('div',{staticClass:\"search-box\"},[_c('van-field',{attrs:{\"center\":\"\",\"placeholder\":\"搜索\",\"left-icon\":\"search\"},on:{\"click\":_vm.handleClickSearchBox},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('van-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":_vm.handleLaunchSearch}},[_vm._v(\"搜索\")])]},proxy:true}],null,false,1321573992),model:{value:(_vm.searchVal),callback:function ($$v) {_vm.searchVal=$$v},expression:\"searchVal\"}})],1):_vm._e(),_c('div',{staticClass:\"sub-title flex flex-row flex-row-aic flex-row-jcsp\"},[(_vm.type === '2')?_c('span',[_vm._v(\"请选择商品分类\")]):_c('span',[_vm._v(\"商品库\")]),_c('van-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.searchData.length),expression:\"searchData.length\"}],attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":_vm.handleResetSearch}},[_vm._v(\"重置搜索\")])],1)]),(_vm.searchData.length)?_c('div',{staticClass:\"product-store__main\"},_vm._l((_vm.searchData),function(good,idx){return _c('div',{key:idx,staticClass:\"search-row\",on:{\"click\":function($event){return _vm.handleSelectedGoods(good)}}},[_c('div',{staticClass:\"search-row__category\"},[_vm._v(\" \"+_vm._s(good.goods_category_first_en)+\"/\"+_vm._s(good.goods_category_en)+\" \")]),_c('div',{staticClass:\"search-row__title ellipsis\"},[_vm._v(_vm._s(good.goods_name))])])}),0):_c('div',{staticClass:\"product-store__main\"},[_c('van-radio-group',{model:{value:(_vm.radioCategory),callback:function ($$v) {_vm.radioCategory=$$v},expression:\"radioCategory\"}},_vm._l((_vm.categoryData),function(item,idx){return _c('div',{key:idx,staticClass:\"row\"},[_c('div',{staticClass:\"row__header row__header--b-line flex flex-row flex-row-aic\"},[_c('div',{staticClass:\"row__header__content\"},[_vm._v(\" \"+_vm._s(item.name)+\" \")]),_c('div',{staticClass:\"row__header__more flex flex-row flex-row-aic\",on:{\"click\":function($event){return _vm.handleClickRow(item, idx)}}},[_c('van-icon',{attrs:{\"name\":\"cluster-o\",\"size\":26,\"color\":\"#3290C4\"}}),_c('span',{staticClass:\"txt\"},[_vm._v(\"下级\")])],1)]),(item.expand)?_c('div',{staticClass:\"row__main\"},_vm._l((item.childlist),function(second,idx2){return _c('div',{key:idx2,staticClass:\"row__second\"},[_c('div',{staticClass:\"row__second__header row__second__header--b-line flex flex-row flex-row-aic\",on:{\"click\":function($event){_vm.type === '1' ? _vm.handleClickSecondRow(second, idx2) : null}}},[(_vm.type === '2')?_c('div',{staticClass:\"radio-box\"},[_c('van-radio',{attrs:{\"name\":second.id}},[_vm._v(_vm._s(second.name))])],1):_c('div',{staticClass:\"row__second__header__content\"},[_vm._v(\" \"+_vm._s(second.name)+\" \")]),(_vm.type === '1')?_c('div',{staticClass:\"row__second__header__more\"},[(second.expand)?_c('van-icon',{attrs:{\"name\":\"arrow-up\",\"size\":24,\"color\":\"rgba(162, 163, 164, 1)\"}}):_c('van-icon',{attrs:{\"name\":\"arrow-down\",\"size\":24,\"color\":\"rgba(162, 163, 164, 1)\"}})],1):_vm._e()]),(second.expand)?[(second.queryed && !second.childlist.length)?_c('div',{staticClass:\"row__second__main\"},[_c('div',{staticClass:\"row__third-item flex flex-row flex-row-aic\"},[_c('span',{attrs:{\"id\":\"c1\"}},[_vm._v(\"当前分类下暂无商品\")])])]):_c('div',{staticClass:\"row__second__main\"},_vm._l((second.childlist),function(good,idx3){return _c('div',{key:idx3,staticClass:\"row__third-item flex flex-row flex-row-aic\",on:{\"click\":function($event){return _vm.handleSelectedGoods(good, idx3)}}},[_c('span',{attrs:{\"id\":\"c1\"}},[_vm._v(_vm._s(good.goods_name))])])}),0)]:_vm._e()],2)}),0):_vm._e()])}),0)],1),(_vm.type === '2')?_c('div',{staticClass:\"btn-container\"},[_c('div',{staticClass:\"btn-span\",on:{\"click\":_vm.handleConfirmCategory}},[_vm._v(\"确定\")])]):_vm._e(),_c('van-popup',{staticClass:\"popup flex flex-col\",style:({ height: '60%' }),attrs:{\"position\":\"bottom\",\"closeable\":\"\",\"close-icon-position\":\"top-right\"},model:{value:(_vm.popupVisibility),callback:function ($$v) {_vm.popupVisibility=$$v},expression:\"popupVisibility\"}},[_c('div',{staticClass:\"popup__header\"},[(_vm.choosedStock)?_c('span',{staticClass:\"product__title\"},[_vm._v(_vm._s(_vm.choosedStock.goods_name))]):_vm._e(),_c('span',{staticClass:\"product__inventory\"},[_vm._v(_vm._s(_vm.leftStockComp))])]),_c('div',{staticClass:\"popup__main\"},[_vm._l((_vm.productData),function(item,idx){return [(item.type === 'total')?[_c('c-input',{key:idx,attrs:{\"title\":item.label,\"placeholder\":(\"请输入\" + (item.label)),\"maxlength\":5,\"showWordLimit\":false,\"input-type\":\"digit\"},model:{value:(item.val),callback:function ($$v) {_vm.$set(item, \"val\", $$v)},expression:\"item.val\"}})]:(item.type === 'price')?[_c('c-input',{key:idx,attrs:{\"title\":item.label,\"placeholder\":(\"请输入\" + (item.label)),\"maxlength\":5,\"showWordLimit\":false,\"input-type\":\"number\"},model:{value:(item.val),callback:function ($$v) {_vm.$set(item, \"val\", $$v)},expression:\"item.val\"}})]:[_c('div',{key:idx,staticClass:\"product__row\"},[_c('div',{staticClass:\"product__row__header\"},[_vm._v(\" \"+_vm._s(item.label)+\" \")]),_c('div',{staticClass:\"product__row__main\"},_vm._l((item.list),function(type,idx){return _c('span',{key:idx,class:{ 'selected': item.val == type.id },attrs:{\"data-id\":type.id},on:{\"click\":function($event){return _vm.handleClickItem(item, type)}}},[_vm._v(_vm._s(type.name))])}),0)])]]})],2),_c('div',{staticClass:\"popup__footer\"},[_c('div',{staticClass:\"btn-container\"},[_c('div',{staticClass:\"btn-span\",on:{\"click\":_vm.handleConfirmInput}},[_vm._v(\"确认\")])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @description 商品类接口\n */\nimport request from '@/utils/request'\n\n// 获取商品列表\n// data = { category_id: '' }\nexport const list = data => (request({\n method: \"POST\",\n url: \"goods/get_list\",\n data\n}))\n\n// 获取商品分类\nexport const category = () => (request({\n method: \"POST\",\n url: \"goodscategory/get_list\"\n}))","<template>\n <div class=\"product-store-container flex flex-col\">\n <div class=\"product-store__header\">\n <div class=\"search-box\" v-if=\"type === '1'\">\n <van-field v-model=\"searchVal\" center placeholder=\"搜索\" left-icon=\"search\" @click=\"handleClickSearchBox\">\n <template #button>\n <van-button size=\"small\" @click=\"handleLaunchSearch\" type=\"primary\">搜索</van-button>\n </template>\n </van-field>\n </div>\n <div class=\"sub-title flex flex-row flex-row-aic flex-row-jcsp\">\n <span v-if=\"type === '2'\">请选择商品分类</span>\n <span v-else>商品库</span>\n <van-button v-show=\"searchData.length\" size=\"small\" @click=\"handleResetSearch\" type=\"primary\">重置搜索</van-button>\n </div>\n </div>\n\n <!-- 展示内容 -->\n <div class=\"product-store__main\" v-if=\"searchData.length\">\n <div class=\"search-row\" v-for=\"(good, idx) in searchData\" :key=\"idx\" @click=\"handleSelectedGoods(good)\">\n <div class=\"search-row__category\">\n {{ good.goods_category_first_en }}/{{ good.goods_category_en }}\n </div>\n <div class=\"search-row__title ellipsis\">{{ good.goods_name }}</div>\n </div>\n </div>\n\n <!-- 分类内容 -->\n <div class=\"product-store__main\" v-else>\n <van-radio-group v-model=\"radioCategory\">\n <div class=\"row\" v-for=\"(item, idx) in categoryData\" :key=\"idx\">\n <div class=\"row__header row__header--b-line flex flex-row flex-row-aic\">\n <div class=\"row__header__content\">\n {{ item.name }}\n </div>\n <div class=\"row__header__more flex flex-row flex-row-aic\" @click=\"handleClickRow(item, idx)\">\n <van-icon name=\"cluster-o\" :size=\"26\" color=\"#3290C4\" />\n <span class=\"txt\">下级</span>\n </div>\n </div>\n <div class=\"row__main\" v-if=\"item.expand\">\n <div class=\"row__second\" v-for=\"(second, idx2) in item.childlist\" :key=\"idx2\">\n <div class=\"row__second__header row__second__header--b-line flex flex-row flex-row-aic\"\n @click=\"type === '1' ? handleClickSecondRow(second, idx2) : null\">\n <!-- NOTE: Radio. 单选组件 -->\n <div class=\"radio-box\" v-if=\"type === '2'\">\n <van-radio :name=\"second.id\">{{ second.name }}</van-radio>\n </div>\n <div v-else class=\"row__second__header__content\">\n {{ second.name }}\n </div>\n\n <!-- NOTE: 只存在于选择商品 -->\n <div class=\"row__second__header__more\" v-if=\"type === '1'\">\n <van-icon v-if=\"second.expand\" name=\"arrow-up\" :size=\"24\" color=\"rgba(162, 163, 164, 1)\" />\n <van-icon v-else name=\"arrow-down\" :size=\"24\" color=\"rgba(162, 163, 164, 1)\" />\n </div>\n </div>\n <template v-if=\"second.expand\">\n <div class=\"row__second__main\" v-if=\"second.queryed && !second.childlist.length\">\n <div class=\"row__third-item flex flex-row flex-row-aic\">\n <span id=\"c1\">当前分类下暂无商品</span>\n </div>\n </div>\n <div class=\"row__second__main\" v-else>\n <div class=\"row__third-item flex flex-row flex-row-aic\" v-for=\"(good, idx3) in second.childlist\"\n :key=\"idx3\" @click=\"handleSelectedGoods(good, idx3)\">\n <span id=\"c1\">{{ good.goods_name }}</span>\n </div>\n </div>\n </template>\n\n </div>\n </div>\n </div>\n </van-radio-group>\n </div>\n\n <!-- 提交 -->\n <div class=\"btn-container\" v-if=\"type === '2'\">\n <div class=\"btn-span\" @click=\"handleConfirmCategory\">确定</div>\n </div>\n\n <!-- Popup Wrapper -->\n <van-popup class=\"popup flex flex-col\" v-model=\"popupVisibility\" position=\"bottom\" :style=\"{ height: '60%' }\"\n closeable close-icon-position=\"top-right\">\n <div class=\"popup__header\">\n <span class=\"product__title\" v-if=\"choosedStock\">{{ choosedStock.goods_name }}</span>\n\n <span class=\"product__inventory\">{{ leftStockComp }}</span>\n </div>\n <div class=\"popup__main\">\n <template v-for=\"(item, idx) in productData\">\n <template v-if=\"item.type === 'total'\">\n <c-input :title=\"item.label\" :placeholder=\"`请输入${item.label}`\" :maxlength=\"5\" :showWordLimit=\"false\"\n input-type=\"digit\" v-model=\"item.val\" :key=\"idx\" />\n </template>\n <template v-else-if=\"item.type === 'price'\">\n <c-input :title=\"item.label\" :placeholder=\"`请输入${item.label}`\" :maxlength=\"5\" :showWordLimit=\"false\"\n input-type=\"number\" v-model=\"item.val\" :key=\"idx\" />\n </template>\n <template v-else>\n <div :key=\"idx\" class=\"product__row\">\n <div class=\"product__row__header\">\n {{ item.label }}\n </div>\n <div class=\"product__row__main\">\n <span v-for=\"(type, idx) in item.list\" :key=\"idx\" :data-id=\"type.id\"\n :class=\"{ 'selected': item.val == type.id }\" @click=\"handleClickItem(item, type)\">{{ type.name }}</span>\n </div>\n </div>\n </template>\n </template>\n </div>\n <div class=\"popup__footer\">\n <div class=\"btn-container\">\n <div class=\"btn-span\" @click=\"handleConfirmInput\">确认</div>\n </div>\n </div>\n </van-popup>\n </div>\n</template>\n\n<style lang=\"less\" scoped>\n@import url('@/styles/variables.less');\n\n.product-store {\n &-container {\n height: 100vh;\n justify-content: space-between;\n }\n\n &__header {\n padding: 10px 12px 0;\n background-color: @white;\n\n .search-box {\n .van-cell.van-field {\n background: rgba(118, 118, 128, 0.12);\n border-radius: 8px;\n }\n }\n\n .sub-title {\n font-size: @font-size-third;\n font-weight: 400;\n color: #727273;\n line-height: 18px;\n padding: 10px 0;\n }\n\n .van-button--primary {\n background-color: @main-color;\n border: 1px solid @main-color;\n }\n }\n\n &__main {\n padding: 10px 0;\n height: 0;\n flex: 1;\n\n .row {\n margin-bottom: 10px;\n background-color: @white;\n\n &__header {\n padding: 10px 12px;\n justify-content: space-between;\n\n &--b-line {\n border-bottom: 1px solid #eee;\n }\n\n &__content {\n font-size: @font-size-secondery;\n }\n\n &__more {\n font-size: 16px;\n border-left: 1px solid rgba(151, 151, 151, 0.4);\n padding: 3px 10px 3px 20px;\n\n span.txt {\n padding-left: 6px;\n color: #3290c4;\n }\n }\n }\n\n &__main {\n padding-left: 36px;\n }\n\n &__second {\n &__header {\n padding: 10px 12px;\n justify-content: space-between;\n\n &--b-line {\n border-bottom: 1px solid #eee;\n }\n\n &__content {\n font-size: @font-size-secondery;\n }\n\n &__more {}\n\n /deep/.van-radio__label {\n font-size: 14px;\n }\n\n // .van-radio__icon--checked .van-icon\n /deep/.van-radio__icon--checked .van-icon {\n background-color: @main-color;\n border-color: @main-color;\n }\n }\n\n &__main {\n padding-left: 30px;\n }\n }\n\n &__third-item {\n padding: 10px 12px;\n font-size: @font-size-third;\n border-bottom: 1px solid #eee;\n\n &:last-child {\n border-bottom-color: transparent;\n }\n\n }\n }\n\n .search-row {\n padding: 10px 10px;\n background-color: #fff;\n\n &__category {\n font-size: 12px;\n color: #8d8c8c;\n margin-bottom: 8px;\n }\n\n &__title {\n font-size: 16px;\n }\n\n }\n }\n}\n\n.popup {\n justify-content: space-between;\n padding: 8px 0 0;\n box-sizing: border-box;\n\n &__header {\n margin: 0 12px;\n padding-right: 30px;\n padding-bottom: 10px;\n padding-top: 8px;\n border-bottom: 1px solid rgba(151, 151, 151, 0.3);\n font-size: @font-size-common;\n }\n\n &__main {\n margin: 18px 0;\n height: 0;\n flex: 1;\n overflow: auto;\n\n .layout-container {\n padding-top: 12px;\n }\n }\n\n &__footer {\n position: relative;\n z-index: 9;\n border-top: 12px solid rgba(248, 248, 248, 1);\n box-shadow: 0 -2px 16px 1px rgba(0, 0, 0, 0.2);\n\n .btn-container {\n margin-top: initial;\n }\n }\n}\n\n.product {\n &__row {\n padding: 6px 12px 16px;\n\n &:nth-last-of-type(2) {\n border-bottom: 1px solid rgba(151, 151, 151, 0.3);\n }\n }\n\n &__title {\n font-size: 16px;\n font-weight: 500;\n color: #191A1E;\n }\n\n &__inventory {\n padding-left: 10px;\n font-size: 12px;\n font-weight: 400;\n color: #727273;\n vertical-align: bottom;\n }\n\n &__row {\n &__header {\n font-size: @font-size-common;\n padding: 8px 0 10px;\n color: #191A1E;\n }\n\n &__main {\n display: grid;\n grid-template-columns: repeat(2, 49%);\n column-gap: 2%;\n row-gap: 10px;\n\n span {\n display: inline-block;\n text-align: center;\n background: #EFF7FB;\n border-radius: 8px;\n font-size: @font-size-secondery;\n font-weight: 400;\n color: #727273;\n padding: 8px 0;\n transition-property: background-color, color;\n transition-duration: 0.2s;\n\n &.selected {\n background: #0a83d3;\n color: @white;\n }\n }\n }\n }\n}\n</style>\n\n<script>\n/**\n * 商品库页面\n * @description 当前页面处理为多种展示格式。 \n * - 商品单选\n * - 分类选择\n */\n\nimport vueBus from '@/utils/vueBus';\nimport CInput from './components/CInput.vue';\n\nimport * as goodsApi from '@/api/goods'\n\nimport { settingNavigationRight } from '@/utils/dingtalk'\n\nexport default {\n name: \"ProductStore\",\n components: {\n CInput\n },\n computed: {\n leftStockComp() {\n if (!this.choosedStock) return ''\n const [{ val, list }] = this.productData\n let currentData = list.filter(item => item.id === val)\n if (currentData.length) {\n let len = currentData[0].stock\n return len > 0 ? `库存剩余:${len}件` : `暂无库存`\n } else return ''\n }\n },\n data: () => ({\n type: \"1\", // 页面状态。 默认1:商品选择。 可选项2:选择分类\n module: '', // 进入module不同时有些许差别\n radioCategory: '', // 二级分类Id\n searchVal: '', // 搜索商品?\n categoryData: [], // 分类数据\n // NOTE: Popup data and context data\n popupVisibility: false,\n productData: [], // 弹出选择商品的数量等。\n choosedStock: null,\n searchData: [], // 搜索数据存储列表\n }),\n\n created() {\n this.navigationSetting()\n this.__init__()\n },\n methods: {\n // NOTE: 设置Right标题隐藏\n navigationSetting() {\n settingNavigationRight({\n show: false\n })\n },\n async __init__() {\n try {\n let query = this.$route.query\n if (query) {\n // type = 1 // 页面类型。1 => 选择商品。 2 => 选择分类\n if (query.type) this.type = query.type\n\n // 申请的`module`\n if (query.module) {\n this.module = query.module\n }\n }\n await this.__queryCategoay__() // initalization query categray\n } catch (error) {\n console.log('ProductStore __init__ error', error);\n }\n },\n\n handleClickSearchBox() { },\n\n // 点击一级\n handleClickRow(row) {\n row.expand = !row.expand\n this.$forceUpdate()\n },\n\n // 点击二级\n async handleClickSecondRow(row) {\n const toastInstance = this.$toast({\n type: 'loading',\n message: '加载数据中',\n duration: 0\n })\n try {\n if (!row.expand && !row.childlist) { // NOTE: 只有打开时&无子级别查询\n const list = await this.__queryStoreData__(row.id)\n row.childlist = [...list]\n }\n row.expand = !row.expand\n row.queryed = true\n this.$forceUpdate()\n } catch (error) {\n this.$toast(error.message)\n } finally {\n toastInstance.clear()\n }\n },\n\n // 选择类型\n handleClickItem(row, item) {\n row.val = item.id\n },\n\n // NOTE: popup confirm 确认数据正常\n handleConfirmInput() {\n try {\n let _list = this.productData\n let isAllInput = _list.every(item => item.val)\n if (!isAllInput) return this.$toast('检查填写情况')\n\n const [choosedGoodsId, customCount, GoodsPrice] = _list.map(item => item.val)\n\n // 选中的类别对象\n let choosedGoodsS = _list[0].list.filter(item => item.id === choosedGoodsId)[0]\n let ChoosedGoodsStock = 0\n if (choosedGoodsS) {\n ChoosedGoodsStock = choosedGoodsS.stock\n }\n\n // 判断输入的数量是否大于库存\n if (customCount <= 0) {\n return this.$toast('物品数量最少1件')\n }\n\n if (![1, 3].includes(Number(this.module)) && customCount > ChoosedGoodsStock) {\n return this.$toast('当前商品规格数量不足')\n }\n\n if (GoodsPrice <= 0) {\n return this.$toast('当前商品价格不对')\n }\n\n // if (this.type === '1') {}\n vueBus.$emit('updateProductList', {\n item: this.choosedStock,\n goodsStock: choosedGoodsS,\n customCount,\n GoodsPrice\n })\n this.$router.go(-1);\n } catch (error) {\n console.log(error);\n }\n },\n\n // NOTE: 选中商品进行业务\n handleSelectedGoods(item) {\n const { goods_stock } = item\n this.choosedStock = item\n let temporaryData = [\n {\n label: '规格',\n val: '',\n list: goods_stock\n },\n {\n label: '物品数量',\n type: 'total',\n val: ''\n }\n ]\n\n // 申购明细时需要物品单价\n if (['1'].includes(this.module)) {\n temporaryData.push({\n label: '物品单价',\n type: 'price',\n val: ''\n })\n }\n\n this.productData = temporaryData\n this.popupVisibility = true\n },\n\n // NOTE: 查询分类数据\n __queryCategoay__() {\n return new Promise((resolve, reject) => {\n goodsApi.category().then(result => {\n if (result.code === 1) {\n this.categoryData = result.data\n resolve()\n } else {\n reject()\n }\n }).catch(error => {\n console.log('%c error >>>', 'background: blue; color: #fff', error);\n reject()\n })\n })\n },\n\n // NOTE: 查询商品数据\n // @returns [] | throw error\n __queryStoreData__(category_id) {\n return new Promise((resolve, reject) => {\n goodsApi.list({\n category_id\n }).then(result => {\n if (result.code === 1) {\n resolve(result.data || [])\n }\n }).catch(error => {\n reject(error)\n })\n })\n },\n\n // NOTE: 确定选择的分类\n handleConfirmCategory() {\n let selId = this.radioCategory\n let arrs = this.categoryData\n for (let i = 0; i < arrs.length; i++) {\n const row = arrs[i];\n const childlist = row.childlist\n for (let j = 0; j < childlist.length; j++) {\n const item = childlist[j];\n if (selId === item.id) {\n let first = { ...row }\n delete first.childlist\n delete first.expand\n vueBus.$emit('listenCategoryEvent', {\n first,\n second: { ...item }\n })\n break\n } else continue\n }\n }\n this.$router.go(-1)\n },\n\n // NOTE: 根据id展示分类名称\n __category_en__(good) {\n const { goods_category_first, goods_category_id } = good\n const temporary = {\n goods_category_first_en: '',\n goods_category_en: ''\n }\n\n let arrs = this.categoryData\n for (let i = 0; i < arrs.length; i++) {\n const firs = arrs[i];\n if (firs.id === goods_category_first) {\n for (let j = 0; j < firs.childlist.length; j++) {\n const itm = firs.childlist[j];\n if (itm.id === goods_category_id) {\n temporary.goods_category_first_en = firs.name\n temporary.goods_category_en = itm.name\n break\n } else continue\n }\n } else continue\n }\n\n return temporary\n },\n // NOTE: Search Event\n async handleLaunchSearch() {\n let keyword = this.searchVal\n if (!keyword) return\n const toastInstance = this.$toast({\n type: 'loading',\n message: '搜索中...',\n duration: 0\n })\n try {\n const result = await goodsApi.list({\n search: keyword\n })\n if (result.code === 1) {\n if (result.data.length) {\n this.searchData = result.data.map(good => ({\n ...good,\n ...this.__category_en__(good)\n }))\n toastInstance.clear()\n } else {\n toastInstance.clear()\n this.$toast(`暂无与${keyword}相关商品`)\n }\n }\n } catch (error) {\n toastInstance.clear()\n console.log('%c handleLaunchSearchError >>>', 'background: blue; color: #fff', error);\n }\n },\n\n // Reset search\n handleResetSearch() {\n this.searchData = []\n this.searchVal = ''\n },\n },\n\n watch: {\n radio(val) {\n console.log('%c radio value watch? >>>', 'background: blue; color: #fff', val);\n\n }\n }\n\n}\n</script>","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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductStore.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductStore.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProductStore.vue?vue&type=template&id=cf21eeae&scoped=true\"\nimport script from \"./ProductStore.vue?vue&type=script&lang=js\"\nexport * from \"./ProductStore.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProductStore.vue?vue&type=style&index=0&id=cf21eeae&prod&lang=less&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 \"cf21eeae\",\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('layout',{attrs:{\"title\":_vm.$attrs.title,\"required\":_vm.$attrs.required}},[_c('div',{staticClass:\"custom-input-container flex flex-row flex-row-aic\"},[_c('van-field',{staticClass:\"input-padding\",attrs:{\"value\":_vm.value,\"type\":_vm.inputType,\"placeholder\":_vm.$attrs.placeholder || '请输入',\"clearable\":\"\",\"maxlength\":_vm.$attrs.maxlength || undefined,\"show-word-limit\":typeof _vm.$attrs.showWordLimit === 'undefined' ? true : _vm.$attrs.showWordLimit,\"rows\":\"3\",\"autosize\":\"\",\"readonly\":_vm.$attrs.readonly || false,\"disabled\":_vm.$attrs.disabled},on:{\"input\":function (value) { return _vm.$emit('input', value); },\"clear\":function () { return _vm.$emit('input', ''); }}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <layout :title=\"$attrs.title\" :required=\"$attrs.required\">\n <div class=\"custom-input-container flex flex-row flex-row-aic\">\n <van-field class=\"input-padding\" :value=\"value\" :type=\"inputType\" :placeholder=\"$attrs.placeholder || '请输入'\"\n @input=\"value => $emit('input', value)\" @clear=\"() => $emit('input', '')\" clearable\n :maxlength=\"$attrs.maxlength || undefined\"\n :show-word-limit=\"typeof $attrs.showWordLimit === 'undefined' ? true : $attrs.showWordLimit\" rows=\"3\"\n autosize :readonly=\"$attrs.readonly || false\" :disabled=\"$attrs.disabled\" />\n </div>\n </layout>\n</template>\n\n<style lang=\"less\" scoped>\n.custom-input {\n &-container {\n .input-padding {\n padding: 3px 0;\n }\n }\n}\n</style>\n\n<script>\nimport Layout from './Layout.vue';\nexport default {\n name: 'CInput',\n components: {\n Layout\n },\n props: {\n value: {\n type: String,\n default: ''\n },\n inputType: {\n type: String,\n default: 'text'\n }\n }\n}\n</script>","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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CInput.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CInput.vue?vue&type=template&id=63f8111c&scoped=true\"\nimport script from \"./CInput.vue?vue&type=script&lang=js\"\nexport * from \"./CInput.vue?vue&type=script&lang=js\"\nimport style0 from \"./CInput.vue?vue&type=style&index=0&id=63f8111c&prod&lang=less&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 \"63f8111c\",\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:\"layout-container\"},[_c('div',{staticClass:\"layout__title\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.title))]),(_vm.required)?_c('span',{staticClass:\"require\"},[_vm._v(\"*\")]):_vm._e()]),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"layout-container\">\n <div class=\"layout__title\">\n <span class=\"title\">{{ title }}</span>\n <span v-if=\"required\" class=\"require\">*</span>\n </div>\n <slot></slot>\n </div>\n</template>\n\n<style lang=\"less\" scoped>\n.layout {\n &-container {\n padding: 9px 12px;\n background: #fff;\n .title,\n .require {\n font-size: 14px;\n font-weight: 400;\n }\n .title {\n color: #191A1E;\n line-height: 20px;\n margin-bottom: 5px;\n }\n .require {\n color: #F45642;\n line-height: 20px;\n margin-left: 2px;\n }\n }\n &__title {\n font-size: 14px;\n }\n}\n</style>\n\n<script>\nexport default {\n props: {\n title: {\n type: String,\n default: '默认文案'\n },\n required: {\n type: Boolean,\n default: false\n }\n }\n}\n</script>\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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=853cdbd0&scoped=true\"\nimport script from \"./Layout.vue?vue&type=script&lang=js\"\nexport * from \"./Layout.vue?vue&type=script&lang=js\"\nimport style0 from \"./Layout.vue?vue&type=style&index=0&id=853cdbd0&prod&lang=less&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 \"853cdbd0\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./goods-specifications.vue?vue&type=style&index=0&id=62202a9b&prod&lang=less&scoped=true\"","/**\n * @description vue bus\n */\nimport Vue from 'vue'\nconst vueBus = new Vue()\nexport default vueBus","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./approval-form.vue?vue&type=style&index=0&id=358617b7&prod&lang=less&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CSelectImitate.vue?vue&type=style&index=0&id=779f15c0&prod&lang=less&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=style&index=0&id=853cdbd0&prod&lang=less&scoped=true\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"approval-container flex flex-col flex-col-jcsp\"},[_c('div',{staticClass:\"approval__header\"},[_c('div',{staticClass:\"tits flex flex-row flex-row-aic flex-row-jcsp\"},[_c('span',[_vm._v(\"入库明细\")]),_c('span',{staticClass:\"btn\",on:{\"click\":function($event){_vm.isEdit = !_vm.isEdit}}},[_vm._v(_vm._s(_vm.isEdit ? '完成' : '编辑'))])]),_c('div',{staticClass:\"line\"})]),_c('div',{staticClass:\"approval__content\"},[_vm._l((_vm.list),function(item,idx){return [_vm._l((item.apply_goods),function(goods,goodIndex){return [_vm._l((goods.goods_stock),function(categor,index){return [_c('div',{key:(idx + \"-\" + goodIndex + \"-\" + index),staticClass:\"item flex flex-col\"},[_c('div',{staticClass:\"item__header flex flex-row flex-row-aic flex-row-jcsp\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(goods.goods_name))]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isEdit),expression:\"isEdit\"}],staticClass:\"remove\"},[_c('span',{on:{\"click\":function($event){return _vm.handleRemoveRow(item, goods, categor, idx, goodIndex, index)}}},[_vm._v(\"删除\")])])]),_c('div',{staticClass:\"item__main flex flex-row flex-row-aic flex-row-jcsp\"},[_c('span',{staticClass:\"categor\"},[_vm._v(_vm._s(categor.name))]),(_vm.isEdit)?_c('van-stepper',{attrs:{\"min\":1},model:{value:(categor.stock),callback:function ($$v) {_vm.$set(categor, \"stock\", $$v)},expression:\"categor.stock\"}}):_c('div',{staticClass:\"count\"},[_vm._v(\"x \"+_vm._s(categor.stock))])],1)])]})]})]})],2),_c('div',{staticClass:\"btn-container\"},[_c('div',{staticClass:\"btn-span\",on:{\"click\":_vm.handleConfirmForm}},[_vm._v(\"确定\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"approval-container flex flex-col flex-col-jcsp\">\n <div class=\"approval__header\">\n <div class=\"tits flex flex-row flex-row-aic flex-row-jcsp\">\n <span>入库明细</span>\n <span class=\"btn\" @click=\"isEdit = !isEdit\">{{ isEdit ? '完成' : '编辑' }}</span>\n </div>\n <div class=\"line\"></div>\n </div>\n <div class=\"approval__content\">\n <template v-for=\"(item, idx) in list\">\n <template v-for=\"(goods, goodIndex) in item.apply_goods\">\n <template v-for=\"(categor, index) in goods.goods_stock\">\n <div class=\"item flex flex-col\" :key=\"`${idx}-${goodIndex}-${index}`\">\n <div class=\"item__header flex flex-row flex-row-aic flex-row-jcsp\">\n <div class=\"title\">{{ goods.goods_name }}</div>\n <!-- 删除当前分类商品 -->\n <div v-show=\"isEdit\" class=\"remove\">\n <span @click=\"handleRemoveRow(item, goods, categor, idx, goodIndex, index)\">删除</span>\n </div>\n </div>\n <div class=\"item__main flex flex-row flex-row-aic flex-row-jcsp\">\n <span class=\"categor\">{{ categor.name }}</span>\n <van-stepper v-if=\"isEdit\" v-model=\"categor.stock\" :min=\"1\" />\n <div v-else class=\"count\">x {{ categor.stock }}</div>\n </div>\n </div>\n </template>\n </template>\n </template>\n\n </div>\n <div class=\"btn-container\">\n <div class=\"btn-span\" @click=\"handleConfirmForm\">确定</div>\n </div>\n </div>\n</template>\n\n<script>\n\nimport { SAVE_APPROVAL_NAME } from '@/utils/constant'\nimport vueBus from '@/utils/vueBus';\nimport { settingNavigationRight } from '@/utils/dingtalk'\n\nexport default {\n name: 'CApprovalFormSel',\n data: () => ({\n isEdit: false, // 编辑状态\n list: [],\n showEmpty: false,\n listLoading: false,\n finished: false,\n finishedText: '暂无更多数据了',\n pagination: {\n page: 1,\n page_num: 20\n },\n isSelectedAll: false,\n }),\n created() {\n this.navigationSetting()\n this.__list__()\n },\n methods: {\n // NOTE: 设置Right标题隐藏\n navigationSetting() {\n settingNavigationRight({\n show: false\n })\n },\n __list__() {\n try {\n const arrs = localStorage.getItem(SAVE_APPROVAL_NAME)\n\n if (arrs) {\n let list = JSON.parse(arrs)\n list = list.map(item => ({\n ...item,\n apply_goods: item.apply_goods.map(stock => ({\n ...stock,\n goods_stock: JSON.parse(stock.goods_stock)\n }))\n }))\n\n this.list = list\n }\n } catch (error) {\n console.log(error);\n this.$toast('请选择采购单!')\n }\n },\n\n // 删除行数据\n handleRemoveRow(item, goods, stock, idx, goodsIndex, index) {\n this.$dialog.confirm({\n message: `是否删除商品“${goods.goods_name}-${stock.name}”`,\n confirmButtonText: '确定',\n confirmButtonColor: 'rgba(0, 122, 255, 1)',\n }).then(() => {\n goods.goods_stock.splice(index, 1)\n this.$forceUpdate()\n })\n },\n\n // 确定入库明细\n handleConfirmForm() {\n this.isEdit = false\n vueBus.$emit('listenApprovalFormList', this.list)\n this.$router.go(-2)\n }\n }\n}\n</script>\n\n<style lang=\"less\" scoped>\n.approval {\n &-container {\n // padding: 10px 10px 0;\n padding-top: 10px;\n height: 100vh;\n box-sizing: border-box;\n }\n\n &__header {\n font-size: 16px;\n padding: 14px 12px;\n background-color: #fff;\n\n .tits {\n padding-bottom: 16px;\n\n .btn {\n color: rgba(50, 144, 196, 1);\n }\n }\n\n span {\n margin-left: 10px;\n }\n\n .line {\n height: 1px;\n background-color: rgba(151, 151, 151, 0.3);\n\n }\n }\n\n &__content {\n height: 0;\n flex: 1;\n background-color: #fff;\n overflow: auto;\n\n .item {\n padding: 5px 10px;\n font-size: 14px;\n\n &:last-child {\n .item__main {\n padding-bottom: 0;\n border-bottom: initial;\n }\n }\n\n &__header {\n\n font-size: 16px;\n line-height: 38px;\n\n .remove {\n font-size: 14px;\n font-weight: 400;\n color: #F45642;\n }\n }\n\n &__main {\n padding-bottom: 12px;\n border-bottom: 1px solid rgba(151, 151, 151, 0.2);\n\n .category,\n .count {\n font-size: 16px;\n font-weight: 400;\n color: #727273;\n }\n\n .count {\n font-size: 14px;\n }\n\n /deep/.van-stepper {\n border: 1px solid rgba(151, 151, 151, 1);\n border-radius: 4px;\n\n .van-stepper__input,\n .van-stepper__minus,\n .van-stepper__plus {\n background-color: transparent !important;\n }\n\n .van-stepper__minus {\n border-right: 1px solid rgba(151, 151, 151, 1);\n }\n\n .van-stepper__plus {\n border-left: 1px solid rgba(151, 151, 151, 1);\n }\n }\n\n\n }\n }\n }\n}\n</style>","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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./approval-form-sel.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./approval-form-sel.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./approval-form-sel.vue?vue&type=template&id=fc0477a8&scoped=true\"\nimport script from \"./approval-form-sel.vue?vue&type=script&lang=js\"\nexport * from \"./approval-form-sel.vue?vue&type=script&lang=js\"\nimport style0 from \"./approval-form-sel.vue?vue&type=style&index=0&id=fc0477a8&prod&lang=less&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 \"fc0477a8\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
|