| | |
| | | # 任康 |
| | | # VUE_APP_API = 'http://192.168.0.15:10017/' |
| | | # ç¦æ¾ |
| | | VUE_APP_API = 'http://192.168.0.36:10011' |
| | | VUE_APP_API = 'http://192.168.0.36:10023' |
| | | # æ±è |
| | | VUE_APP_API = 'http://192.168.0.35:10011' |
| | | # VUE_APP_API = 'http://192.168.0.35:10023' |
| | | |
| | | #æµè¯æå¡å¨ |
| | | # #æµè¯æå¡å¨ |
| | | # VUE_APP_API = 'https://dmtest.ahapp.net/preselect_admin_interface' |
| | |
| | | # ç产ç¯å¢é
ç½® |
| | | NODE_ENV = 'production' |
| | | |
| | | # VUE_APP_API = 'https://dmtest.ahapp.net/preselect_interface/' |
| | | |
| | | VUE_APP_API = 'http://127.0.0.1/' |
| | | VUE_APP_CONTEXT_PATH = '/admin' |
| | | VUE_APP_API_PREFIX = '/admin_interface' |
| | | |
| | | # VUE_APP_API = 'https://dm.ahapp.net/preselect_interface/' |
| | | |
| | | # VUE_APP_API = 'http://yx.doumee.com/preselect_interface/' |
| | | |
| | | # VUE_APP_API = 'http://mjyx.doumee.com/preselect_interface/' |
| | | # http://yx.ahapp.net/admin_interface/doc.html |
| | | # VUE_APP_API = 'https://yx.ahapp.net/admin_interface' |
| | | VUE_APP_API = 'http://127.0.0.1:10023/ |
| | |
| | | "private": true, |
| | | "scripts": { |
| | | "serve": "vue-cli-service serve", |
| | | "build": "vue-cli-service build", |
| | | "build:pro": "vue-cli-service build", |
| | | "build:dev": "vue-cli-service build --mode staging", |
| | | "lint": "vue-cli-service lint", |
| | | "fix": "eslint --ext .js,.vue src --fix" |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '../../utils/request' |
| | | |
| | | // æ¥è¯¢ |
| | | export function fetchList (data) { |
| | | return request.post('/business/fileRecord/page', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥å®¢æ·ä¼ä¸å
¨ç§°ï¼ä¸è¶
è¿30å" v-trim/> |
| | | ä¼ä¸åç§°éä¸å·¥åé¨é¨ç»è®°ä¿¡æ¯ä¸è´ |
| | | </el-form-item> |
| | | <el-form-item label="ä¼ä¸ç®ç§°" prop="shortName"> |
| | | <el-form-item label="客æ·ç®ç§°" prop="shortName"> |
| | | <el-input v-model="form.shortName" placeholder="请è¾å
¥ä¼ä¸ç®ç§°" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="ç»ä¸ç¤¾ä¼ä¿¡ç¨ä»£ç " prop="creditCode"> |
| | | <el-input v-model="form.creditCode" placeholder="请è¾å
¥ç»ä¸ç¤¾ä¼ä¿¡ç¨ä»£ç " v-trim/> |
| | | <el-form-item label="ç»ä¸ä¿¡ç¨ä»£ç " prop="creditCode"> |
| | | <el-input v-model="form.creditCode" placeholder="请è¾å
¥ç»ä¸ä¿¡ç¨ä»£ç " v-trim/> |
| | | ç»ä¸ä¿¡ç¨ä»£ç éä¸å·¥åé¨é¨ç»è®°ä¿¡æ¯ä¸è´ |
| | | </el-form-item> |
| | | <el-form-item label="ç»å½è´¦å·" prop="managerUserName"> |
| | |
| | | </el-form-item> |
| | | <el-form-item label="ä¸»ææ°ééå¶" prop="userNum"> |
| | | <el-input v-model="form.userNum" :disabled="!!this.form.id" placeholder="请è¾å
¥ä¸»ææ°ééå¶" v-trim/> |
| | | |
| | | </el-form-item> |
| | | <el-form-item label="éå®äººå" prop="salesmanId"> |
| | | <!-- <el-input v-model="form.salesmanId" placeholder="请è¾å
¥éå®äººåç¼ç " v-trim/> --> |
| | |
| | | linkname: '', |
| | | linkephone: '', |
| | | creditCode: '', |
| | | userNum: '', |
| | | userNum: 5, |
| | | oepnValidDate: '', |
| | | salesmanId: '' |
| | | }, |
| | |
| | | <style lang="scss" scoped> |
| | | .more { |
| | | margin-top: 40px; |
| | | margin-bottom: 10px; |
| | | .more-title { |
| | | font-weight: 600; |
| | | font-size: 18px; |
| | |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥å®¢æ·ä¼ä¸å
¨ç§°ï¼ä¸è¶
è¿30å" v-trim/> |
| | | ä¼ä¸åç§°éä¸å·¥åé¨é¨ç»è®°ä¿¡æ¯ä¸è´ |
| | | </el-form-item> |
| | | <el-form-item label="ä¼ä¸ç®ç§°" prop="shortName"> |
| | | <el-input v-model="form.shortName" placeholder="请è¾å
¥ä¼ä¸ç®ç§°" v-trim/> |
| | | <el-form-item label="客æ·ç®ç§°" prop="shortName"> |
| | | <el-input v-model="form.shortName" placeholder="请è¾å
¥å®¢æ·ç®ç§°" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="ç»ä¸ç¤¾ä¼ä¿¡ç¨ä»£ç " prop="creditCode"> |
| | | <el-input v-model="form.creditCode" placeholder="请è¾å
¥ç»ä¸ç¤¾ä¼ä¿¡ç¨ä»£ç " v-trim/> |
| | | <el-form-item label="ç»ä¸ä¿¡ç¨ä»£ç " prop="creditCode"> |
| | | <el-input v-model="form.creditCode" placeholder="请è¾å
¥ç»ä¸ä¿¡ç¨ä»£ç " v-trim/> |
| | | ç»ä¸ä¿¡ç¨ä»£ç éä¸å·¥åé¨é¨ç»è®°ä¿¡æ¯ä¸è´ |
| | | </el-form-item> |
| | | <el-form-item label="ç»å½è´¦å·" prop="managerUserName"> |
| | |
| | | </el-form-item> |
| | | <el-form-item label="ä¸»ææ°ééå¶" prop="userNum"> |
| | | <el-input v-model="form.userNum" :disabled="!!this.form.id" placeholder="请è¾å
¥ä¸»ææ°ééå¶" v-trim/> |
| | | è¾å
¥0表示ä¸éå¶ |
| | | </el-form-item> |
| | | <el-form-item label="éå®äººå" prop="salesmanId"> |
| | | <!-- <el-input v-model="form.salesmanId" placeholder="请è¾å
¥éå®äººåç¼ç " v-trim/> --> |
| | |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalAlertWindow from '@/components/common/GlobalAlertWindow' |
| | | import { findAllList } from '@/api/system/user' |
| | | import { loginNameRule, creditCode } from '@/utils/form' |
| | | export default { |
| | | name: 'OperaCompanyWindow', |
| | | extends: BaseOpera, |
| | |
| | | linkname: '', |
| | | linkephone: '', |
| | | creditCode: '', |
| | | userNum: '', |
| | | userNum: '5', |
| | | oepnValidDate: '', |
| | | salesmanId: '' |
| | | }, |
| | |
| | | { required: true, message: '请è¾å
¥å®¢æ·ä¼ä¸å
¨ç§°', tigger: 'blur'} |
| | | ], |
| | | managerUserName: [ |
| | | { required: true, message: '请è¾å
¥ç»å½è´¦å·', tigger: 'blur'} |
| | | { required: true, validator: loginNameRule, message: '请è¾å
¥ç»å½è´¦å·', tigger: 'blur'} |
| | | ], |
| | | creditCode: [ |
| | | { validator: creditCode, trigger: 'blur' } |
| | | ], |
| | | openUserNum: [ |
| | | { pattern: /^[0-9]+$/, message: 'åªå¯ä»¥è¾å
¥æ°å', trigger: 'change' } |
| | |
| | | .then(res => { |
| | | this.sales = res |
| | | }) |
| | | } |
| | | }, |
| | | methods: { |
| | | open(title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | // æ°å»º |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | let data = new Date(new Date().getTime() + 31536000000) |
| | | this.form.oepnValidDate = `${data.getFullYear()}-${data.getMonth() +1}-${data.getDate()}` |
| | | this.form[this.configData['field.id']] = null |
| | | }) |
| | | return |
| | | } |
| | | // ç¼è¾ |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | this.form.multifileList.forEach(item => { |
| | | item.url = item.filefullurl |
| | | }) |
| | | }) |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .more { |
| | | margin-top: 40px; |
| | | |
| | | .more-title { |
| | | font-weight: 600; |
| | | font-size: 18px; |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | ::v-deep .el-input { |
| | |
| | | <GlobalWindow :title="title" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm" width="800px" |
| | | v-loading="isUploading"> |
| | | <el-form :model="form" ref="form" label-width="120px" :rules="rules"> |
| | | <div style="font-size: 18px;font-weight: bold;">åºæ¬ä¿¡æ¯</div> |
| | | <div style="font-size: 18px;font-weight: bold; margin-bottom: 10px;">åºæ¬ä¿¡æ¯</div> |
| | | <el-form-item label="åååç§°" prop="name"> |
| | | <el-input v-model="form.name" maxlength="50" placeholder="请è¾å
¥åååç§°ï¼ä¸è¶
è¿50个å" v-trim /> |
| | | </el-form-item> |
| | | <el-form-item label="åååç" prop="brandId"> |
| | | <el-select v-model="form.brandId" placeholder="è¯·éæ©ï¼åé"> |
| | | <el-select v-model="form.brandId" filterable placeholder="è¯·éæ©ï¼åé"> |
| | | <el-option v-for="item in brandList()" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ååç±»å«" prop="categoryId"> |
| | | <el-select v-model="form.categoryId" placeholder="è¯·éæ©ï¼åé" @change="categorySelect"> |
| | | <el-select v-model="form.categoryId" filterable placeholder="è¯·éæ©ï¼åé" @change="categorySelect"> |
| | | <el-option v-for="item in categoryList()" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | |
| | | åªè½ä¸ä¼ å¾çæ ¼å¼ï¼pngæ ¼å¼ï¼å»ºè®®å°ºå¯¸600*600px |
| | | </el-form-item> |
| | | <template v-if="form.baseGoodsParamList && form.baseGoodsParamList.length > 0"> |
| | | <div style="font-size: 18px;font-weight: bold;">忰屿§å¼é
ç½® <span |
| | | <div style="font-size: 18px;font-weight: bold; margin-bottom: 10px;">忰屿§å¼é
ç½® <span |
| | | style="font-size: 13px; font-weight: 500;">æéé
ç½®å½åååç产ååæ°å¼ï¼åä¸ªåæ°å¼ä¸è¶
è¿30个å</span></div> |
| | | <el-form-item :label="item.name" v-for="(item, index) in form.baseGoodsParamList" :key="index"> |
| | | <el-input v-model="item.val" maxlength="30" type="text" placeholder="请è¾å
¥" v-trim /> |
| | |
| | | |
| | | <template> |
| | | <el-dialog |
| | | top="10vh" |
| | | class="global-window" |
| | | title="title" |
| | | :visible="visible" |
| | |
| | | <el-radio label="0">女</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="头å" prop="avatar" required> |
| | | <!-- <el-form-item label="头å" prop="avatar" required> |
| | | <el-radio-group v-model="form.avatar" class="form-item-avatar"> |
| | | <el-radio label="https://dmtest.ahapp.net/preselectfile/man.png" border><img src="https://dmtest.ahapp.net/preselectfile/man.png" alt=""></el-radio> |
| | | <el-radio label="https://dmtest.ahapp.net/preselectfile/woman.png" border><img src="https://dmtest.ahapp.net/preselectfile/woman.png" alt=""></el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | <el-form-item v-if="form.id == null" label="åå§å¯ç " prop="password" required> |
| | | <el-input v-model="form.password" type="password" placeholder="请è¾å
¥åå§å¯ç " maxlength="30" show-password/> |
| | | </el-form-item> |
| | |
| | | empNo: '', // å·¥å· |
| | | departmentId: null, // æå±é¨é¨ID |
| | | positionIds: [], // æå±å²ä½IDé |
| | | avatar: '/avatar/man.png', // 头å |
| | | // avatar: '/avatar/man.png', // 头å |
| | | password: '', // å¯ç |
| | | mobile: '', // ææºå·ç |
| | | email: '', // é®ç®± |
| | |
| | | // éªè¯ææºå·ç |
| | | export function checkMobile (rule, value, callback) { |
| | | |
| | | export function checkMobile(rule, value, callback) { |
| | | if (value == null || value.trim() === '') { |
| | | callback(new Error('ææºå·ç ä¸è½ä¸ºç©º')) |
| | | if (rule.required) { |
| | | callback(new Error('请è¾å
¥ææºå·')) |
| | | } else { |
| | | callback() |
| | | } |
| | | return |
| | | } |
| | | if (!/^1\d{10}$/.test(value)) { |
| | | callback(new Error('ææºå·ç æ ¼å¼ä¸æ£ç¡®')) |
| | | let re = /^[0-9]{11}$/; |
| | | var result = re.test(value); |
| | | if(!result) { |
| | | callback(new Error('请è¾å
¥æ£ç¡®çææºå·')) |
| | | } else { |
| | | callback() |
| | | } |
| | | } |
| | | |
| | | export function checkPhone(rule, value, callback) { |
| | | //ææºå·ï¼13ï¼14ï¼15ï¼17ï¼18ï¼19å·æ®µ |
| | | const phoneReg = /^1[3|4|5|7|8][0-9]{9}$/ |
| | | //åºè¯ï¼åºå·(3-4ä½)-å·ç (7-9ä½) |
| | | const mobReg = /(^[0-9]{3,4}-[0-9]{7,9}$)/ |
| | | //æ¾³é¨çµè¯å·ç : 28å¼å¤´ï¼åé¢è·6使°åï¼åºå·ä¸º853 |
| | | const macaoMobReg = /^(853)?28\d{6}$/ |
| | | //æ¾³é¨ææºå·ç ï¼6å¼å¤´ï¼åé¢è·7使°åï¼åºå·ä¸º853 |
| | | const macaoPhoneReg = /^(853)?6\d{7}$/ |
| | | //åæ¶æ¯æææºå·ç åçµè¯å·ç |
| | | const macaoReg = /^(853)?(?:28\d{6}|6\d{7})$/ |
| | | if (!value) { |
| | | callback(new Error('çµè¯å·ç ä¸è½ä¸ºç©º')) |
| | | } else if (phoneReg.test(value)||mobReg.test(value)||macaoReg.test(value)) { |
| | | callback() |
| | | } else { |
| | | callback(new Error('请è¾å
¥æ£ç¡®çµè¯å·ç ')) |
| | | } |
| | | } |
| | | |
| | | export function loginNameRule (rule, value, callback) { |
| | | if (value == null || value.trim() === '') { |
| | | if (rule.required) { |
| | | callback(new Error('请è¾å
¥è´¦å·')) |
| | | } else { |
| | | callback() |
| | | } |
| | | return |
| | | } |
| | | let re =/^[\u4e00-\u9fa5a-zA-Z0-9]+$/ |
| | | var result = re.test(value) |
| | | if(!result) { |
| | | callback(new Error('请è¾å
¥æ£ç¡®çè´¦å·')) |
| | | } else { |
| | | callback() |
| | | } |
| | | } |
| | | |
| | | export function nameRule (rule, value, callback) { |
| | | if (value == null || value.trim() === '') { |
| | | if (rule.required) { |
| | | callback(new Error('请è¾å
¥åå')) |
| | | } else { |
| | | callback() |
| | | } |
| | | return |
| | | } |
| | | callback() |
| | | } |
| | | export function creditCode (rule, value, callback) { |
| | | if (value == null || value.trim() === '') { |
| | | if (rule.required) { |
| | | callback(new Error('请è¾å
¥ç¤¾ä¼ä¿¡ç¨ä»£ç ')) |
| | | } else { |
| | | callback() |
| | | } |
| | | return |
| | | } |
| | | let re = /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/ |
| | | var result = re.test(value) |
| | | if(!result) { |
| | | callback(new Error('请è¾å
¥æ£ç¡®ç社ä¼ä¿¡ç¨ä»£ç ')) |
| | | } else { |
| | | callback() |
| | | } |
| | | } |
| | | |
| | | // éªè¯é®ç®± |
| | | export function checkEmail (rule, value, callback) { |
| | |
| | | // 设置æä½å¹³å° |
| | | config.headers['eva-platform'] = `pc-${pkg.version}` |
| | | // 设置认è¯å¤´ |
| | | const authToken = Cookies.get('eva-auth-token') |
| | | const authToken = Cookies.get('doumee-auth-token') |
| | | if (authToken != null) { |
| | | config.headers['eva-auth-token'] = authToken |
| | | config.headers['doumee-auth-token'] = authToken |
| | | } |
| | | return config |
| | | }, function (error) { |
| | |
| | | <el-table-column prop="priceRate" label="å ä»·ç³»æ°" min-width="100px"></el-table-column> |
| | | <el-table-column prop="sortnum" label="æåºç (ååº)" min-width="100px"></el-table-column> |
| | | <el-table-column prop="createDate" label="å建æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="status" label="ç¶æ" min-width="100px"> |
| | | <el-table-column v-if="containPermissions(['business:category:update'])" prop="status" label="ç¶æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-switch v-model="row.status" @change="changeStatus(row)" :active-value="0" :inactive-value="1"> |
| | | </el-switch> |
| | |
| | | status: item.status |
| | | }).then(res => { |
| | | this.$tip.apiSuccess('æ´æ°æå') |
| | | }).finally(() => { |
| | | // this.search() |
| | | }).catch (err => { |
| | | this.$message.error(err) |
| | | }) |
| | | .finally(() => { |
| | | this.handlePageChange() |
| | | }) |
| | | }, |
| | | edit(id) { |
| | |
| | | <TableLayout :permissions="['business:company:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="åç§°" prop="name"> |
| | | <el-input v-model="searchForm.name" placeholder="请è¾å
¥åç§°" @keypress.enter.native="search"></el-input> |
| | | <el-form-item label="ä¼ä¸åç§°" prop="name"> |
| | | <el-input v-model="searchForm.name" placeholder="请è¾å
¥ä¼ä¸åç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="ä¼ä¸ç®ç§°" prop="shortName"> |
| | | <el-input v-model="searchForm.shortName" placeholder="请è¾å
¥ä¼ä¸ç®ç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> --> |
| | | <el-form-item label="管çåè´¦å·" prop="managerUserName"> |
| | | <el-input v-model="searchForm.managerUserName" placeholder="请è¾å
¥ç®¡çåè´¦å·" @keypress.enter.native="search"></el-input> |
| | | <el-form-item label="ç»å½è´¦å·" prop="managerUserName"> |
| | | <el-input v-model="searchForm.managerUserName" placeholder="请è¾å
¥ç»å½è´¦å·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æææ" prop="oepnValidDate"> |
| | | <el-date-picker type="daterange" v-model="oepnValidDate" value-format="yyyy-MM-dd" start-placeholder="å¼å§æ¥æ" |
| | |
| | | <!-- <el-table-column type="selection" width="55" align="center"></el-table-column> --> |
| | | <el-table-column prop="id" label="ä¼ä¸ç¼å·" min-width="80px" align="center"></el-table-column> |
| | | <el-table-column prop="name" label="ä¼ä¸åç§°" min-width="100px" align="center"></el-table-column> |
| | | <el-table-column prop="managerUserName" label="管çåè´¦å·" min-width="100px" align="center"></el-table-column> |
| | | <el-table-column prop="managerUserName" label="ç»å½è´¦å·" min-width="100px" align="center"></el-table-column> |
| | | <el-table-column prop="linkname" label="è系人" min-width="100px" align="center"></el-table-column> |
| | | <el-table-column prop="linkephone" label="è系人çµè¯" min-width="100px" align="center"></el-table-column> |
| | | <el-table-column prop="oepnValidDate" label="ç¨æææ" min-width="140px" align="center"></el-table-column> |
| | | <el-table-column prop="userNum" label="ä¸»ææ°ééå¶" min-width="100px" align="center"></el-table-column> |
| | | <el-table-column prop="oepnValidDate" label="æææ" min-width="140px" align="center"></el-table-column> |
| | | <el-table-column prop="userNum" label="主æè´¦å·éå¶" min-width="100px" align="center"> |
| | | <template slot-scope="{row}"> |
| | | {{ row.userNum || 'ä¸é' }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="empUserNum" label="åå·¥æ°" min-width="100px" align="center"></el-table-column> |
| | | <el-table-column prop="salesmanRealName" label="éå®äººå" min-width="100px" align="center"></el-table-column> |
| | | <el-table-column prop="status" label="ç¶æ" min-width="100px" align="center"> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:filerecord:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | |
| | | <!-- <el-form-item label="æä»¶å" prop="name"> |
| | | <el-input v-model="searchForm.name" placeholder="请è¾å
¥æä»¶å" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> --> |
| | | |
| | | <el-form-item label="æä»¶å¤¹åç§°" prop="folder"> |
| | | <el-input v-model="searchForm.folder" placeholder="请è¾å
¥æä»¶å¤¹åç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="OSSæä»¶key" prop="keyval"> |
| | | <el-input v-model="searchForm.keyval" placeholder="请è¾å
¥OSSæä»¶key" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ" prop="status"> |
| | | <el-select v-model="searchForm.status" clearable placeholder="è¯·éæ©ç¶æ"> |
| | | <el-option v-for="item in statusList" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | border |
| | | stripe |
| | | > |
| | | <el-table-column type="index" :index="newIndex" label="åºå·" width="80px" align="center"></el-table-column> |
| | | <el-table-column prop="name" label="æä»¶" width="100px" align="center"> |
| | | <template slot-scope="{row}"> |
| | | <el-image v-if="row.url" style="width: 70px; height: 70px" :src="row.url" |
| | | :preview-src-list="[row.url]" fit="cover"></el-image> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="folder" label="æä»¶å¤¹åç§°" width="140px" align="center"></el-table-column> |
| | | <el-table-column prop="keyval" label="OSSæä»¶key" min-width="120px" align="center"></el-table-column> |
| | | <el-table-column prop="status" label="ç¶æ" width="100px" align="center"> |
| | | <template slot-scope="{row}"> |
| | | <!-- 0æªä¸ä¼ 1å·²ä¸ä¼ 2ä¸ä¼ 失败 --> |
| | | {{ row.status == 0 ? 'æªä¸ä¼ ' : row.status == 1 ? 'å·²ä¸ä¼ ' : 'ä¸ä¼ 失败' }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createDate" label="å建æ¶é´" width="150px" align="center"></el-table-column> |
| | | <el-table-column prop="editDate" label="æ´æ°æ¶é´" width="150px" align="center"></el-table-column> |
| | | <!-- |
| | | <el-table-column prop="editor" label="æ´æ°äººç¼ç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="isdeleted" label="æ¯å¦å é¤0å¦ 1æ¯" min-width="100px"></el-table-column> |
| | | <el-table-column prop="info" label="夿³¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="objId" label="å
³è对象ç¼ç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="type" label="ç±»å0å¾ç 1è§é¢ 2å
¶ä»" min-width="100px"></el-table-column> --> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | export default { |
| | | name: 'FileRecord', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | id: '', |
| | | creator: '', |
| | | createDate: '', |
| | | editor: '', |
| | | editDate: '', |
| | | isdeleted: '', |
| | | name: '', |
| | | info: '', |
| | | objId: '', |
| | | type: '', |
| | | folder: '', |
| | | status: '', |
| | | keyval: '' |
| | | }, |
| | | statusList: [ |
| | | // 0æªä¸ä¼ 1å·²ä¸ä¼ 2ä¸ä¼ 失败 |
| | | { name: 'æªä¸ä¼ ', id: 0 }, |
| | | { name: 'å·²ä¸ä¼ ', id: 1 }, |
| | | { name: 'ä¸ä¼ 失败', id: 2 } |
| | | ] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'éä»¶ä¸ä¼ è¿åº¦è¡¨', |
| | | api: '/business/fileRecord', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | newIndex(index) { |
| | | return (this.tableData.pagination.pageIndex - 1) * 10 + index + 1 |
| | | } |
| | | }, |
| | | } |
| | | </script> |
| | |
| | | </li> |
| | | <!-- <el-button type="primary" :loading="isWorking.export" |
| | | @click="$refs.selectProduct.open('鿩平å°åå')">鿩平å°åå</el-button> --> |
| | | <li v-permissions="['business:basegoods:exportExcel']"> |
| | | <li v-permissions="['business:basegoods:exportExcel', 'business:goods:delete']"> |
| | | <ImportButton text="导å
¥" template-name="goods_import_modle.xlsx" |
| | | template-path="/template/goods_import_modle.xlsx" action="/business/baseGoods/importExcel" |
| | | @success="search" /> |
| | | </li> |
| | | <el-button type="primary" :loading="isWorking.export" @click="bulkOperation(0)">æ¹é䏿¶</el-button> |
| | | <el-button type="primary" :loading="isWorking.export" @click="bulkOperation(1)">æ¹é䏿¶</el-button> |
| | | <!-- <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:goods:delete']">å é¤</el-button></li> --> |
| | | <li> |
| | | <el-button type="primary" :loading="isWorking.export" @click="bulkOperation(0)">æ¹é䏿¶</el-button> |
| | | </li> |
| | | <li> |
| | | <el-button type="primary" :loading="isWorking.export" @click="bulkOperation(1)">æ¹é䏿¶</el-button> |
| | | </li> |
| | | <li v-permissions="['business:goods:delete']"><el-button @click="deleteByIdInBatch" style="color: red;">æ¹éå é¤</el-button></li> |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe border :header-cell-style="rowStyle" |
| | | :cell-style="rowStyle" @selection-change="handleSelectionChange"> |
| | |
| | | <el-table-column prop="zdPrice" label="æå¯¼ä»·ï¼å
ï¼" min-width="100px"></el-table-column> |
| | | <el-table-column prop="price" label="éè´ä»·(å
)" min-width="100px"></el-table-column> |
| | | <el-table-column prop="createDate" label="å建æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="status" label="ç¶æ" min-width="100px"> |
| | | <el-table-column prop="status" v-if="containPermissions(['business:basegoods:update'])" label="ç¶æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-switch v-model="row.status" @change="changeStatus(row)" active-color="#13ce66" inactive-color="#ff4949" |
| | | :active-value="0" :inactive-value="1"> |
| | |
| | | import OperaGoodsWindow from '@/components/business/OperaGoodsWindow' |
| | | import selectProduct from '@/components/business/selectProduct' |
| | | import ImportButton from '@/components/common/ImportButton' |
| | | import { brand, baseCategory, importExcel } from '@/api/system/common.js' |
| | | import { brand, baseCategory } from '@/api/system/common.js' |
| | | import { updateStatus, queryById, exportDoc } from '@/api/business/goods.js' |
| | | export default { |
| | | name: 'Goods', |
| | |
| | | this.getcategory() |
| | | }, |
| | | methods: { |
| | | handleSelectionChange(e) { |
| | | let arr = e.map(item => item.id) |
| | | this.ids = arr.join(',') |
| | | this.idList = arr; |
| | | }, |
| | | // handleSelectionChange(e) { |
| | | // let arr = e.map(item => item.id) |
| | | // this.ids = arr.join(',') |
| | | // this.idList = arr; |
| | | // }, |
| | | // æ¹éä¸ä¸æ¶ |
| | | bulkOperation(type) { |
| | | if (!this.ids) { |
| | | this.$message.warning({ message: 'è³å°éæ©ä¸é¡¹å
容' }) |
| | | if (this.tableData.selectedRows.length === 0) { |
| | | this.$tip.warning('请è³å°éæ©ä¸æ¡æ°æ®') |
| | | return |
| | | } |
| | | let idList = this.tableData.selectedRows.map(item => item.id) |
| | | updateStatus({ |
| | | idList: this.idList, |
| | | idList, |
| | | status: type |
| | | }).then(res => { |
| | | this.$tip.apiSuccess('æä½æå'); |
| | | // this.$message.success({ message:res.message }) |
| | | this.search() |
| | | this.handlePageChange() |
| | | }) |
| | | }, |
| | | downloadFile() { |
| | |
| | | status: item.status |
| | | }).then(res => { |
| | | this.$tip.apiSuccess('æ´æ°æå') |
| | | }).finally(() => { |
| | | // this.search() |
| | | }) |
| | | .catch (err => { |
| | | this.$message.error(err) |
| | | } ) |
| | | .finally(() => { |
| | | this.handlePageChange() |
| | | }) |
| | | }, |
| | | getbrand() { |
| | |
| | | :data="tableData.list" |
| | | :default-sort = "{prop: 'createTime', order: 'descending'}" |
| | | stripe |
| | | border |
| | | @selection-change="handleSelectionChange" |
| | | @sort-change="handleSortChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="avatar" label="头å" width="80px" class-name="table-column-avatar" fixed="left"> |
| | | <!-- <el-table-column prop="avatar" label="头å" width="80px" class-name="table-column-avatar" fixed="left"> |
| | | <template slot-scope="{row}"> |
| | | <img :src="row.avatar == null ? '/static/avatar/man.png' : row.avatar"> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column> --> |
| | | <el-table-column prop="realname" label="å§å" min-width="100px" fixed="left"></el-table-column> |
| | | <el-table-column prop="username" label="ç¨æ·å" min-width="120px"></el-table-column> |
| | | <el-table-column prop="empNo" label="å·¥å·" sortable="custom" sort-by="EMP_NO" min-width="80px"></el-table-column> |