| | |
| | | upInsOrder: "/insOrder/upInsOrder", //æ£éªä¸å |
| | | getInsOrder: "/insOrder/getInsOrder", //æ¥è¯¢æ£éªä¸åå
容详æ
|
| | | upInsOrderOfState: "/insOrder/upInsOrderOfState", //å®¡æ ¸æ£éªåæºè¿è¡ç¶æä¿®æ¹ |
| | | addInsOrderTemplate: "/insOrder/addInsOrderTemplate", //æ·»å æ£éªåæ¨¡æ¿ |
| | | selectInsOrderTemplate: "/insOrder/selectInsOrderTemplate", //æ¥è¯¢æ£éªåæ¨¡æ¿ |
| | | selectInsOrderTemplateById: "/insOrder/selectInsOrderTemplateById", //éè¿æ£éªå模æ¿idè·åæ£éªå模æ¿å
容 |
| | | delInsOrderTemplate: "/insOrder/delInsOrderTemplate", //å 餿£éªåæ¨¡æ¿ |
| | | } |
| | | |
| | | const sampleOrder = { |
| | |
| | | <el-row class="title"> |
| | | <el-col :span="6" style="padding-left: 20px;">å§æåä¿¡æ¯</el-col> |
| | | <el-col :span="18" style="text-align: right;"> |
| | | <el-select v-model="template" size="medium" placeholder="ä¸å模æ¿" style="margin-right: 10px;" v-show="active==1"> |
| | | <el-option v-for="(a, ai) in templates" :key="ai" :value="a.value" :label="a.label"> |
| | | <span style="float: left">{{ a.label }}</span> |
| | | <i class="el-icon-delete" style="float: right; color: #66b1ff; font-size: 16px" @click.stop="handleDelete"></i> |
| | | <el-select v-model="template" size="medium" placeholder="ä¸å模æ¿" style="margin-right: 10px;" v-show="active==1" @change="selectInsOrderTemplateById"> |
| | | <el-option v-for="(a, ai) in templates" :key="ai" :value="a.id" :label="a.name"> |
| | | <span style="float: left">{{ a.name }}</span> |
| | | <i class="el-icon-delete" style="float: right; color: #66b1ff; font-size: 16px" @click.stop="handleDelete(a)"></i> |
| | | </el-option> |
| | | </el-select> |
| | | <el-button size="medium" @click="templateDia=true" v-show="active==1"> |
| | |
| | | data() { |
| | | return { |
| | | template: null, |
| | | templates: [ |
| | | { |
| | | label:'0000', |
| | | value:1 |
| | | } |
| | | ], |
| | | templates: [], |
| | | addObj: { |
| | | entrustCode: null, |
| | | custom: null, |
| | |
| | | this.selectEnumByCategoryForType() |
| | | this.getUserNow() |
| | | this.selectStandardTreeList() |
| | | this.selectInsOrderTemplate() |
| | | if(this.active==1){ |
| | | // ä¸åæµç¨ |
| | | }else { |
| | |
| | | this.selectUserDia = false |
| | | }, |
| | | save() { |
| | | this.saveLoad = true |
| | | this.$axios.post(this.$api.insOrder.addInsOrder,{ |
| | | insOrder: this.addObj, |
| | | list: this.sampleList |
| | | },{ |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res=>{ |
| | | this.saveLoad = false |
| | | if(res.code==201)return |
| | | this.$message.success('å·²æäº¤') |
| | | this.$parent.playOrder(0) |
| | | }) |
| | | if(!this.addObj.custom){ |
| | | this.$message.error('æªéæ©ä¸å客æ·') |
| | | }else if(!this.addObj.type){ |
| | | this.$message.error('æªéæ©ç´§æ¥ç¨åº¦') |
| | | }else if(this.sampleList.length<1){ |
| | | this.$message.error('请添å ä¸ä¸ªæ ·å') |
| | | }else if(!this.sampleList.every(m=>m.sampleCode)){ |
| | | this.$message.error('è¾å
¥æ ·åç¼å·') |
| | | }else{ |
| | | this.saveLoad = true |
| | | this.$axios.post(this.$api.insOrder.addInsOrder,{ |
| | | insOrder: this.addObj, |
| | | list: this.sampleList |
| | | },{ |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res=>{ |
| | | this.saveLoad = false |
| | | if(res.code==201)return |
| | | this.$message.success('å·²æäº¤') |
| | | this.$parent.playOrder(0) |
| | | }) |
| | | } |
| | | }, |
| | | upInsOrderOfState(state){ |
| | | this.saveLoad = true |
| | |
| | | } |
| | | return ''; |
| | | }, |
| | | selectInsOrderTemplate(){ |
| | | this.$axios.get(this.$api.insOrder.selectInsOrderTemplate).then(res=>{ |
| | | if(res.code==201)return |
| | | this.templates = res.data |
| | | }) |
| | | }, |
| | | // å 餿¨¡æ¿--è°ç¨æ¥å£ |
| | | handleDelete(){ |
| | | handleDelete(row){ |
| | | this.$confirm('æ¯å¦å é¤å½åæ°æ®?', "è¦å", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning" |
| | | }).then(() => { |
| | | // this.$axios.post(this.delUrl, { |
| | | // id: row.id |
| | | // }).then(res => { |
| | | // if (res.code === 201) { |
| | | // return |
| | | // } |
| | | // this.$message.success('å 餿å') |
| | | // this.selectList() |
| | | // }).catch(e => { |
| | | // this.$message.error('å é¤å¤±è´¥') |
| | | // }) |
| | | this.$axios.post(this.$api.insOrder.delInsOrderTemplate, { |
| | | id: row.id |
| | | }).then(res => { |
| | | if (res.code === 201) { |
| | | return |
| | | } |
| | | this.$message.success('å 餿å') |
| | | this.selectInsOrderTemplate() |
| | | }).catch(e => { |
| | | this.$message.error('å é¤å¤±è´¥') |
| | | }) |
| | | }).catch(() => {}) |
| | | }, |
| | | // ä¿åæ¨¡æ¿ |
| | | addTemplateDia(){ |
| | | if(this.templateName){ |
| | | this.templateLoading = true; |
| | | this.$axios.post(this.$api.insOrder.addInsOrderTemplate,{ |
| | | name:this.templateName, |
| | | thing:JSON.stringify({addObj:this.addObj,sampleList:this.sampleList}) |
| | | },{ |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res=>{ |
| | | if(res.code==201)return |
| | | this.templateLoading = false; |
| | | this.templateDia = false; |
| | | this.$message.success('ä¿åæå') |
| | | this.selectInsOrderTemplate() |
| | | this.templateName = '' |
| | | }) |
| | | }else{ |
| | | this.$message.error('è¯·å¡«åæ¨¡æ¿åç§°') |
| | | } |
| | | } |
| | | }, |
| | | // æ¥è¯¢æ¨¡æ¿ |
| | | selectInsOrderTemplateById(e){ |
| | | this.$axios.post(this.$api.insOrder.selectInsOrderTemplateById+'?id='+e).then(res=>{ |
| | | if(res.code==201)return |
| | | let obj = JSON.parse(res.data) |
| | | this.addObj = obj.addObj; |
| | | this.sampleList = obj.sampleList; |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <style scoped> |
| | | .title { |
| | | height: 60px; |
| | | line-height: 60px; |
| | | } |
| | | |
| | | .search { |
| | | background-color: #fff; |
| | | height: 80px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .search_thing { |
| | | display: flex; |
| | | align-items: center; |
| | | height: 50px; |
| | | } |
| | | |
| | | .search_label { |
| | | width: 120px; |
| | | font-size: 14px; |
| | | text-align: right; |
| | | } |
| | | |
| | | .search_input { |
| | | width: calc(100% - 120px); |
| | | } |
| | | |
| | | .table { |
| | | margin-top: 10px; |
| | | background-color: #fff; |
| | | width: calc(100% - 40px); |
| | | height: calc(100% - 60px - 80px - 10px - 40px); |
| | | padding: 20px; |
| | | } |
| | | |
| | | .el-form-item { |
| | | margin-bottom: 16px; |
| | | } |
| | | </style> |
| | | |
| | | <template> |
| | | <div class="inspection_order"> |
| | | <div style="width: 100%;height: 100%;"> |
| | | <div> |
| | | <el-row class="title"> |
| | | <el-col :span="12" style="padding-left: 20px;">æ¥åç¼å¶</el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="search"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">æ ·ååç§°ï¼</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请è¾å
¥" clearable |
| | | v-model="componentData.entity.sample" @keyup.enter.native="refreshTable()"></el-input></div> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label">ç¶æï¼</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="componentData.entity.status" placeholder="å
¨é¨"> |
| | | <el-option |
| | | v-for="item in statusList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <div class="search_thing" style="padding-left: 30px;"> |
| | | <el-button size="small" @click="refresh()">é ç½®</el-button> |
| | | <el-button size="small" type="primary" @click="refreshTable()">æ¥ è¯¢</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <ValueTable ref="ValueTable" :url="$api.insOrder.selectInsOrderParameter" :componentData="componentData" |
| | | :key="upIndex" @handleWeave="handleWeave"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ValueTable from '../tool/value-table.vue' |
| | | export default { |
| | | components: { |
| | | ValueTable |
| | | }, |
| | | data() { |
| | | return { |
| | | componentData: { |
| | | entity: { |
| | | entrustCode: null, |
| | | sample: null, |
| | | state: 1, |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'asc' |
| | | } |
| | | }, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: false, |
| | | do: [{ |
| | | id: 'handleWeave', |
| | | font: 'å¨çº¿ç¼å¶', |
| | | type: 'text', |
| | | method: 'handleWeave', |
| | | disabFun: (row, index) => { |
| | | return row.state != 1 |
| | | } |
| | | }, { |
| | | id: 'download', |
| | | font: 'ä¸è½½', |
| | | type: 'text', |
| | | method: 'download', |
| | | disabFun: (row, index) => { |
| | | return row.state != 1 |
| | | } |
| | | }, { |
| | | id: 'handleUpload', |
| | | font: 'ä¸ä¼ ', |
| | | type: 'text', |
| | | method: 'handleUpload', |
| | | disabFun: (row, index) => { |
| | | return row.state != 0 |
| | | } |
| | | }, { |
| | | id: 'handlRestore', |
| | | font: 'è¿å', |
| | | type: 'text', |
| | | method: 'handleRestore' |
| | | }, { |
| | | id: 'handleIssued', |
| | | font: 'å®¡æ ¸', |
| | | type: 'text', |
| | | method: 'handleIssued', |
| | | disabFun: (row, index) => { |
| | | return row.state != 1 || row.sendTime != null |
| | | } |
| | | }, { |
| | | id: 'handleApprove', |
| | | font: 'æ¹å', |
| | | type: 'text', |
| | | method: 'handleApprove', |
| | | disabFun: (row, index) => { |
| | | return row.state != 1 || row.sendTime != null |
| | | } |
| | | }], |
| | | linkEvent:{ |
| | | entrustCode:{ |
| | | method:'selectAllByOne' |
| | | } |
| | | }, |
| | | tagField: { |
| | | type: { |
| | | select: [{ |
| | | value: 0, |
| | | type: 'success', |
| | | label: 'æ®é' |
| | | }, { |
| | | value: 1, |
| | | type: 'warning', |
| | | label: 'ä¼å
' |
| | | }, { |
| | | value: 2, |
| | | type: 'danger', |
| | | label: 'ç´§æ¥' |
| | | }] |
| | | }, |
| | | createUser: { |
| | | select: [] |
| | | } |
| | | }, |
| | | selectField: {}, |
| | | requiredAdd: [], |
| | | requiredUp: [] |
| | | }, |
| | | entityCopy: {}, |
| | | upIndex: 0, |
| | | statusList:[] |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.entityCopy = this.HaveJson(this.componentData.entity) |
| | | this.getPower() |
| | | }, |
| | | methods: { |
| | | refreshTable() { |
| | | this.$refs['ValueTable'].selectList() |
| | | }, |
| | | refresh() { |
| | | this.componentData.entity = this.HaveJson(this.entityCopy) |
| | | this.upIndex++ |
| | | }, |
| | | handleWeave(){}, |
| | | // æéåé
|
| | | getPower(radio) { |
| | | let power = JSON.parse(sessionStorage.getItem('power')) |
| | | let up = false |
| | | let del = false |
| | | let add = false |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == 'upInsOrder') { |
| | | up = true |
| | | } |
| | | if (power[i].menuMethod == 'addInsOrder') { |
| | | add = true |
| | | } |
| | | } |
| | | if (!up) { |
| | | this.componentData.do.splice(4, 1) |
| | | } |
| | | }, |
| | | handleClose() { |
| | | |
| | | this.upLoad = false; |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | }, { |
| | | v: "æ¥åç¼å¶", |
| | | i: "font icon-erjidaohang", |
| | | u: "", |
| | | u: "b1-report-preparation", |
| | | p: "" |
| | | }, { |
| | | v: "è´¹ç¨ç»è®¡", |