| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel" |
| | | v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" |
| | | :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset" |
| | | @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" |
| | | @refresh-change="refreshChange" @on-load="onLoad"> |
| | | v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen" |
| | | @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange" |
| | | @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"> |
| | | <template slot="confirmFlag" slot-scope="{row}"> |
| | | <el-tag size="small" :type="showConfirmFlag(row.confirmFlag).type"> |
| | | {{ showConfirmFlag(row.confirmFlag).text }} |
| | |
| | | </template> |
| | | |
| | | <template slot-scope="scope" slot="menu"> |
| | | <el-button v-if="permission.report_for_repairs_details" size="small" type="text" |
| | | icon="el-icon-document-remove" @click="rowExpansion(scope.row)"> |
| | | <el-button v-if="permission.report_for_repairs_details" size="small" type="text" icon="el-icon-document-remove" |
| | | @click="rowExpansion(scope.row)"> |
| | | 详情 |
| | | </el-button> |
| | | |
| | | <el-button v-if="permission.report_for_repairs_reply" size="small" type="text" |
| | | icon="el-icon-chat-dot-square" :disabled="scope.row.confirmFlag === 3" |
| | | @click="replyBtnClick(scope.row)"> |
| | | <el-button v-if="permission.report_for_repairs_reply" size="small" type="text" icon="el-icon-chat-dot-square" |
| | | :disabled="scope.row.confirmFlag === 3" @click="replyBtnClick(scope.row)"> |
| | | 回复 |
| | | </el-button> |
| | | |
| | | <el-button v-if="permission.report_for_repairs_turn_over" size="small" type="text" |
| | | icon="el-icon-document-copy" :disabled="scope.row.confirmFlag === 3" |
| | | @click="turnOverBtnClick(scope.row)"> |
| | | <el-button v-if="permission.report_for_repairs_turn_over" size="small" type="text" icon="el-icon-document-copy" |
| | | :disabled="scope.row.confirmFlag === 3" @click="turnOverBtnClick(scope.row)"> |
| | | 移交 |
| | | </el-button> |
| | | |
| | |
| | | <avue-form ref="replyForm" :option="replyOption" v-model="replyForm" @submit="handleSubmit" |
| | | @reset-change="handleReset"> |
| | | <template slot-scope="{row}" slot="videoList"> |
| | | <el-upload class="video-uploader" action="/api/blade-resource/oss/endpoint/put-file" |
| | | :file-list="fileList" :headers="updateHeader" :show-file-list="true" :limit="1" :on-change="getFile" |
| | | :on-exceed="handleExceed" :on-success="uploadVideoProcess" :before-upload="beforeUploadVideo" |
| | | :before-remove="beforeRemove"> |
| | | <el-upload class="video-uploader" action="/api/blade-resource/oss/endpoint/put-file" :file-list="fileList" |
| | | :headers="updateHeader" :show-file-list="true" :limit="1" :on-change="getFile" :on-exceed="handleExceed" |
| | | :on-success="uploadVideoProcess" :before-upload="beforeUploadVideo" :before-remove="beforeRemove"> |
| | | <el-button size="small" type="primary">点击上传</el-button> |
| | | <div slot="tip" class="el-upload__tip">上传视频只能是 mp4 格式,且大小不能超过 50MB</div> |
| | | </el-upload> |
| | |
| | | //stripe:true, |
| | | // excelBtn: true, |
| | | dialogClickModal: false, |
| | | column: [ |
| | | { |
| | | column: [{ |
| | | width: 96, |
| | | label: "类型", |
| | | prop: "type", |
| | |
| | | search: true, |
| | | searchSpan: 3, |
| | | slot: true, |
| | | rules: [ |
| | | { |
| | | rules: [{ |
| | | validator: validatorPhone, |
| | | trigger: 'blur' |
| | | } |
| | | ], |
| | | }], |
| | | }, |
| | | |
| | | { |
| | |
| | | }, |
| | | |
| | | handleSubmit (form, done) { |
| | | |
| | | if (form.imageList.length > 0) { |
| | | var urls = [] |
| | | var split = form.imageList.split(",").filter(item => item != '') |
| | | split.forEach(url => { |
| | | var names = url.split("jczz/") |
| | | urls.push(names[1]) |
| | | }) |
| | | form.imageList = urls.join(",") |
| | | } |
| | | // if (form.imageList.length > 0) { |
| | | // var urls = [] |
| | | // var split = form.imageList.split(",").filter(item => item != '') |
| | | // split.forEach(url => { |
| | | // var names = url.split("jczz/") |
| | | // urls.push(names[1]) |
| | | // }) |
| | | // form.imageList = urls.join(",") |
| | | // } |
| | | |
| | | this.saveReply({ |
| | | ...form, |
| | | videoList: this.fileList.map(item => item.response.data.link).join(','), |
| | |
| | | item.imageUrls = urls.join(",") |
| | | } |
| | | } |
| | | if (item.taskRepairStepList.length > 0) { |
| | | item.taskRepairStepList.forEach(ee => { |
| | | if (ee.imageList) { |
| | | if (ee.imageList.length > 0) { |
| | | var urls = [] |
| | | var names = ee.imageList.split(",") |
| | | names.forEach(name => { |
| | | urls.push(website.minioUrl + name) |
| | | }) |
| | | ee.imageList = urls.join(",") |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | this.loading = false |
| | | this.selectionClear() |