{"version":3,"sources":["webpack:///./src/webapp/product-manage/index-expansion.vue?40dc","webpack:///./src/webapp/product-manage/index.vue?298e","webpack:///./src/webapp/product-manage/index.vue?11f1","webpack:///./src/webapp/product-manage/index-add.vue?24c3","webpack:///./src/webapp/product-manage/apis.js","webpack:///src/webapp/product-manage/index-add.vue","webpack:///./src/webapp/product-manage/index-add.vue?034c","webpack:///./src/webapp/product-manage/index-add.vue","webpack:///./src/webapp/product-manage/index-expansion.vue?7d7d","webpack:///src/webapp/product-manage/index-expansion.vue","webpack:///./src/webapp/product-manage/index-expansion.vue?4b55","webpack:///./src/webapp/product-manage/index-expansion.vue","webpack:///src/webapp/product-manage/index.vue","webpack:///./src/webapp/product-manage/index.vue?8c32","webpack:///./src/webapp/product-manage/index.vue","webpack:///./src/webapp/product-manage/index-add.vue?ac42","webpack:///./src/webapp/product-manage/index-add.vue?d4f5","webpack:///./src/apis/regExp.js","webpack:///./src/apis/index.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","_b","ref","on","handlerSearch","table","$refs","search","staticRenderFns","attrs","title","onBeforeClose","handleDialogOpen","form","slot","onCancel","_v","onSubmit","userInfo","window","global","$tools","auth","getCurrentUserInfo","Server","Api","getProductVersion","params","cb","err","$http","get","path","apiMps","partnerId","then","res","error","postAddProduct","productId","post","putModifyProduct","put","getProductInfo","data","self","ShouldEdit","read","bind","props","labelWidth","rules","auto","type","required","description","max","name","price","sit_count","validator","rule","value","callback","Error","content_count","single_video_size","single_audio_size","import_content_size","clue_count","label","tag","prop","options","disabled","change","e","market","$getValue","$setValue","JSON","parse","stringify","Object","assign","card","clearValidate","hide","is_name_card","is_emp_image","is_channel_access","is_access_third","is_access_pub_third","placeholder","h","store","class","input","setFormValueField","unit","position","maxlength","isNew","rows","itemBind","is_mobile_console","computed","Number","$route","query","isadd","methods","$router","push","init","$apis","id","find","item","isedit","product_class","attr_name","String","toFixed","open","opt","addmodel","close","$validate","valid","formValue","product_type","created_id","employeeId","created_name","employeeName","$message","success","$emit","modified_id","modified_name","field","$setValueField","component","isShow","$event","valueMap","isEdit","state","expan_item","nativeOn","compositionstart","compositionend","target","replace","style","marginLeft","count","$nextTick","$open","getProduct","Apis","keyMap","key","validate","$resetFields","components","ProductAdd","ProductExpansion","tabIndex","page","total","setSize","tabs","btns","permission","click","add","expan","cols","minWidth","fuc","row","align","filterMoneyFuc","Moment","gmt_create","format","status","canModify","canAdd","mounted","size","pageIndex","pageSize","producttype","email","apiCrmOS","apiCrmUs","constructor","http","axios","allError","warning","response","headers","resData","msg","errors","map","message","join","obj","o","Array","forEach","clearAllNull","trim","regExp","stack"],"mappings":"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","file":"js/product_manage.d2f4bc54.js","sourcesContent":["export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index-expansion.vue?vue&type=style&index=0&id=184a3045&prod&lang=less\"","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-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=7362f610&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-manage\"},[_c('jw-table',_vm._b({ref:\"table\",on:{\"search\":_vm.handlerSearch}},'jw-table',_vm.table,false)),_c('product-add',{ref:\"add\",on:{\"success\":function () { _vm.$refs.table.search() }}}),_c('product-expansion',{ref:\"expan\",on:{\"success\":function () { _vm.$refs.table.search() }}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('jw-full-screen-dialog',{ref:\"addmodel\",attrs:{\"query-names\":['isadd'],\"title\":_vm.title,\"old-style\":true,\"keep-render\":false,\"before-close\":_vm.onBeforeClose},on:{\"open\":_vm.handleDialogOpen}},[_c('jw-form',_vm._b({ref:\"form\",staticClass:\"product-add max\"},'jw-form',_vm.form,false)),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":_vm.onCancel}},[_vm._v(\"取 消\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"确 定\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Api from '@/apis/index.js'\nconst userInfo = window.global.$tools.auth.getCurrentUserInfo()\nclass Server extends Api {\n  // mps 485\n  getProductVersion (params, cb, err) {\n    this.$http.get(`${Api.path.apiMps}/partner/${userInfo.partnerId}/product-attribute`, { params }).then(res => {\n      cb(res)\n    }, this.error(err))\n  }\n\n  // 482\n  postAddProduct (params, productId, cb, err) {\n    this.$http.post(`${Api.path.apiMps}/partner/${userInfo.partnerId}/product-info/${productId}/product-attribute`, params).then(res => {\n      cb(res)\n    }, this.error(err))\n  }\n\n  // 484\n  putModifyProduct (params, productId, cb, err) {\n    this.$http.put(`${Api.path.apiMps}/partner/${userInfo.partnerId}/product-attribute/${productId}`, params).then(res => {\n      cb(res)\n    }, this.error(err))\n  }\n\n  // 485\n  getProductInfo (productId, cb, err) {\n    this.$http.get(`${Api.path.apiMps}/partner/${userInfo.partnerId}/product-attribute/${productId}`).then(res => {\n      cb(res)\n    }, this.error(err))\n  }\n}\nexport default new Server()\n","<template>\n  <jw-full-screen-dialog\n    ref=\"addmodel\"\n    :query-names=\"['isadd']\"\n    :title=\"title\"\n    :old-style=\"true\"\n    :keep-render=\"false\"\n    :before-close=\"onBeforeClose\"\n    @open=\"handleDialogOpen\"\n  >\n    <jw-form ref=\"form\" class=\"product-add max\" v-bind=\"form\" />\n    <div slot=\"footer\">\n      <el-button @click=\"onCancel\">取 消</el-button>\n      <el-button type=\"primary\" @click=\"onSubmit\">确 定</el-button>\n    </div>\n  </jw-full-screen-dialog>\n</template>\n\n<script>\nimport $apis from './apis'\nexport default {\n  data () {\n    const self = this\n    return {\n      title: '添加产品',\n      ShouldEdit: false,\n      form: {\n        read: false,\n        bind: {\n          props: {\n            labelWidth: '192px',\n            rules: {\n              auto: true,\n              type: {\n                required: true,\n                type: 'number'\n              },\n              description: {\n                max: 200\n              },\n              name: {\n                required: true,\n                max: 20\n              },\n              price: {\n                required: true\n              },\n              sit_count: {\n                type: 'number',\n                validator: (rule, value, callback) => {\n                  if (!value) {\n                    callback(new Error('请填写用户数量'))\n                  } else {\n                    callback()\n                  }\n                }\n              },\n              content_count: {\n                type: 'number',\n                validator: (rule, value, cb) => {\n                  if (!value) {\n                    cb(new Error('请填写软文数量'))\n                  } else {\n                    cb()\n                  }\n                }\n              },\n              single_video_size: {\n                type: 'number',\n                validator: (rule, value, cb) => {\n                  if (!value) {\n                    cb(new Error('请填写软文单视频大小'))\n                  } else {\n                    cb()\n                  }\n                }\n              },\n              single_audio_size: {\n                type: 'number',\n                validator: (rule, value, cb) => {\n                  if (!value) {\n                    cb(new Error('请填写软文单音频大小'))\n                  } else {\n                    cb()\n                  }\n                }\n              },\n              import_content_size: {\n                type: 'number',\n                validator: (rule, value, cb) => {\n                  if (!value) {\n                    cb(new Error('请填写导入微信文章大小'))\n                  } else {\n                    cb()\n                  }\n                }\n              },\n              clue_count: {\n                type: 'number',\n                validator: (rule, value, cb) => {\n                  if (!value) {\n                    cb(new Error('请填写线索数量'))\n                  } else {\n                    cb()\n                  }\n                }\n              }\n            }\n          }\n        },\n        data: [\n          {\n            label: '基本信息',\n            tag: 'title'\n          },\n          {\n            tag: 'el-radio-group',\n            label: '产品类型',\n            prop: 'type',\n            options: [\n              {\n                value: 0,\n                label: '全员营销'\n              },\n              {\n                value: 1,\n                label: '智能名片'\n              }\n            ],\n            bind: {\n              props: {\n                disabled: false\n              },\n              on: {\n                change (e) {\n                  if (e) {\n                    self.market = self.$refs.form.$getValue()\n                    self.$refs.form.$setValue(JSON.parse(JSON.stringify(Object.assign({}, self.card, { type: e }))))\n                  } else {\n                    self.card = self.$refs.form.$getValue()\n                    self.$refs.form.$setValue(JSON.parse(JSON.stringify(Object.assign({}, self.market, { type: e }))))\n                  }\n                  self.$refs.form.$refs.form.clearValidate()\n                  self.form.hide = {\n                    content_count: !!e,\n                    single_video_size: !!e,\n                    single_audio_size: !!e,\n                    import_content_size: !!e,\n                    clue_count: !!e,\n                    is_name_card: !!e,\n                    is_emp_image: !!e,\n                    is_channel_access: !!e,\n                    is_access_third: !!e,\n                    is_access_pub_third: !!e\n                  }\n                }\n              }\n            }\n          },\n          {\n            label: '产品名称',\n            prop: 'name',\n            tag: 'el-input',\n            bind: {\n              attrs: {\n                placeholder: '请填写产品名称'\n              }\n            }\n          },\n          {\n            label: '代理价格',\n            prop: 'price',\n            render: (h, store, value) => {\n              return h('jw-number', {\n                class: 'product-add-form-price',\n                on: {\n                  input: (e) => {\n                    this.setFormValueField('price', e)\n                  }\n                },\n                props: {\n                  unit: '¥',\n                  position: 'prefix',\n                  placeholder: '0.00',\n                  maxlength: 10,\n                  max: 9999999.99,\n                  disabled: !(this.isNew || !this.isNew && this.ShouldEdit),\n                  value: value['price']\n                }})\n            }\n          },\n          {\n            tag: 'el-input',\n            label: '版本描述',\n            prop: 'description',\n            max: true,\n            bind: {\n              attrs: {\n                placeholder: '请填写版本描述',\n                rows: 4\n              },\n              props: {\n                type: 'textarea',\n                disabled: false\n              }\n            }\n          },\n          {\n            label: '容量设置',\n            tag: 'title'\n          },\n          {\n            label: '用户数量(人)',\n            prop: 'sit_count',\n            itemBind: {\n              class: {\n                'is-required': true\n              }\n            },\n            render: (h, store, value) => {\n              return <div>\n                <el-input-number placeholder='1' precision={0} disabled={!(this.isNew || !this.isNew && this.ShouldEdit)} value={value['sit_count']} on-input={e => { this.setFormValueField('sit_count', e) }} controls-position='right' min={1} max={99999999}></el-input-number>\n              </div>\n            }\n          }, {\n            label: '软文数量(篇)',\n            prop: 'content_count',\n            itemBind: {\n              class: {\n                'is-required': true\n              }\n            },\n            render: (h, store, value) => {\n              return <div>\n                <el-input-number placeholder='1' precision={0} disabled={!(this.isNew || !this.isNew && this.ShouldEdit)} value={value['content_count']} on-input={e => { this.setFormValueField('content_count', e) }} controls-position='right' min={1} max={99999999}></el-input-number>\n              </div>\n            }\n          },\n          {\n            label: '软文单视频大小(MB)',\n            prop: 'single_video_size',\n            itemBind: {\n              class: {\n                'is-required': true\n              }\n            },\n            render: (h, store, value) => {\n              return <div>\n                <el-input-number placeholder='1' precision={0} disabled={!(this.isNew || !this.isNew && this.ShouldEdit)} value={value['single_video_size']} on-input={e => { this.setFormValueField('single_video_size', e) }} controls-position='right' min={1} max={99999999}></el-input-number>\n                <span class='product-add-form-seat'></span>\n              </div>\n            }\n          },\n          {\n            label: '软文单音频大小(MB)',\n            prop: 'single_audio_size',\n            itemBind: {\n              class: {\n                'is-required': true\n              }\n            },\n            render: (h, store, value) => {\n              return <div>\n                <el-input-number placeholder='1' precision={0} disabled={!(this.isNew || !this.isNew && this.ShouldEdit)} value={value['single_audio_size']} on-input={e => { this.setFormValueField('single_audio_size', e) }} controls-position='right' min={1} max={99999999}></el-input-number>\n                <span class='product-add-form-seat'></span>\n              </div>\n            }\n          },\n          {\n            label: '导入微信文章大小(MB)',\n            prop: 'import_content_size',\n            itemBind: {\n              class: {\n                'is-required': true\n              }\n            },\n            render: (h, store, value) => {\n              return <div>\n                <el-input-number placeholder='1' precision={0} disabled={!(this.isNew || !this.isNew && this.ShouldEdit)} value={value['import_content_size']} on-input={e => { this.setFormValueField('import_content_size', e) }} controls-position='right' min={1} max={99999999}></el-input-number>\n                <span class='product-add-form-seat'></span>\n              </div>\n            }\n          },\n          {\n            label: '线索数量(条)',\n            prop: 'clue_count',\n            itemBind: {\n              class: {\n                'is-required': true\n              }\n            },\n            render: (h, store, value) => {\n              return <el-input-number placeholder='1' precision={0} disabled={!(this.isNew || !this.isNew && this.ShouldEdit)} value={value['clue_count']} on-input={e => { this.setFormValueField('clue_count', e) }} controls-position='right' min={1} max={99999999}></el-input-number>\n            }\n          },\n          {\n            label: '功能设置',\n            tag: 'title'\n          },\n          {\n            label: '移动工作台',\n            prop: 'is_mobile_console',\n            render: (h, store, value) => {\n              return <div>\n                <el-switch disabled={!(this.isNew || !this.isNew && this.ShouldEdit)} value={value['is_mobile_console']} on-input={e => { this.setFormValueField('is_mobile_console', e) } } >\n                </el-switch>\n                <span style='margin-left: 10px;'>{value['is_mobile_console'] ? '开启' : '关闭'}</span>\n              </div>\n            }\n          },\n          {\n            label: '智能名片',\n            prop: 'is_name_card',\n            render: (h, store, value) => {\n              return <div>\n                <el-switch disabled={!(this.isNew || !this.isNew && this.ShouldEdit)} value={value['is_name_card']} on-input={e => { this.setFormValueField('is_name_card', e) }}>\n                </el-switch>\n                <span style='margin-left: 10px;'>{value['is_name_card'] ? '开启' : '关闭'}</span>\n              </div>\n            }\n          },\n          {\n            label: '企业形象管理',\n            prop: 'is_emp_image',\n            render: (h, store, value) => {\n              return <div>\n                <el-switch disabled={!(this.isNew || !this.isNew && this.ShouldEdit)} value={value['is_emp_image']} on-input={e => { this.setFormValueField('is_emp_image', e) } } >\n                </el-switch>\n                <span style='margin-left: 10px;'>{value['is_emp_image'] ? '开启' : '关闭'}</span>\n              </div>\n            }\n          },\n          {\n            label: '推广渠道接入',\n            prop: 'is_channel_access',\n            render: (h, store, value) => {\n              return <div>\n                <el-switch disabled={!(this.isNew || !this.isNew && this.ShouldEdit)} value={value['is_channel_access']} on-input={e => { this.setFormValueField('is_channel_access', e) } } >\n                </el-switch>\n                <span style='margin-left: 10px;'>{value['is_channel_access'] ? '开启' : '关闭'}</span>\n              </div>\n            }\n          },\n          {\n            label: '接入第三方内容平台',\n            prop: 'is_access_third',\n            render: (h, store, value) => {\n              return <div>\n                <el-switch disabled={!(this.isNew || !this.isNew && this.ShouldEdit)} value={value['is_access_third']} on-input={e => { this.setFormValueField('is_access_third', e) }}>\n                </el-switch>\n                <span style='margin-left: 10px;'>{value['is_access_third'] ? '开启' : '关闭'}</span>\n              </div>\n            }\n          }\n          // {\n          //   label: '接入第三方发布平台',\n          //   prop: 'is_access_pub_third',\n          //   render: (h, store, value) => {\n          //     return <div>\n          //       <el-switch disabled={!this.isNew} value={value['is_access_pub_third']} on-input={e => { this.setFormValueField('is_access_pub_third', e) } } >\n          //       </el-switch>\n          //       <span style='margin-left: 10px;'>{value['is_access_pub_third'] ? '开启' : '关闭'}</span>\n          //     </div>\n          //   }\n          // }\n        ],\n        hide: {\n        },\n        value: {\n          type: 0,\n          description: '',\n          name: '',\n          price: '',\n          sit_count: 1,\n          content_count: 1,\n          single_video_size: 1,\n          single_audio_size: 1,\n          import_content_size: 1,\n          clue_count: 1,\n          is_mobile_console: true,\n          is_name_card: true,\n          is_emp_image: true,\n          is_channel_access: true,\n          is_access_third: true\n        }\n      },\n      market: {\n        type: 0,\n        description: '',\n        name: '',\n        price: '',\n        sit_count: 1,\n        content_count: 1,\n        single_video_size: 1,\n        single_audio_size: 1,\n        import_content_size: 1,\n        clue_count: 1,\n        is_mobile_console: true,\n        is_name_card: true,\n        is_emp_image: true,\n        is_channel_access: true,\n        is_access_third: true\n      },\n      card: {\n        type: 1,\n        description: '',\n        name: '',\n        price: '',\n        sit_count: 1,\n        content_count: 0,\n        single_video_size: 0,\n        single_audio_size: 0,\n        import_content_size: 0,\n        clue_count: 0,\n        is_mobile_console: true,\n        is_name_card: false,\n        is_emp_image: false,\n        is_channel_access: false,\n        is_access_third: false\n      },\n      userInfo: this.$tools.auth.getCurrentUserInfo()\n    }\n  },\n  computed: {\n    isNew () {\n      return Number(this.$route.query.isadd) === 1\n    }\n  },\n  methods: {\n    onBeforeClose () {\n      this.$router.push({\n        path: this.$route.path\n      })\n    },\n    init () {\n      $apis.getProductInfo(this.$route.query.id, ({ data }) => {\n        if (data) {\n          this.form.data.find(item => { return item.prop === 'type' }).bind.props.disabled = true\n          this.ShouldEdit = data.isedit\n          this.$refs.form.$setValue({\n            type: data.product_class,\n            name: data.attr_name,\n            price: String(data.price.toFixed(2)),\n            description: data.description,\n            sit_count: data.sit_count,\n            content_count: data.content_count,\n            single_video_size: data.single_video_size,\n            single_audio_size: data.single_audio_size,\n            import_content_size: data.import_content_size,\n            clue_count: data.clue_count,\n            is_mobile_console: data.is_mobile_console === 1,\n            is_name_card: data.is_name_card === 1,\n            is_emp_image: data.is_emp_image === 1,\n            is_channel_access: data.is_channel_access === 1,\n            is_access_third: data.is_access_third === 1,\n            is_access_pub_third: data.is_access_pub_third === 1\n          })\n          this.form.hide = {\n            content_count: !!data.product_class,\n            single_video_size: !!data.product_class,\n            single_audio_size: !!data.product_class,\n            import_content_size: !!data.product_class,\n            clue_count: !!data.product_class,\n            is_name_card: !!data.product_class,\n            is_emp_image: !!data.product_class,\n            is_channel_access: !!data.product_class,\n            is_access_third: !!data.product_class,\n            is_access_pub_third: !!data.product_class\n          }\n        }\n      })\n    },\n    handleDialogOpen ({ isadd }) {\n      this.title = ['', '添加产品', '编辑产品'][isadd]\n      this.ShouldEdit = false\n      this.form.data.find(item => { return item.prop === 'type' }).bind.props.disabled = false\n      Number(isadd === 1) && (this.form.hide = {\n        content_count: false,\n        single_video_size: false,\n        single_audio_size: false,\n        import_content_size: false,\n        clue_count: false,\n        is_name_card: false,\n        is_emp_image: false,\n        is_channel_access: false,\n        is_access_third: false,\n        is_access_pub_third: false\n      })\n      Number(isadd) === 2 && this.init()\n      Number(isadd) === 2 && (this.form.hide = {\n        content_count: true,\n        single_video_size: true,\n        single_audio_size: true,\n        import_content_size: true,\n        clue_count: true,\n        is_name_card: true,\n        is_emp_image: true,\n        is_channel_access: true,\n        is_access_third: true,\n        is_access_pub_third: true\n      })\n    },\n    open (opt) {\n      this.$refs.addmodel.open(opt)\n    },\n    onCancel () {\n      this.$refs.addmodel.close()\n    },\n    onSubmit () {\n      this.$refs.form.$validate((valid) => {\n        if (valid) {\n          const formValue = this.$refs.form.$getValue()\n          const params = {\n            product_class: formValue.type,\n            description: formValue.description,\n            name: formValue.name,\n            is_mobile_console: formValue.is_mobile_console ? 1 : 0,\n            is_name_card: formValue.is_name_card ? 1 : 0,\n            is_emp_image: formValue.is_emp_image ? 1 : 0,\n            is_channel_access: formValue.is_channel_access ? 1 : 0,\n            is_access_third: formValue.is_access_third ? 1 : 0,\n            is_access_pub_third: formValue.is_access_pub_third ? 1 : 0,\n            price: +formValue.price,\n            sit_count: formValue.sit_count,\n            content_count: formValue.content_count,\n            single_video_size: formValue.single_video_size,\n            single_audio_size: formValue.single_audio_size,\n            import_content_size: formValue.import_content_size,\n            clue_count: formValue.clue_count,\n            product_type: 0\n          }\n          if (this.isNew) {\n            params.created_id = this.userInfo.employeeId\n            params.created_name = this.userInfo.employeeName\n            $apis.postAddProduct(params, 0, res => {\n              this.$message.success('已保存')\n              this.$emit('success')\n              this.onCancel()\n            })\n          } else {\n            params.modified_id = this.userInfo.employeeId\n            params.modified_name = this.userInfo.employeeName\n            $apis.putModifyProduct(params, this.$route.query.id, res => {\n              this.$message.success('已保存')\n              this.$emit('success')\n              this.onCancel()\n            })\n          }\n        }\n      })\n    },\n    setFormValueField (field, value) {\n      if (this.$refs.form) {\n        this.$refs.form.$setValueField(field, value)\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"less\" scoped>\n  .product-add{\n    padding: 20px;\n  }\n</style>\n<style lang=\"less\">\n  .product-add {\n    .product-add-form-seat {\n      display: inline-block;\n      width: 100px;\n      text-align: center;\n    }\n    .product-add-form-checkbox-label {\n      font-size: 14px;\n    }\n    .product-add-form-price {\n      display: inline-block;\n      width: 200px;\n      .jw-number {\n        width: 200px;\n      }\n    }\n  }\n</style>\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!./index-add.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-add.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index-add.vue?vue&type=template&id=5fb71307&scoped=true\"\nimport script from \"./index-add.vue?vue&type=script&lang=js\"\nexport * from \"./index-add.vue?vue&type=script&lang=js\"\nimport style0 from \"./index-add.vue?vue&type=style&index=0&id=5fb71307&prod&lang=less&scoped=true\"\nimport style1 from \"./index-add.vue?vue&type=style&index=1&id=5fb71307&prod&lang=less\"\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  \"5fb71307\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{attrs:{\"title\":_vm.title,\"visible\":_vm.isShow,\"width\":\"640px\"},on:{\"update:visible\":function($event){_vm.isShow=$event}}},[_c('jw-form',_vm._b({ref:\"form\",staticClass:\"product-expan-form max\"},'jw-form',_vm.form,false)),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":_vm.onCancel}},[_vm._v(\"取消\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"保存\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <el-dialog\n    :title=\"title\"\n    :visible.sync=\"isShow\"\n    width=\"640px\"\n  >\n    <jw-form ref=\"form\" class=\"product-expan-form max\" v-bind=\"form\" />\n    <span slot=\"footer\" class=\"dialog-footer\">\n      <el-button @click=\"onCancel\">取消</el-button>\n      <el-button type=\"primary\" @click=\"onSubmit\">保存</el-button>\n    </span>\n  </el-dialog>\n</template>\n\n<script>\nimport Apis from './apis.js'\nexport default {\n  data () {\n    const valueMap = {\n      sit_count: '人/组',\n      content_count: '篇/组',\n      clue_count: '条/组'\n    }\n    const self = this\n    return {\n      isShow: false,\n      isEdit: false,\n      state: false,\n      id: null,\n      title: '',\n      form: {\n        bind: {\n          props: {\n            labelWidth: '110px',\n            rules: {\n              auto: true,\n              name: {\n                required: true\n              },\n              price: {\n                required: true\n              },\n              description: {\n                max: 200\n              },\n              expan_item: {\n                required: true\n              }\n            }\n          }\n        },\n        data: [\n          {\n            label: '扩容产品名称',\n            prop: 'name',\n            tag: 'el-input',\n            bind: {\n              attrs: {\n                placeholder: '请填写产品名称',\n                maxlength: 20\n              },\n              on: {\n                input (e) {\n                  self.$refs.form.$setValueField('name', e)\n                }\n              },\n              nativeOn: {\n                compositionstart (e) {\n                  self.state = true\n                },\n                compositionend (e) {\n                  self.state = false\n                  if (!self.state) {\n                    e.target.value = e.target.value.replace(/\\s+/gm, '')\n                    self.$refs.form.$setValueField('name', e.target.value)\n                  }\n                },\n                input (e) {\n                  if (!self.state) {\n                    e.target.value = e.target.value.replace(/\\s+/gm, '')\n                    self.$refs.form.$setValueField('name', e.target.value)\n                  }\n                }\n              }\n            }\n          },\n          {\n            label: '代理价格',\n            prop: 'price',\n            render: (h, store, value) => {\n              return [h('jw-number', {\n                class: 'product-add-form-price',\n                on: {\n                  input: (e) => {\n                    this.$refs.form.$setValueField('price', e)\n                  }\n                },\n                props: {\n                  unit: '¥',\n                  position: 'prefix',\n                  placeholder: '0.00',\n                  maxlength: 10,\n                  max: 9999999.99,\n                  disabled: self.isEdit,\n                  value: value.price\n                }}), value.expan_item === 'sit_count' ? h('span', { style: { marginLeft: '10px' }}, '元/天') : '']\n            }\n          },\n          {\n            tag: 'el-input',\n            label: '版本描述',\n            prop: 'description',\n            max: true,\n            bind: {\n              attrs: {\n                placeholder: '请填写版本描述',\n                rows: 4,\n                maxlength: 200\n              },\n              props: {\n                type: 'textarea',\n                disabled: false\n              },\n              on: {\n                input (e) {\n                  self.$refs.form.$setValueField('description', e)\n                }\n              },\n              nativeOn: {\n                compositionstart (e) {\n                  self.state = true\n                },\n                compositionend (e) {\n                  self.state = false\n                  if (!self.state) {\n                    e.target.value = e.target.value.replace(/\\s+/gm, '')\n                    self.$refs.form.$setValueField('description', e.target.value)\n                  }\n                },\n                input (e) {\n                  if (!self.state) {\n                    e.target.value = e.target.value.replace(/\\s+/gm, '')\n                    self.$refs.form.$setValueField('description', e.target.value)\n                  }\n                }\n              }\n            }\n          },\n          {\n            tag: 'el-select',\n            label: '扩容项',\n            prop: 'expan_item',\n            bind: {\n              props: {\n                disabled: false,\n                placeholder: '请选择扩容项'\n              },\n              class: {\n                'product-expan-item': true\n              },\n              on: {\n                change () {\n                  self.$refs.form.$setValueField('count', 10)\n                }\n              }\n            },\n            render: (h, store, value) => {\n              return value.expan_item ? <div style='display:inline-block;'><el-input-number class='product-expan-num' placeholder='1' precision={0} disabled={self.isEdit} value={value.count} on-input={e => {\n                self.$nextTick(() => {\n                  self.$refs.form.$setValueField('count', e)\n                })\n              }} controls-position='right' min={1} max={99999999}></el-input-number><span style='margin-left:10px;'>{valueMap[value.expan_item]}</span></div> : ''\n            },\n            options: [\n              {\n                value: 'sit_count',\n                label: '用户数量'\n              },\n              {\n                value: 'content_count',\n                label: '软文数量'\n              },\n              {\n                value: 'clue_count',\n                label: '线索数量'\n              }\n            ]\n          }\n        ],\n        value: {\n          name: '',\n          price: '',\n          description: '',\n          count: '',\n          expan_item: ''\n        }\n      }\n    }\n  },\n  methods: {\n    $open ({ isEdit, id }) {\n      this.isEdit = isEdit\n      this.title = isEdit ? '编辑扩容产品' : '新增扩容产品'\n      this.id = id\n      this.form.data.find(item => item.prop === 'expan_item').bind.props.disabled = isEdit\n      if (isEdit) {\n        this.getProduct()\n      } else {\n        this.form.value = {\n          name: '',\n          price: '',\n          description: '',\n          count: '',\n          expan_item: ''\n        }\n        this.isShow = true\n      }\n    },\n    getProduct () {\n      Apis.getProductInfo(this.id, ({ data }) => {\n        const keyMap = ['sit_count', 'content_count', 'clue_count']\n        const key = keyMap.find(item => Number(data[item]) > 0)\n        this.form.value = {\n          name: data.attr_name,\n          price: data.price.toFixed(2),\n          description: data.description,\n          count: data[key],\n          expan_item: key\n        }\n        this.isShow = true\n      })\n    },\n    onSubmit () {\n      this.$refs.form.$validate((validate) => {\n        if (validate) {\n          const { name, price, description, count, expan_item } = this.$refs.form.$getValue()\n          const { employeeId, employeeName } = this.$tools.auth.getCurrentUserInfo()\n          const opt = {\n            name,\n            price: Number(price),\n            description,\n            sit_count: 0,\n            content_count: 0,\n            clue_count: 0,\n            single_video_size: 0,\n            single_audio_size: 0,\n            import_content_size: 0,\n            is_mobile_console: 0,\n            is_name_card: 0,\n            is_emp_image: 0,\n            is_channel_access: 0,\n            is_access_third: 0,\n            is_access_pub_third: 0,\n            product_type: 1\n          }\n          opt[expan_item] = count\n          if (!this.isEdit) {\n            opt.created_name = employeeName\n            opt.created_id = employeeId\n            Apis.postAddProduct(opt, 0, ({ data }) => {\n              this.$message.success('已保存')\n              this.$emit('success')\n              this.onCancel()\n            })\n          } else {\n            opt.modified_id = employeeId\n            opt.modified_name = employeeName\n            Apis.putModifyProduct(opt, this.id, ({ data }) => {\n              this.$message.success('已保存')\n              this.$emit('success')\n              this.onCancel()\n            })\n          }\n        }\n      })\n    },\n    onCancel () {\n      this.$refs.form.$resetFields()\n      this.title = ''\n      this.id = null\n      this.isShow = false\n    }\n  }\n}\n</script>\n\n<style lang=\"less\">\n  .product-expan-form {\n    .product-expan-item {\n      width: 200px !important;\n      .el-input {\n        width: 200px !important;\n      }\n    }\n    .product-expan-num {\n      margin-left: 12px;\n      .el-input {\n        width: 100% !important;\n      }\n    }\n  }\n</style>\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!./index-expansion.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-expansion.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index-expansion.vue?vue&type=template&id=184a3045\"\nimport script from \"./index-expansion.vue?vue&type=script&lang=js\"\nexport * from \"./index-expansion.vue?vue&type=script&lang=js\"\nimport style0 from \"./index-expansion.vue?vue&type=style&index=0&id=184a3045&prod&lang=less\"\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","<template>\n  <div class=\"product-manage\">\n    <jw-table ref=\"table\" v-bind=\"table\" @search=\"handlerSearch\" />\n    <product-add ref=\"add\" @success=\"() =>{ $refs.table.search() }\" />\n    <product-expansion ref=\"expan\" @success=\"() =>{ $refs.table.search() }\" />\n  </div>\n</template>\n\n<script>\nimport ProductAdd from './index-add'\nimport ProductExpansion from './index-expansion'\nimport Moment from 'moment'\nimport $apis from './apis'\nimport { filterMoneyFuc } from '@/components/filters.js'\nexport default {\n  components: {\n    ProductAdd,\n    ProductExpansion\n  },\n  data () {\n    return {\n      tabIndex: 0,\n      table: {\n        page: {\n          total: 0,\n          setSize: 20\n        },\n        tabs: ['标准产品', '扩容产品'],\n        btns: [{\n          label: '添加产品',\n          hide: !this.permission('1b52746e-91e2-4d8a-b161-f839a7a67e83'),\n          click: () => {\n            this.$refs.add.open({\n              isadd: 1\n            })\n          }\n        },\n        {\n          label: '新增扩容产品',\n          hide: !this.permission('1b52746e-91e2-4d8a-b161-f839a7a67e83'),\n          click: () => {\n            this.$refs.expan.$open({\n              isEdit: false\n            })\n          }\n        }],\n        data: [],\n        cols: [{\n          label: '产品名称',\n          prop: 'attr_name',\n          hide: false,\n          bind: {},\n          minWidth: 200\n        },\n        {\n          label: '扩容产品名称',\n          prop: 'attr_name',\n          hide: true,\n          bind: {},\n          minWidth: 200\n        },\n        {\n          label: '产品类型',\n          prop: 'product_class',\n          hide: false,\n          bind: {},\n          minWidth: 120,\n          fuc: (row) => {\n            return ['全员营销', '智能名片'][row.product_class] || '-'\n          }\n        },\n        {\n          label: '代理价格(元)',\n          prop: 'price',\n          minWidth: 200,\n          bind: {\n            props: {\n              align: 'right'\n            }\n          },\n          fuc: (row) => {\n            return { type: 'text', value: `${filterMoneyFuc(row.price, '')}` }\n          }\n        },\n        {\n          label: '产品描述',\n          prop: 'description',\n          hide: false,\n          bind: {},\n          minWidth: 160\n        },\n        {\n          label: '创建日期',\n          prop: 'time',\n          bind: {},\n          fuc: (row) => {\n            return { type: 'text', value: Moment(row.gmt_create).format('YYYY-MM-DD HH:mm') }\n          },\n          minWidth: 200\n        }, {\n          label: '状态',\n          prop: 'status',\n          minWidth: 200,\n          bind: {},\n          fuc: (row) => {\n            return { type: 'text', value: { 1: '已启用', 2: '已停用' }[row.status] }\n          }\n        },\n        {\n          label: '操作',\n          minWidth: 200,\n          fuc: (row) => {\n            return Number(this.tabIndex) === 0 ? <el-button disabled={!this.canModify} type='text' on-click={e => {\n              this.$refs.add.open({\n                isadd: 2,\n                id: row.id\n              })\n            }}>编辑</el-button> : <el-button disabled={false} type='text' on-click={e => {\n              this.$refs.expan.$open({\n                isEdit: true,\n                id: row.id\n              })\n            }}>编辑</el-button>\n          }\n        }]\n      },\n      canAdd: this.permission('1b52746e-91e2-4d8a-b161-f839a7a67e83'),\n      canModify: this.permission('59fc6bba-f643-40ff-8807-fd2edf94b363')\n    }\n  },\n  mounted () {\n    this.$refs.table.search()\n  },\n  methods: {\n    handlerSearch ({ tabIndex, page, size }) {\n      this.tabIndex = tabIndex\n      this.table.btns[0].hide = !this.canAdd || tabIndex !== 0\n      this.table.btns[1].hide = !this.canAdd || tabIndex !== 1\n      this.table.cols[0].hide = tabIndex !== 0\n      this.table.cols[1].hide = tabIndex !== 1\n      this.table.cols.find(item => { return item.prop === 'product_class' }).hide = tabIndex !== 0\n      this.table.cols.find(item => { return item.prop === 'description' }).hide = tabIndex !== 0\n      $apis.getProductVersion({ pageIndex: page, pageSize: size, producttype: tabIndex }, ({ data: { data, page }}) => {\n        this.table.data = data\n        this.table.page.total = page.total\n      })\n    }\n  }\n}\n</script>\n\n<style lang=\"less\" scoped>\n  .product-manage {\n    padding: 20px;\n    min-height: 500px;\n  }\n</style>\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!./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 { render, staticRenderFns } from \"./index.vue?vue&type=template&id=7362f610&scoped=true\"\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=7362f610&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  \"7362f610\",\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index-add.vue?vue&type=style&index=1&id=5fb71307&prod&lang=less\"","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index-add.vue?vue&type=style&index=0&id=5fb71307&prod&lang=less&scoped=true\"","export default {\n  email: /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/\n}\n","import regExp from './regExp'\nimport axios from 'axios'\nconst path = {\n  apiMps: '/saas-ability-mps/v1',\n  apiCrmOS: '/paas-ability-os/v1/',\n  apiCrmUs: '/paas-ability-us/v1/'\n}\n\nclass Server {\n  constructor (http = axios, allError = window.global.$message.warning) {\n    this.$http = http\n    this.error = function (err, isadd, cb) {\n      return function (res) {\n        const { response } = res\n        if (!(response && response.headers && response.headers['x-response-by'] && response.headers['x-response-by'] === 'gateway')) {\n          if (err) {\n            err(res.data)\n          }\n          if (isadd || !err) {\n            const resData = res.response.data\n            const msg = resData.errors && resData.errors.map(function (item) {\n              return item.message || item.msg\n            }).join(',')\n            allError(msg || resData.message || resData.msg || '系统异常,请稍后再试!')\n          }\n        }\n        cb && cb()\n      }\n    }\n  }\n  // 提供方法清空所有为空的字段\n  static clearAllNull (obj) {\n    let o\n    if (obj instanceof Array) {\n      o = []\n      obj.forEach(function (item) {\n        o.push(Server.clearAllNull(item))\n      })\n    } else if (obj instanceof Object) {\n      o = Object.assign({}, obj)\n      for (const key in o) {\n        if (!o[key] && o[key] !== 0) {\n          delete o[key]\n        } else {\n          o[key] = Server.clearAllNull(o[key])\n        }\n      }\n    }\n    return o || obj\n  }\n  // 提供方法清空一层为空的obj字段\n  static clearNull (obj) {\n    const o = Object.assign({}, obj)\n    for (const key in o) {\n      if (!o[key] && o[key] !== 0) {\n        delete o[key]\n      }\n    }\n    return o\n  }\n  static clearTrim (obj) {\n    const o = Object.assign({}, obj)\n    for (const key in o) {\n      if (!o[key] && o[key] !== 0) {\n        delete o[key]\n      } else if (typeof (o[key]) === 'string' || o[key] instanceof String) {\n        o[key] = o[key].trim()\n      }\n    }\n    return o\n  }\n  // 验证集合\n  static regExp (type) {\n    return regExp[type]\n  }\n\n  static $message (self, response) {\n    if (!(response && response.headers && response.headers['x-response-by'] && response.headers['x-response-by'] === 'gateway')) {\n      self.$message({\n        type: 'error',\n        message: (response && response.data && (response.data.msg || response.data.message || (response.data.errors && response.data.errors.map(function (item) {\n          return item.message\n        }).join(',')))) || '网络异常,请稍后再试'\n      })\n    } else if (!response.headers) {\n      self.$message(response && response.stack)\n    }\n  }\n}\n\nServer.path = path\nexport default Server\n"],"sourceRoot":""}