| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:salaryparam:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | |
| | | <el-form-item label="ç©æä¿¡æ¯" prop="keyWord"> |
| | | <el-input v-model="searchForm.keyWord" placeholder="请è¾å
¥ç©æåç§°/ç¼ç " @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å·¥åº" prop="procedureName"> |
| | | <el-input v-model="searchForm.procedureName" placeholder="请è¾å
¥å·¥åº" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="计价æ¹å¼" prop="type"> |
| | | <el-select v-model="searchForm.type" placeholder="è¯·éæ©è®¡ä»·æ¹å¼" clearable> |
| | | <el-option |
| | | v-for="item in type" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </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> |
| | | <ul class="toolbar" v-permissions="['business:salaryparam:create', 'business:salaryparam:delete', 'business:salaryparam:exportExcel', 'business:salaryparam:importExcel']"> |
| | | <li><el-button type="primary" @click="$refs.operaSalaryParamWindow.open('æ°å»ºç»©æå·¥èµé
ç½®')" v-permissions="['business:salaryparam:create']">æ°å»º</el-button></li> |
| | | <li><el-button type="primary" @click="deleteByIdInBatch" v-permissions="['business:salaryparam:delete']">æ¹éå é¤</el-button></li> |
| | | <li> |
| | | <el-button type="primary" :loading="isWorking.export" v-permissions="['business:salaryparam:exportExcel']" @click="exportExcel">导åº</el-button> |
| | | </li> |
| | | <li v-permissions="['business:salaryparam:importExcel']"> |
| | | <ImportButton |
| | | text="导å
¥" |
| | | template-name="salary_import_template.xlsx" |
| | | template-path="/template/salary_import_template.xlsx" |
| | | action="/business/salaryParam/importBatch" |
| | | @success="search" |
| | | /> |
| | | </li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | border |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="id" label="åºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="type" label="计价æ¹å¼" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | {{ row.type == 0 ? '计件' : '计æ¶' }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="materialName" label="ç©æåç§°" min-width="140px"></el-table-column> |
| | | <el-table-column prop="materialCode" label="ç©æç¼ç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="procedureName" label="å·¥åºåç§°" min-width="100px"></el-table-column> |
| | | <el-table-column prop="salary" label="å·¥èµåä»·ï¼å
)" min-width="100px"></el-table-column> |
| | | <el-table-column prop="num" label="æ å产åº" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | {{ row.num == 0 ? '-' : row.num }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="times" label="æ åå·¥æ¶" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | {{ timesToStr(row.times) }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="unqualified" label="ä¸è¯åæ¯å¦è®¡å
¥" min-width="110px"> |
| | | <template slot-scope="{row}"> |
| | | {{ row.unqualified == 0 ? 'å¦' : 'æ¯' }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createTime" label="å建æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column prop="createUserName" label="å建人" min-width="100px"></el-table-column> |
| | | <!-- <el-table-column prop="updateTime" label="æ´æ°æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="remark" label="夿³¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="rootDepartId" label="主ç»ç»ç¼ç ï¼å
³èdepartmentè¡¨æ ¹ç»ç»ï¼" min-width="100px"></el-table-column> |
| | | <el-table-column prop="departId" label="å·¥åç¼ç ï¼å
³èdepartment表ï¼" min-width="100px"></el-table-column> |
| | | <el-table-column prop="bomId" label="bomç¼ç ï¼å
³èbom表ï¼" min-width="100px"></el-table-column> --> |
| | | |
| | | <el-table-column |
| | | v-if="containPermissions(['business:salaryparam:update', 'business:salaryparam:delete'])" |
| | | label="æä½" |
| | | min-width="120" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.operaSalaryParamWindow.open('ç¼è¾ç»©æå·¥èµé
', row)" v-permissions="['business:salaryparam:update']">ç¼è¾</el-button> |
| | | <el-button type="text" @click="deleteById(row)" v-permissions="['business:salaryparam:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaSalaryParamWindow ref="operaSalaryParamWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import ImportButton from '@/components/common/ImportButton' |
| | | import OperaSalaryParamWindow from '@/components/business/OperaSalaryParamWindow' |
| | | export default { |
| | | name: 'SalaryParam', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaSalaryParamWindow, ImportButton }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | keyWord: '', |
| | | procedureName: '', |
| | | type: '' |
| | | }, |
| | | type: [ |
| | | { label: '计件', value: '0' }, |
| | | { label: '计æ¶', value: '1' }, |
| | | ] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: '设置类-绩æå·¥èµé
置表', |
| | | api: '/business/salaryParam', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | timesToStr(times) { |
| | | |
| | | if (times==0||!times) { |
| | | return '-' |
| | | } |
| | | let sec = times%60 |
| | | let lesMin = Math.floor(times/60) |
| | | let min = lesMin%60 |
| | | let hours = Math.floor(lesMin/60) |
| | | return `${hours}æ¶${min}å${sec}ç§` |
| | | } |
| | | }, |
| | | } |
| | | </script> |