| | |
| | | # VUE_APP_API_URL = 'http://192.168.5.13/gateway_interface' |
| | | |
| | | # 任康 |
| | | # VUE_APP_API_URL = 'http://192.168.0.137:10010/' |
| | | # VUE_APP_API_URL = 'http://192.168.0.143:10010' |
| | | |
| | | # èå§ |
| | | # VUE_APP_API_URL = 'http://192.168.0.108:10010/' |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // æ¥è¯¢ |
| | | export function fetchList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/ywMaterial/page', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | |
| | | // å建 |
| | | export function create (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/ywMaterial/create', data) |
| | | } |
| | | |
| | | // æ ¹æ®IDä¿®æ¹ |
| | | export function updateById (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/ywMaterial/updateById', data) |
| | | } |
| | | |
| | | // æ ¹æ®IDä¿®æ¹ç¶æ |
| | | export function updateStatus (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/ywMaterial/updateStatus', data) |
| | | } |
| | | |
| | | // å é¤ |
| | | export function deleteById (id) { |
| | | return request.get(`/visitsAdmin/cloudService/business/ywMaterial/delete/${id}`) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // æ¥è¯¢ |
| | | export function fetchList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/ywWarehouse/page', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | |
| | | // å建 |
| | | export function create (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/ywWarehouse/create', data) |
| | | } |
| | | |
| | | // æ ¹æ®IDä¿®æ¹ |
| | | export function updateById (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/ywWarehouse/updateById', data) |
| | | } |
| | | |
| | | // æ ¹æ®IDä¿®æ¹ç¶æ |
| | | export function updateStatusById (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/ywWarehouse/updateStatusById', data) |
| | | } |
| | | |
| | | // å é¤ |
| | | export function deleteById (id) { |
| | | return request.get(`/visitsAdmin/cloudService/business/ywWarehouse/delete/${id}`) |
| | | } |
| | |
| | | <el-button type="primary" @click="$refs.newWarehouse.open('æ°å»ºä»åºåç§°')">æ°å¢</el-button> |
| | | </div> |
| | | <el-table v-loading="loading" :data="list" stripe> |
| | | <el-table-column prop="platformName" label="ä»åºåç§°" min-width="120" show-overflow-tooltip /> |
| | | <el-table-column prop="platformGroupName" label="è´è´£äºº" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="carCodeFront" label="ä»åºä½ç½®" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="carCodeBack" label="æåºç " min-width="110" show-overflow-tooltip /> |
| | | <el-table-column prop="param1" label="夿³¨" min-width="120" show-overflow-tooltip /> |
| | | <el-table-column prop="param2" label="ç¶æ" min-width="90" show-overflow-tooltip /> |
| | | <el-table-column prop="name" label="ä»åºåç§°" min-width="120" show-overflow-tooltip /> |
| | | <el-table-column prop="userName" label="è´è´£äºº" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="position" label="ä»åºä½ç½®" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="sortnum" label="æåºç " min-width="110" show-overflow-tooltip /> |
| | | <el-table-column prop="remark" label="夿³¨" min-width="120" show-overflow-tooltip /> |
| | | <el-table-column label="ç¶æ" min-width="90"> |
| | | <template v-slot="{ row }"> |
| | | <el-switch |
| | | v-model="row.status" |
| | | active-color="#13ce66" |
| | | inactive-color="#ff4949" |
| | | @change="changeStatus($event, row)" |
| | | :active-value="0" |
| | | :inactive-value="1"> |
| | | </el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="workTime" label="æä½" min-width="100" show-overflow-tooltip> |
| | | <template v-slot="{ row }"> |
| | | <span class="primaryColor pointer">æ¥ç详æ
</span> |
| | | <span class="red pointer">å é¤</span> |
| | | <el-button type="text" @click="$refs.newWarehouse.open('æ°å»ºä»åºåç§°', row)">ç¼è¾</el-button> |
| | | <el-button type="text" @click="dele(row.id)">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | import dayjs from 'dayjs' |
| | | import duration from 'dayjs/plugin/duration' |
| | | dayjs.extend(duration) |
| | | import { platformLogPage, getPlatformGroupList } from '@/api' |
| | | import { fetchList, deleteById, updateStatusById } from '@/api/ywWarehouse' |
| | | export default { |
| | | components: { |
| | | Pagination, |
| | |
| | | queryFormConfig: { |
| | | formItems: [ |
| | | { |
| | | filed: 'carCodeFront', |
| | | filed: 'name', |
| | | type: 'input', |
| | | label: 'ä»åºåç§°', |
| | | }, |
| | | { |
| | | filed: 'platformGroupId', |
| | | filed: 'status', |
| | | type: 'select', |
| | | label: 'ä»åºç¶æ', |
| | | options: [] |
| | | options: [ |
| | | { value: 0, label: 'å¯ç¨' }, |
| | | { value: 1, label: 'ç¦ç¨' } |
| | | ] |
| | | } |
| | | ], |
| | | online: true |
| | |
| | | } |
| | | }, |
| | | created() { |
| | | // this.getList() |
| | | // this.getGroupList() |
| | | this.getList() |
| | | }, |
| | | methods: { |
| | | handleSub() { |
| | | this.$refs.ruleForm.validate((valid) => { |
| | | if (valid) { |
| | | alert('submit!') |
| | | } |
| | | }) |
| | | }, |
| | | handleEx() { }, |
| | | getGroupList() { |
| | | getPlatformGroupList({ queryData: 0, queryType: 0 }).then(res => { |
| | | this.queryFormConfig.formItems[1].options = res.map(i => { |
| | | return { |
| | | value: i.id, |
| | | label: i.name |
| | | } |
| | | }) |
| | | // this.queryFormConfig.formItems[1].options.unshift({ value: '', label: 'å
¨é¨æå°ç»' }) |
| | | }) |
| | | }, |
| | | getList(page) { |
| | | const { pagination, filters } = this |
| | | this.loading = true |
| | | platformLogPage({ |
| | | fetchList({ |
| | | model: { |
| | | ...filters, |
| | | queryStatus: '6,7,8', |
| | | beginWorkDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null, |
| | | beginWorkDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null, |
| | | ...filters |
| | | }, |
| | | sorts: [{ direction: 'DESC', property: 'param1' }], |
| | | capacity: pagination.pageSize, |
| | | page: page || pagination.page, |
| | | }).then(res => { |
| | | this.loading = false |
| | | this.list = res.records || [] |
| | | this.list.forEach(item => { |
| | | item.inTypeTemp = item.inType == 0 ? 'æ´æç' : 'ä»¶ç' |
| | | item.taskOrigin = 'WMSè·å' |
| | | item.workTime = dayjs.duration(item.param3, 'seconds').format('Hæ¶måsç§') |
| | | }) |
| | | this.pagination.total = res.total || 0 |
| | | }, () => { |
| | | this.loading = false |
| | |
| | | this.pagination.page = 1 |
| | | this.getList() |
| | | }, |
| | | changeStatus(e, row) { |
| | | updateStatusById({ id: row.id, status: e }) |
| | | .then(res => { |
| | | this.getList() |
| | | }) |
| | | }, |
| | | dele(id) { |
| | | this.$confirm('æ¯å¦ç¡®è®¤å é¤è¯¥ä»åº?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | deleteById(id) |
| | | .then(res => { |
| | | this.getList() |
| | | }) |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | }, |
| | | handleSizeChange(capacity) { |
| | | this.pagination.pageSize = capacity |
| | | this.getList() |
| | |
| | | <template> |
| | | <TableLayout> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:category:create', 'business:category:delete']"> |
| | | <li><el-button type="primary" @click="handleEdit()" icon="el-icon-plus" |
| | | v-permissions="['business:category:create']">æ°å»º</el-button></li> |
| | | <li v-permissions="['business:category:exportExcel']"><el-button type="primary" |
| | | @click="exportExcel">导åº</el-button></li> |
| | | <ul class="toolbar"> |
| | | <li><el-button type="primary" @click="handleEdit()" icon="el-icon-plus">æ°å»º</el-button></li> |
| | | <li><el-button type="primary" @click="exportExcel">导åº</el-button></li> |
| | | </ul> |
| | | <el-table row-key="id" :tree-props="{ children: 'childCategoryList' }" v-loading="isWorking.search" |
| | | :data="dataList" stripe @selection-change="handleSelectionChange"> |
| | | <el-table-column prop="name" label="èµäº§åç±»" min-width="100px"></el-table-column> |
| | | <!-- <el-table-column prop="parentName" label="æå±åç±»" min-width="100px"></el-table-column> --> |
| | | <el-table-column prop="sortnum" label="æåºç " min-width="100px"></el-table-column> |
| | | <el-table-column v-if="containPermissions(['business:category:update', 'business:category:delete'])" label="æä½" |
| | | min-width="120" fixed="right"> |
| | |
| | | filters: { |
| | | parentId: '' |
| | | }, |
| | | form: { |
| | | type: 7 |
| | | }, |
| | | isShowEdit: false, |
| | | loading: false, |
| | | pagination: { |
| | |
| | | }, |
| | | created() { |
| | | this.config({ |
| | | module: '车è¾ä¿¡æ¯è¡¨', |
| | | module: 'å类信æ¯è¡¨', |
| | | api: '/business/category', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | |
| | | const { pagination, filters } = this |
| | | this.loading = true |
| | | fetchList({ |
| | | model: { ...filters, type: 5 }, |
| | | model: { ...filters, type: 7 }, |
| | | capacity: pagination.pageSize, |
| | | page: pagination.page, |
| | | }).then(res => { |
| | |
| | | <el-button>导å
¥</el-button> |
| | | </div> |
| | | <el-table v-loading="loading" :data="list" stripe> |
| | | <el-table-column prop="platformName" label="èµäº§ç¼ç " min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="platformGroupName" label="èµäº§åç§°" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="carCodeFront" label="æ¡ç " min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="carCodeBack" label="åç" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="param1" label="è§æ ¼åå·" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="param2" label="åä½" min-width="70" show-overflow-tooltip /> |
| | | <el-table-column prop="param2" label="å®å
¨åºå(ä¸é)" min-width="120" show-overflow-tooltip /> |
| | | <el-table-column prop="param2" label="å®å
¨åºå(ä¸é)" min-width="120" show-overflow-tooltip /> |
| | | <el-table-column prop="param2" label="ç¶æ" min-width="80" show-overflow-tooltip /> |
| | | <el-table-column prop="code" label="èµäº§ç¼ç " min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="name" label="èµäº§åç§°" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="qrcode" label="æ¡ç " min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="brand" label="åç" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="attr" label="è§æ ¼åå·" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="unitName" label="åä½" min-width="70" show-overflow-tooltip /> |
| | | <el-table-column prop="minStock" label="å®å
¨åºå(ä¸é)" min-width="120" show-overflow-tooltip /> |
| | | <el-table-column prop="maxStock" label="å®å
¨åºå(ä¸é)" min-width="120" show-overflow-tooltip /> |
| | | <el-table-column label="ç¶æ" min-width="80"> |
| | | <template v-slot="{ row }"> |
| | | <el-switch |
| | | v-model="row.status" |
| | | active-color="#13ce66" |
| | | inactive-color="#ff4949" |
| | | @change="changeStatus($event, row)" |
| | | :active-value="0" |
| | | :inactive-value="1"> |
| | | </el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="workTime" label="æä½" min-width="100" show-overflow-tooltip> |
| | | <template v-slot="{ row }"> |
| | | <span class="primaryColor pointer">ç¼è¾</span> |
| | | <span class="red pointer">å é¤</span> |
| | | <el-button type="text" @click="$refs.newMaterial.open('ç¼è¾ç©æ', {...row, cateArr: [row.parentCateId, row.cateId] })">ç¼è¾</el-button> |
| | | <el-button type="text" @click="dele(row.id)">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | import dayjs from 'dayjs' |
| | | import duration from 'dayjs/plugin/duration' |
| | | dayjs.extend(duration) |
| | | import { platformLogPage, getPlatformGroupList } from '@/api' |
| | | import { fetchList, updateStatus, deleteById } from '@/api/ywMaterial' |
| | | export default { |
| | | components: { |
| | | Pagination, |
| | |
| | | queryFormConfig: { |
| | | formItems: [ |
| | | { |
| | | filed: 'carCodeFront', |
| | | filed: 'code', |
| | | type: 'input', |
| | | label: 'èµäº§ä¿¡æ¯', |
| | | placeholder: '请è¾å
¥èµäº§åç§°/ç¼ç ' |
| | | label: 'åç§°/ç¼ç ', |
| | | placeholder: '请è¾å
¥åç§°/ç¼ç ' |
| | | }, |
| | | { |
| | | filed: 'carCodeFront', |
| | | filed: 'attr', |
| | | type: 'input', |
| | | label: 'è§æ ¼åå·', |
| | | }, |
| | | { |
| | | filed: 'platformGroupId', |
| | | type: 'select', |
| | | label: 'æå±é¡¹ç®', |
| | | options: [] |
| | | } |
| | | ], |
| | | online: true |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | // this.getList() |
| | | // this.getGroupList() |
| | | this.getList() |
| | | }, |
| | | methods: { |
| | | handleSub() { |
| | | this.$refs.ruleForm.validate((valid) => { |
| | | if (valid) { |
| | | alert('submit!') |
| | | } |
| | | }) |
| | | }, |
| | | handleEx() { }, |
| | | getGroupList() { |
| | | getPlatformGroupList({ queryData: 0, queryType: 0 }).then(res => { |
| | | this.queryFormConfig.formItems[1].options = res.map(i => { |
| | | return { |
| | | value: i.id, |
| | | label: i.name |
| | | } |
| | | }) |
| | | // this.queryFormConfig.formItems[1].options.unshift({ value: '', label: 'å
¨é¨æå°ç»' }) |
| | | }) |
| | | }, |
| | | getList(page) { |
| | | const { pagination, filters } = this |
| | | this.loading = true |
| | | platformLogPage({ |
| | | fetchList({ |
| | | model: { |
| | | ...filters, |
| | | queryStatus: '6,7,8', |
| | | beginWorkDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null, |
| | | beginWorkDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null, |
| | | ...filters |
| | | }, |
| | | sorts: [{ direction: 'DESC', property: 'param1' }], |
| | | capacity: pagination.pageSize, |
| | | page: page || pagination.page, |
| | | }).then(res => { |
| | | this.loading = false |
| | | this.list = res.records || [] |
| | | this.list.forEach(item => { |
| | | item.inTypeTemp = item.inType == 0 ? 'æ´æç' : 'ä»¶ç' |
| | | item.taskOrigin = 'WMSè·å' |
| | | item.workTime = dayjs.duration(item.param3, 'seconds').format('Hæ¶måsç§') |
| | | }) |
| | | this.pagination.total = res.total || 0 |
| | | }, () => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | dele(id) { |
| | | this.$confirm('æ¯å¦ç¡®è®¤å é¤è¯¥ç©æ?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | deleteById(id) |
| | | .then(res => { |
| | | this.getList() |
| | | }) |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | }, |
| | | changeStatus(e, row) { |
| | | updateStatus({ id: row.id, status: e }) |
| | | .then(res => { |
| | | this.getList() |
| | | }) |
| | | }, |
| | | clear() { |
| | | this.filters = {} |
| | | this.pagination.pageSize = 10 |
| | |
| | | <template> |
| | | <GlobalWindow :title="title" :visible.sync="visible" :confirm-working="isWorking" width="600px" @close="close" @confirm="confirm"> |
| | | <GlobalWindow |
| | | :title="title" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | width="600px" |
| | | @confirm="confirm"> |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="åç±»åç§°" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥åç±»åç§°" v-trim /> |
| | | <el-input v-model="form.name" maxlength="30" placeholder="请è¾å
¥åç±»åç§°" v-trim /> |
| | | </el-form-item> |
| | | <el-form-item label="æå±åç±»" prop="parentId"> |
| | | <el-select :disabled="form.id" v-model="form.parentId" placeholder="ä¸å¡«ä¸ºåä¸çº§åç±»"> |
| | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { create, fetchCateList, getInfoById } from '@/api/business/category.js' |
| | | import { fetchCateList, getInfoById } from '@/api/business/category.js' |
| | | export default { |
| | | name: 'OperaCategoryWindow', |
| | | extends: BaseOpera, |
| | |
| | | remark: '', |
| | | status: '', |
| | | sortnum: '', |
| | | type: 5 |
| | | type: 7 |
| | | }, |
| | | // éªè¯è§å |
| | | rules: { |
| | |
| | | }, |
| | | methods: { |
| | | getList() { |
| | | fetchCateList({ type: 5 }).then(res => { |
| | | fetchCateList({ type: 7 }).then(res => { |
| | | this.dataList = res || [] |
| | | |
| | | }) |
| | | }, |
| | | close() { |
| | | this.visible = false |
| | | this.$emit('close') |
| | | }, |
| | | getDetail(id) { |
| | | getInfoById(id).then(res => { |
| | |
| | | <div class="main_content"> |
| | | <el-form :model="form" label-position="top" ref="form" :rules="rules"> |
| | | <div class="list"> |
| | | <el-form-item label="ç©æç¼ç " prop="contractId"> |
| | | <el-input v-model="form.renterName" placeholder="ä¸è¾å
¥ç³»ç»ä¼èªå¨ç¼ç " v-trim /> |
| | | <el-form-item label="ç©æç¼ç " prop="code"> |
| | | <el-input v-model="form.code" placeholder="ä¸è¾å
¥ç³»ç»ä¼èªå¨ç¼ç " v-trim /> |
| | | </el-form-item> |
| | | <el-form-item label="ç©æåç§°" prop="renterName"> |
| | | <el-input v-model="form.renterName" placeholder="请è¾å
¥" v-trim /> |
| | | <el-form-item label="ç©æåç§°" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥" v-trim /> |
| | | </el-form-item> |
| | | <el-form-item label="ç©æåç±»" prop="ywContractRoomList"> |
| | | <el-select v-model="form.ywContractRoomList" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="(item, index) in houseList" |
| | | :key="index" |
| | | :value="item.id" |
| | | :label="item.projectName + item.buildingName + item.floorName + item.roomName" /> |
| | | </el-select> |
| | | <el-form-item label="ç©æåç±»" prop="cateArr"> |
| | | <el-cascader |
| | | v-model="form.cateArr" |
| | | :options="cateList" |
| | | @change="getCateVal" |
| | | :props="{ label: 'name', value: 'id', children: 'childCategoryList' }" |
| | | placeholder="è¯·éæ©" /> |
| | | </el-form-item> |
| | | <el-form-item label="æ¡ç " prop="costType"> |
| | | <el-input v-model="form.renterName" placeholder="请è¾å
¥" v-trim /> |
| | | <el-form-item label="æ¡ç " prop="qrcode"> |
| | | <el-input v-model="form.qrcode" placeholder="请è¾å
¥" v-trim /> |
| | | </el-form-item> |
| | | <el-form-item label="åç" prop="date"> |
| | | <el-input v-model="form.renterName" placeholder="请è¾å
¥" v-trim /> |
| | | <el-form-item label="åç" prop="brand"> |
| | | <el-input v-model="form.brand" placeholder="请è¾å
¥" v-trim /> |
| | | </el-form-item> |
| | | <el-form-item label="è§æ ¼åå·" prop="totleFee"> |
| | | <el-input v-model="form.renterName" placeholder="请è¾å
¥" v-trim /> |
| | | <el-form-item label="è§æ ¼åå·" prop="attr"> |
| | | <el-input v-model="form.attr" placeholder="请è¾å
¥" v-trim /> |
| | | </el-form-item> |
| | | <el-form-item label="å®å
¨åºåï¼ä¸éï¼" prop="planPayDate"> |
| | | <el-input v-model="form.renterName" placeholder="请è¾å
¥" v-trim /> |
| | | <el-form-item label="å®å
¨åºåï¼ä¸éï¼" prop="minStock"> |
| | | <el-input v-model="form.minStock" placeholder="请è¾å
¥" v-trim /> |
| | | </el-form-item> |
| | | <el-form-item label="å®å
¨åºåï¼ä¸éï¼" prop="companyId"> |
| | | <el-input v-model="form.renterName" placeholder="请è¾å
¥" v-trim /> |
| | | <el-form-item label="å®å
¨åºåï¼ä¸éï¼" prop="maxStock"> |
| | | <el-input v-model="form.maxStock" placeholder="请è¾å
¥" v-trim /> |
| | | </el-form-item> |
| | | <el-form-item label="åä½" prop="companyId"> |
| | | <el-input v-model="form.renterName" placeholder="请è¾å
¥" v-trim /> |
| | | <el-form-item label="åä½" prop="unitName"> |
| | | <el-input v-model="form.unitName" placeholder="请è¾å
¥" v-trim /> |
| | | </el-form-item> |
| | | <el-form-item label="æå±é¡¹ç®" prop="companyId"> |
| | | <el-select v-model="form.ywContractRoomList" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="(item, index) in houseList" |
| | | :key="index" |
| | | :value="item.id" |
| | | :label="item.projectName + item.buildingName + item.floorName + item.roomName" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æå±æ¿æº" prop="companyId"> |
| | | <el-select v-model="form.ywContractRoomList" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="(item, index) in houseList" |
| | | :key="index" |
| | | :value="item.id" |
| | | :label="item.projectName + item.buildingName + item.floorName + item.roomName" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ç©æç
§ç" prop="companyId"> |
| | | <el-form-item label="ç©æç
§ç" prop="multifile"> |
| | | <el-upload |
| | | class="upload-demo" |
| | | :show-file-list="false" |
| | | :data="uploadData" |
| | | :action="uploadImgUrl" |
| | | :file-list="fileList" |
| | | :data="uploadData" |
| | | list-type="picture-card" |
| | | :on-success="uploadAvatarSuccess" |
| | | :before-upload="beforeUpload" |
| | | :on-error="uploadError"> |
| | | <el-button icon="el-icon-plus" plain>ä¸ä¼ </el-button> |
| | | :on-remove="dele"> |
| | | <i class="el-icon-plus"></i> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <el-form-item style="width: 100%;" label="夿³¨" prop="remark"> |
| | |
| | | <script> |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import { fetchList } from '@/api/business/category.js' |
| | | export default { |
| | | name: 'newMaterial', |
| | | components: { |
| | |
| | | }, |
| | | extends: BaseOpera, |
| | | data () { |
| | | var validateCateArr = (rule, value, callback) => { |
| | | if (value.length === 0) { |
| | | callback(new Error('è¯·éæ©ç©æåç±»')); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | | return { |
| | | form: { |
| | | contractId: '', |
| | | renterName: '', |
| | | renterId: '', |
| | | costType: '', |
| | | type: '', |
| | | companyId: '', |
| | | id: null, |
| | | code: '', |
| | | name: '', |
| | | parentCateId: '', |
| | | cateId: '', |
| | | cateArr: [], |
| | | multifile: {}, |
| | | remark: '', |
| | | startDate: '', |
| | | endDate: '', |
| | | totleFee: '', |
| | | planPayDate: '', |
| | | multifileList: [], |
| | | ywContractRoomList: [], |
| | | date: [], |
| | | RoomName: '' |
| | | unitName: '', |
| | | maxStock: '', |
| | | minStock: '', |
| | | attr: '', |
| | | brand: '', |
| | | qrcode: '' |
| | | }, |
| | | rules: [], |
| | | loadingInstance: null, |
| | | rules: { |
| | | name: [ |
| | | { required: true, message: '请è¾å
¥ç©æåç§°', trigger: 'blur' } |
| | | ], |
| | | cateArr: [ |
| | | { required: true, validator: validateCateArr, trigger: 'blur' } |
| | | ], |
| | | qrcode: [ |
| | | { required: true, message: '请è¾å
¥æ¡ç ', trigger: 'blur' } |
| | | ] |
| | | }, |
| | | cateList: [], |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/uploadBatch', |
| | | fileList: [], |
| | | uploadData: { |
| | | folder: 'YW_CONTRACT_BILL' |
| | | }, |
| | | folder: 'YW_MATERIAL' |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/ywMaterial' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | this.title = title |
| | | this.fileList = [] |
| | | this.visible = true |
| | | }, |
| | | dele (imgaddr) { |
| | | this.form.multifileList.forEach((item, index) => { |
| | | if (imgaddr === item.imgaddr) { |
| | | this.form.multifileList.splice(index, 1) |
| | | this.getCategry() |
| | | // æ°å»º |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form[this.configData['field.id']] = null |
| | | }) |
| | | return |
| | | } |
| | | // ç¼è¾ |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | if (this.form.multifile) { |
| | | this.fileList = [ |
| | | { url: this.form.multifile.fileurlFull, ...this.form.multifile } |
| | | ] |
| | | } |
| | | }) |
| | | }, |
| | | beforeUpload (file) { |
| | | this.loadingInstance = Loading.service({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | spinner: 'el-icon-loading', |
| | | background: 'rgba(0, 0, 0, 0.7)' |
| | | getCateVal(e) { |
| | | this.form.parentCateId = e[0] |
| | | this.form.cateId = e[1] |
| | | }, |
| | | getCategry() { |
| | | fetchList({ |
| | | capacity: 1000, |
| | | model: { |
| | | type: 7 |
| | | }, |
| | | page: 1 |
| | | }).then(res => { |
| | | this.cateList = res.records |
| | | }) |
| | | }, |
| | | uploadError () { |
| | | this.$nextTick(() => { // 以æå¡çæ¹å¼è°ç¨ç Loading éè¦å¼æ¥å
³é |
| | | if (this.loadingInstance) { |
| | | this.loadingInstance.close() |
| | | } |
| | | }) |
| | | dele (e) { |
| | | this.fileList = [] |
| | | this.form.multifile = {} |
| | | }, |
| | | uploadAvatarSuccess (file) { |
| | | this.$nextTick(() => { |
| | | if (this.loadingInstance) { |
| | | this.loadingInstance.close() |
| | | } |
| | | }) |
| | | const item = file.data[0] |
| | | this.form.multifileList.push({ ...item, fileurl: item.imgaddr, name: item.originname, userName: this.userInfo.realname, createTime: this.getDay() }) |
| | | this.fileList.push({ ...item, fileurl: item.imgaddr, name: item.originname }) |
| | | this.form.multifile = { ...item, fileurl: item.imgaddr, name: item.originname } |
| | | } |
| | | } |
| | | } |
| | |
| | | <el-form-item label="ä»åºåç§°" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥" v-trim /> |
| | | </el-form-item> |
| | | <el-form-item label="æå¨ä½ç½®" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥" v-trim /> |
| | | <el-form-item label="æå¨ä½ç½®" prop="position"> |
| | | <el-input v-model="form.position" placeholder="请è¾å
¥" v-trim /> |
| | | </el-form-item> |
| | | <el-form-item label="è´è´£äºº" prop="name"> |
| | | <el-select v-model="form.name" placeholder="è¯·éæ©"> |
| | | <el-option label="å¼ ä¸" :value="1"></el-option> |
| | | <el-option label="æå" :value="1"></el-option> |
| | | <el-option label="çäº" :value="1"></el-option> |
| | | <el-form-item label="è´è´£äºº" prop="userId"> |
| | | <el-select v-model="form.userId" filterable placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in userList" |
| | | :key="item.id" |
| | | :label="item.realname" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æåºç (ååº)" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥æåºç " v-trim /> |
| | | <el-form-item label="æåºç (ååº)" prop="sortnum"> |
| | | <el-input v-model="form.sortnum" placeholder="请è¾å
¥æåºç " v-trim /> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ" prop="name"> |
| | | <el-form-item label="ç¶æ" prop="status"> |
| | | <el-switch |
| | | v-model="form.name" |
| | | v-model="form.status" |
| | | active-color="#13ce66" |
| | | inactive-color="#ff4949" |
| | | active-value="100" |
| | | inactive-value="0"> |
| | | :active-value="0" |
| | | :inactive-value="1"> |
| | | </el-switch> |
| | | </el-form-item> |
| | | <el-form-item label="夿³¨" prop="name"> |
| | | <el-input v-model="form.name" type="textarea" :autosize="{ minRows: 2, maxRows: 4}" placeholder="请è¾å
¥" v-trim /> |
| | | <el-form-item label="夿³¨" prop="remark"> |
| | | <el-input v-model="form.remark" type="textarea" :autosize="{ minRows: 2, maxRows: 4}" placeholder="请è¾å
¥" v-trim /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { getUserList } from '@/api/system/user' |
| | | export default { |
| | | name: 'newWarehouse', |
| | | extends: BaseOpera, |
| | |
| | | form: { |
| | | id: '', |
| | | name: '', |
| | | position: '', |
| | | userId: '', |
| | | sortnum: '', |
| | | remark: '', |
| | | status: 0 |
| | | }, |
| | | // éªè¯è§å |
| | | rules: { |
| | | name: [{ required: true, message: '请è¾å
¥é¡¹ç®åç§°', trigger: 'blur' }] |
| | | name: [{ required: true, message: 'ä»åºåç§°ä¸è½ä¸ºç©º', trigger: 'blur' }] |
| | | }, |
| | | userList: [] |
| | | } |
| | | }, |
| | | created() { |
| | | this.config({ |
| | | api: '/project/ywProject', |
| | | 'field.id': 'id' |
| | | api: '/ywWarehouse' |
| | | }) |
| | | this.getUser() |
| | | }, |
| | | methods: { |
| | | getUser() { |
| | | getUserList({}) |
| | | .then(res => { |
| | | this.userList = res |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |