| | |
| | | trim: true |
| | | }) |
| | | } |
| | | |
| | | // å表æ¥è¯¢ |
| | | export function list(data) { |
| | | return request.post('/business/taxes/list', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | |
| | | <el-date-picker |
| | | @change="getTimeVal" |
| | | v-model="form.applyStartTime" |
| | | type="datetime" |
| | | type="date" |
| | | class="date_picker" |
| | | default-time="00:00:00" |
| | | :disabled="!form.solutionId" |
| | | :picker-options="pickerOptions" |
| | | value-format="yyyy-MM-dd hh:mm:ss" |
| | | format="yyyy-MM-dd hh:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="éæ©æ¥æ"> |
| | | </el-date-picker> |
| | | <span style="color: #F95601; font-size: 14px;">ï¼æ¬¡æ¥çææä¿è¯·äº17:30åæäº¤ï¼è¶
æ¶æäº¤ä»¥ä¿é©å为åï¼</span> |
| | |
| | | <el-date-picker |
| | | disabled |
| | | v-model="form.applyEndTime" |
| | | type="datetime" |
| | | default-time="00:00:00" |
| | | value-format="yyyy-MM-dd hh:mm:ss" |
| | | format="yyyy-MM-dd hh:mm:ss" |
| | | type="date" |
| | | class="date_picker" |
| | | :picker-options="pickerOptions" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="éæ©æ¥æ"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | |
| | | startDate: time |
| | | }).then(res => { |
| | | this.price = res.cyclePrice |
| | | this.form.applyEndTime = res.endDate.substring(0, 10) |
| | | this.form.applyEndTime = res.endDate |
| | | this.tableData.forEach(item => { |
| | | item.fee = res.cyclePrice |
| | | }) |
| | |
| | | v-model="form.applyStartTime" |
| | | type="date" |
| | | :picker-options="pickerOptions" |
| | | value-format="yyyy-MM-dd" |
| | | format="yyyy å¹´ MM æ dd æ¥" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="éæ©æ¥æ"> |
| | | </el-date-picker> |
| | | <span style="color: #F95601; font-size: 14px;">ï¼æ¬¡æ¥çææä¿è¯·äº17:30åæäº¤ï¼è¶
æ¶æäº¤ä»¥ä¿é©å为åï¼</span> |
| | |
| | | <div style="display: flex; flex-direction: column;"> |
| | | <el-date-picker |
| | | v-model="form.applyStartTime" |
| | | type="datetime" |
| | | type="date" |
| | | :picker-options="pickerOptions" |
| | | value-format="yyyy-MM-dd hh:mm:ss" |
| | | format="yyyy-MM-dd hh:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="éæ©æ¥æ"> |
| | | </el-date-picker> |
| | | <span style="color: #F95601; font-size: 14px;">ï¼æ¬¡æ¥çææä¿è¯·äº17:30åæäº¤ï¼è¶
æ¶æäº¤ä»¥ä¿é©å为åï¼</span> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="100%" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <div class="info"> |
| | | <div class="info_list"> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">å¼ç¥¨åç§°ï¼</div> |
| | | <div class="info_list_item_val">{{userInfo.company.name}}</div> |
| | | </div> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">纳ç¨äººè¯å«å·ï¼</div> |
| | | <div class="info_list_item_val">{{userInfo.company.code}}</div> |
| | | </div> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">弿·è¡ï¼</div> |
| | | <div class="info_list_item_val">{{userInfo.company.taxBank}}</div> |
| | | </div> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">è´¦å·ï¼</div> |
| | | <div class="info_list_item_val"> |
| | | {{userInfo.company.taxAccount}} |
| | | </div> |
| | | </div> |
| | | <div class="info_list_item" style="width: 100%;"> |
| | | <div class="info_list_item_label">å°åãçµè¯ï¼</div> |
| | | <div class="info_list_item_val">{{userInfo.company.invoiceAddr}} {{userInfo.company.phone}}</div> |
| | | </div> |
| | | <div class="info_list_item" style="width: 100%;"> |
| | | <div class="info_list_item_label">å¼ç¥¨éé¢ï¼</div> |
| | | <div class="info_list_item_val" style="color:rgba(249, 86, 1, 0.996078431372549);">{{total}}</div> |
| | | </div> |
| | | <div class="info_list_item" style="width: 100%;"> |
| | | <div class="info_list_item_label">æ¥æ¶æ¹å¼ï¼</div> |
| | | <div class="info_list_item_val">çµåå票</div> |
| | | <!-- <div v-if="model.type === 1" class="info_list_item_val">纸质å票</div>--> |
| | | </div> |
| | | </div> |
| | | <el-table |
| | | :data="form.list" |
| | | border |
| | | show-summary |
| | | :summary-method="getSummaries" |
| | | style="width: 100%; margin-bottom: 20px;"> |
| | | <el-table-column |
| | | label="åºå·" |
| | | align="center" |
| | | width="80"> |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | align="center" |
| | | prop="solutionsName" |
| | | label="ä¿é©æ¹æ¡"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | align="center" |
| | | prop="code" |
| | | label="ä¿åå·"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | align="center" |
| | | label="éé¢"> |
| | | <template slot-scope="{row}"> |
| | | <span style="color:rgba(249, 86, 1, 0.996078431372549);">{{row.totalPrice}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { mapState } from 'vuex' |
| | | export default { |
| | | name: 'entrustedInvoicingApplication', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | return { |
| | | form: { |
| | | id: null, |
| | | backInfo:'', |
| | | list: [] |
| | | }, |
| | | rules: { |
| | | backInfo: [ |
| | | { required: true, message: '请è¾å
¥éå说æ' } |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | console.log(this.userInfo) |
| | | this.config({ |
| | | api: '/business/taxes', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | computed: { |
| | | ...mapState(['userInfo']), |
| | | total () { |
| | | let price = 0 |
| | | this.form.list.forEach(item => { |
| | | price += item.totalPrice |
| | | }) |
| | | return price; |
| | | } |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | }) |
| | | }, |
| | | getSummaries (param) { |
| | | const { columns, data } = param |
| | | const sums = [] |
| | | columns.forEach((column, index) => { |
| | | if (index === 0) { |
| | | sums[index] = 'å计' |
| | | } else if (index == 4) { |
| | | let price = 0 |
| | | data.forEach(item => { |
| | | price += item.totalPrice |
| | | }) |
| | | sums[index] = price |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | ::v-deep .el-table__footer-wrapper tbody td { |
| | | cursor: pointer; |
| | | text-align: center; |
| | | &:nth-child(5) { |
| | | color:rgba(249, 86, 1, 0.996078431372549); |
| | | } |
| | | } |
| | | /* ::v-deep .el-table__header-wrapper th:first-child .cell{ |
| | | color:rgba(249, 86, 1, 0.996078431372549) !important |
| | | } |
| | | ::v-deep table:first-of-type th:first-child .cell{ |
| | | //color:rgba(249, 86, 1, 0.996078431372549) !important |
| | | } |
| | | ::v-deep .el-table--border th:first-child .cell { |
| | | &:nth-child(2) { |
| | | color:rgba(249, 86, 1, 0.996078431372549); |
| | | } |
| | | }*/ |
| | | |
| | | |
| | | .info { |
| | | width: 100%; |
| | | .info_label { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-bottom: 20px; |
| | | span { |
| | | font-size: 14px; |
| | | font-weight: 500; |
| | | color: #000000; |
| | | } |
| | | } |
| | | .info_list { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: left; |
| | | flex-wrap: wrap; |
| | | .info_list_item { |
| | | width: 50%; |
| | | display: flex; |
| | | align-items: start; |
| | | font-size: 14px; |
| | | margin-bottom: 20px; |
| | | .info_list_item_label { |
| | | width: 150px; |
| | | flex-shrink: 0; |
| | | } |
| | | .info_list_item_val { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | .image { |
| | | width: 100px; |
| | | height: 100px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | overflow: hidden; |
| | | img { |
| | | width: 100%; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .form { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .form_item { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | &:last-child { |
| | | margin-bottom: 0 !important; |
| | | } |
| | | .form_item_label { |
| | | width: 100px; |
| | | flex-shrink: 0; |
| | | font-size: 14px; |
| | | color: black; |
| | | } |
| | | .form_item_val { |
| | | flex: 1; |
| | | min-height: 35px; |
| | | display: flex; |
| | | align-items: center; |
| | | input { |
| | | width: 100%; |
| | | height: 100%; |
| | | font-size: 14px; |
| | | color: black; |
| | | padding: 5px 10px; |
| | | outline: none; |
| | | box-sizing: border-box; |
| | | border: 1px solid #ececec; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="100%" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <div style="width: 100%; display: flex; align-items: center; margin-bottom: 20px;"> |
| | | ä¿é©æ¹æ¡ï¼{{form.solutionsName}} <div style="width: 20px;"></div> ä¿åå·ï¼{{form.code || '-'}} |
| | | </div> |
| | | <el-table |
| | | :data="list" |
| | | border |
| | | ref="table" |
| | | style="width: 100%"> |
| | | <el-table-column label="åºå·" width="80px"> |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="solutionName" |
| | | label="ç³è¯·å¼ç¥¨æ¶é´"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="bdCode" |
| | | label="å¼ç¥¨ç¶æ"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="applyChangeId" |
| | | label="å¼ç¥¨éé¢ï¼å
ï¼"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="duName" |
| | | label="æ¥æ¶æ¹å¼"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="æä½"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text">ç³è¯·è¯¦æ
</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { list } from '@/api/business/taxes' |
| | | export default { |
| | | name: 'entrustmentHistory', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | return { |
| | | form: { |
| | | id: null, |
| | | solutionsName: '', |
| | | code: '' |
| | | }, |
| | | list: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/dispatchUnit', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | // ç¼è¾ |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | this.getList() |
| | | }) |
| | | }, |
| | | getList() { |
| | | list({ insuranceApplyId: this.form.id }) |
| | | .then(res => { |
| | | console.log(res) |
| | | this.list = res |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <div style="display: flex; flex-direction: column;"> |
| | | <el-date-picker |
| | | v-model="form.applyStartTime" |
| | | type="datetime" |
| | | type="date" |
| | | :picker-options="pickerOptions" |
| | | value-format="yyyy-MM-dd hh:mm:ss" |
| | | format="yyyy-MM-dd hh:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="éæ©æ¥æ"> |
| | | </el-date-picker> |
| | | <span style="color: #F95601; font-size: 14px;">ï¼æ¬¡æ¥çææä¿è¯·äº17:30åæäº¤ï¼è¶
æ¶æäº¤ä»¥ä¿é©å为åï¼</span> |
| | |
| | | end-placeholder="ç»ææ¥æ"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="ç³è¯·å¼ç¥¨ä¼ä¸" prop="companyId"> |
| | | <el-form-item label="ç³è¯·å¼ç¥¨ä¼ä¸" prop="companyId" v-if="userInfo.type === 0"> |
| | | <el-select v-model="searchForm.companyId" placeholder="è¯·éæ©" @change="search"> |
| | | <el-option |
| | | v-for="item in companyList" |
| | |
| | | <span v-if="row.status === 3">å·²å²çº¢</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyName" label="ç³è¯·ä¼ä¸" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="ç³è¯·ä¼ä¸" min-width="100px" v-if="userInfo.type === 0"></el-table-column> |
| | | <el-table-column prop="createDate" label="ç³è¯·å¼ç¥¨æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="creatorName" label="ç³è¯·äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="price" label="å¼ç¥¨éé¢ï¼å
ï¼" min-width="100px"></el-table-column> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="æä½" min-width="180px"> |
| | | <template slot-scope="{row}"> |
| | | <el-button v-if="row.status==0" type="text" @click="$refs.OperaTaxesUploadWindow.open('ä¸ä¼ å票',row)">ä¸ä¼ å票</el-button> |
| | | <el-button v-if="row.status ==1 " type="text" @click="$refs.OperaTaxesUploadWindow.open('ä¿®æ¹å票',row)">ä¿®æ¹å票</el-button> |
| | | <el-button type="text" @click="$refs.OperaTaxesWindow.open('ç³è¯·è¯¦æ
',row)">ç³è¯·è¯¦æ
</el-button> |
| | | <el-button v-if="row.status == 0" type="text" @click="$refs.OperaTaxesUploadWindow.open('ä¸ä¼ å票',row)">ä¸ä¼ å票</el-button> |
| | | <el-button v-if="row.status == 1 && userInfo.type === 0" type="text" @click="$refs.OperaTaxesUploadWindow.open('ä¿®æ¹å票',row)">ä¿®æ¹å票</el-button> |
| | | <el-button type="text" @click="$refs.OperaTaxesWindow.open('ç³è¯·è¯¦æ
',row)">ç³è¯·è¯¦æ
</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | import { pageAll as companyAll } from '@/api/business/company' |
| | | import { doneApply } from '@/api/business/taxes' |
| | | import UploadAvatarImage from '@/components/common/UploadAvatarImage' |
| | | import { mapState } from 'vuex' |
| | | export default { |
| | | name: 'Taxes', |
| | | extends: BaseTable, |
| | |
| | | visible: false |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState(['userInfo']) |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'å票信æ¯è¡¨', |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul style="margin-bottom: 30px;width: 100%;display: flex;align-items: center;justify-content: space-between;"> |
| | | <li style="font-size: 18px;font-weight: bold;">ç³è¯·å¼ç¥¨</li> |
| | | <li><el-button type="primary" @click="apply">æäº¤å¼ç¥¨</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" fixed="left" width="55"></el-table-column> |
| | | <el-table-column label="åºå·" width="80px"> |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="statusInfo" label="ç¶æ"></el-table-column> |
| | | <el-table-column prop="solutionsName" label="ä¿é©æ¹æ¡"></el-table-column> |
| | | <el-table-column prop="code" label="ä¿åå·"></el-table-column> |
| | | <el-table-column label="产çè´¹ç¨ï¼å
ï¼"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.currentFee}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="å·²å¼ç¥¨è´¹ç¨ï¼å
ï¼"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.taxesMoney}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="fee" label="æªå¼ç¥¨è´¹ç¨ï¼å
ï¼"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.currentFee - row.taxesMoney}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="taxesLast" label="䏿¬¡å¼ç¥¨æ¶é´"></el-table-column> |
| | | <el-table-column prop="startTime" label="æä¿çææ¥æ"></el-table-column> |
| | | <el-table-column prop="endTime" label="æä¿å¤±ææ¥æ"></el-table-column> |
| | | <el-table-column label="æä½" min-width="180px"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.entrustmentHistory.open('å¼ç¥¨åå²', row)">å¼ç¥¨åå²</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- ç³è¯· --> |
| | | <entrustedInvoicingApplication ref="entrustedInvoicingApplication" @success="handlePageChange" /> |
| | | <!-- å¼ç¥¨åå² --> |
| | | <entrustmentHistory ref="entrustmentHistory" @success="handlePageChange" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import entrustedInvoicingApplication from '@/components/enterprise/entrustedInvoicingApplication' |
| | | import entrustmentHistory from '@/components/enterprise/entrustmentHistory' |
| | | export default { |
| | | name: 'directInvoicing', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, entrustedInvoicingApplication, entrustmentHistory }, |
| | | data () { |
| | | return { |
| | | searchForm: { |
| | | type: 0 |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'æä¿ç³è¯·ä¿¡æ¯è¡¨', |
| | | api: '/business/insuranceApply', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | apply() { |
| | | if (this.tableData.selectedRows.length === 0) { |
| | | this.$message.warning('è³å°éæ©ä¸é¡¹å
容') |
| | | return |
| | | } |
| | | for (let i = 0; i < this.tableData.selectedRows.length; i++) { |
| | | if (this.tableData.selectedRows[i].currentFee - this.tableData.selectedRows[i].taxesMoney === 0) { |
| | | this.$message.warning(`第${i + 1}项å¯å¼ç¥¨éé¢ä¸º0ï¼ä¸è½è¿è¡å¼ç¥¨ï¼`) |
| | | return |
| | | } |
| | | } |
| | | let obj = {} |
| | | obj.list = JSON.parse(JSON.stringify(this.tableData.selectedRows)) |
| | | obj.list.forEach(item => { |
| | | item.totalPrice = item.currentFee - item.taxesMoney |
| | | }) |
| | | console.log(obj.list) |
| | | this.$refs.entrustedInvoicingApplication.open('ç³è¯·å¼ç¥¨', obj) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .form { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .form_item { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | &:last-child { |
| | | margin-bottom: 0 !important; |
| | | } |
| | | .form_item_label { |
| | | width: 100px; |
| | | flex-shrink: 0; |
| | | font-size: 14px; |
| | | color: black; |
| | | } |
| | | .form_item_val { |
| | | flex: 1; |
| | | min-height: 35px; |
| | | display: flex; |
| | | align-items: center; |
| | | input { |
| | | width: 100%; |
| | | height: 100%; |
| | | font-size: 14px; |
| | | color: black; |
| | | padding: 5px 10px; |
| | | outline: none; |
| | | box-sizing: border-box; |
| | | border: 1px solid #ececec; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul style="margin-bottom: 30px;width: 100%;display: flex;align-items: center;justify-content: space-between;"> |
| | | <li style="font-size: 18px;font-weight: bold;">ç³è¯·å¼ç¥¨</li> |
| | | <li><el-button type="primary" @click="apply">æäº¤å¼ç¥¨</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" fixed="left" width="55"></el-table-column> |
| | | <el-table-column label="åºå·" width="80px"> |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="statusInfo" label="ç¶æ"></el-table-column> |
| | | <el-table-column prop="solutionsName" label="ä¿é©æ¹æ¡"></el-table-column> |
| | | <el-table-column prop="code" label="ä¿åå·"></el-table-column> |
| | | <el-table-column label="产çè´¹ç¨ï¼å
ï¼"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.currentFee}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="å·²å¼ç¥¨è´¹ç¨ï¼å
ï¼"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.taxesMoney}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="fee" label="æªå¼ç¥¨è´¹ç¨ï¼å
ï¼"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.currentFee - row.taxesMoney}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="taxesLast" label="䏿¬¡å¼ç¥¨æ¶é´"></el-table-column> |
| | | <el-table-column prop="startTime" label="æä¿çææ¥æ"></el-table-column> |
| | | <el-table-column prop="endTime" label="æä¿å¤±ææ¥æ"></el-table-column> |
| | | <el-table-column label="æä½" min-width="180px"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.entrustmentHistory.open('å¼ç¥¨åå²', row)">å¼ç¥¨åå²</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- ç³è¯· --> |
| | | <entrustedInvoicingApplication ref="entrustedInvoicingApplication" @success="handlePageChange" /> |
| | | <!-- å¼ç¥¨åå² --> |
| | | <entrustmentHistory ref="entrustmentHistory" @success="handlePageChange" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import entrustedInvoicingApplication from '@/components/enterprise/entrustedInvoicingApplication' |
| | | import entrustmentHistory from '@/components/enterprise/entrustmentHistory' |
| | | export default { |
| | | name: 'entrustedInvoicing', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, entrustedInvoicingApplication, entrustmentHistory }, |
| | | data () { |
| | | return { |
| | | searchForm: { |
| | | type: 1 |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'æä¿ç³è¯·ä¿¡æ¯è¡¨', |
| | | api: '/business/insuranceApply', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | apply() { |
| | | if (this.tableData.selectedRows.length === 0) { |
| | | this.$message.warning('è³å°éæ©ä¸é¡¹å
容') |
| | | return |
| | | } |
| | | for (let i = 0; i < this.tableData.selectedRows.length; i++) { |
| | | if (this.tableData.selectedRows[i].currentFee - this.tableData.selectedRows[i].taxesMoney === 0) { |
| | | this.$message.warning(`第${i + 1}项å¯å¼ç¥¨éé¢ä¸º0ï¼ä¸è½è¿è¡å¼ç¥¨ï¼`) |
| | | return |
| | | } |
| | | } |
| | | let obj = {} |
| | | obj.list = JSON.parse(JSON.stringify(this.tableData.selectedRows)) |
| | | obj.list.forEach(item => { |
| | | item.totalPrice = item.currentFee - item.taxesMoney |
| | | }) |
| | | console.log(obj.list) |
| | | this.$refs.entrustedInvoicingApplication.open('ç³è¯·å¼ç¥¨', obj) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .form { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .form_item { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | &:last-child { |
| | | margin-bottom: 0 !important; |
| | | } |
| | | .form_item_label { |
| | | width: 100px; |
| | | flex-shrink: 0; |
| | | font-size: 14px; |
| | | color: black; |
| | | } |
| | | .form_item_val { |
| | | flex: 1; |
| | | min-height: 35px; |
| | | display: flex; |
| | | align-items: center; |
| | | input { |
| | | width: 100%; |
| | | height: 100%; |
| | | font-size: 14px; |
| | | color: black; |
| | | padding: 5px 10px; |
| | | outline: none; |
| | | box-sizing: border-box; |
| | | border: 1px solid #ececec; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |