| | |
| | | <div class="tool" v-show="['programmingTask','cureProgramTask', 'replaceProgrammingTask','appendProgrammingTask'].includes(row.taskDefinitionKey)"> |
| | | |
| | | <!--无固化的情况才显示该开关--> |
| | | <el-switch v-if="row.variables.hasCuredProgram!=='Y'" v-model="programOnMachine" active-text="现场编制" inactive-text="工艺员编制" /> |
| | | <el-switch v-if="row.variables.hasCuredProgram!=='Y'" v-model="programOnMachine" active-text="现场编制" inactive-text="工艺编制" /> |
| | | |
| | | <el-button type="primary" :disabled="programOnMachine" plain @click="addApp">添加文件 |
| | | <el-button type="primary" :disabled="programOnMachine" plain @click="addProgram">添加程序 |
| | | </el-button> |
| | | </div> |
| | | <el-text type="danger" v-if="row.variables.curedLocked === 'Y'">固化程序已锁定,请谨慎使用。锁定原因:{{ remark }}<br/></el-text> |
| | |
| | | <el-text type="warning">{{row.variables.unlockReason}}</el-text> |
| | | <el-text type="danger" v-if="row.variables.hasCuredProgram==='Y' && row.variables.isProcessEditionSame=='N' && row.variables.cureProgramUseable==undefined">已固化程序工序版次不一致,派工版次:{{row.variables.processEdition}},已固化版次:{{row.variables.curedProcessEdition}}</el-text> |
| | | <el-text type="danger" v-if="row.variables.programOnMachine=='Y'">现场编制</el-text> |
| | | <el-table :data="tableData" border @row-click="showContent" :row-style="{height:'20px'}" :cell-style="{padding:'0px'}" max-height="380" highlight-current-row> |
| | | |
| | | <el-table :data="tableDataProgram" border @row-click="showContent" :row-style="{height:'20px'}" :cell-style="{padding:'0px'}" max-height="380" highlight-current-row> |
| | | <el-table-column type="index" label="#" width="40" align="center" /> |
| | | <el-table-column prop="name" label="程序名称"> |
| | | <template #default="{ row }"> |
| | | <div style="display: flex;align-items: center;"> |
| | | <span style="margin-right: 8px;">{{ row.name }}</span> |
| | | <el-icon v-if="row.fileType === 'other'"> |
| | | <el-tooltip class="box-item" effect="light" content="其他文件" placement="right"> |
| | | <FolderOpened /> |
| | | </el-tooltip> |
| | | </el-icon> |
| | | <el-icon v-if="row.fileType === 'program'"> |
| | | <!-- |
| | | <el-icon> |
| | | <el-tooltip class="box-item" effect="light" content="程序文件" placement="right"> |
| | | <Tickets/> |
| | | </el-tooltip> |
| | | </el-icon> |
| | | |
| | | <!--<img v-else src="./app.jpg" alt="" width="16" height="16">--> |
| | | --> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" label="操作" width="150" align="center"> |
| | | <template #default="scope"> |
| | | <!--'cureProgramTask', 固化编制,不能删除和上传--> |
| | | <a style="color: blue;margin-right: 4px;cursor: pointer;font-size: 12px;" |
| | | v-show="['programmingTask', 'replaceProgrammingTask','appendProgrammingTask'].includes(row.taskDefinitionKey)" |
| | | type="text" size="small" @click.stop="del(scope.$index, scope.row)">删除</a> |
| | | <a style="color: blue;cursor: pointer;font-size: 12px;margin-right: 4px;" type="text" size="small" |
| | | @click.stop="downloadFile(scope.$index, scope.row)">下载</a> |
| | | <a style="color: blue;cursor: pointer;font-size: 12px;" type="text" size="small" |
| | | v-show="['program-cure'].includes(row.processDefinitionKey)" |
| | | @click.stop="diffFile(scope.$index, scope.row)">比对</a> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-divider></el-divider> |
| | | <div class="tool" v-show="['programmingTask','cureProgramTask', 'replaceProgrammingTask','appendProgrammingTask'].includes(row.taskDefinitionKey)"> |
| | | |
| | | <el-button type="primary" :disabled="programOnMachine" plain @click="addOtherFile">添加文件 |
| | | </el-button> |
| | | </div> |
| | | <el-table :data="tableDataAttatch" border @row-click="showContent" :row-style="{height:'20px'}" :cell-style="{padding:'0px'}" max-height="380" highlight-current-row> |
| | | <el-table-column type="index" label="#" width="40" align="center" /> |
| | | <el-table-column prop="name" label="文件名称"> |
| | | <template #default="{ row }"> |
| | | <div style="display: flex;align-items: center;"> |
| | | <span style="margin-right: 8px;">{{ row.name }}</span> |
| | | <!-- |
| | | <el-icon> |
| | | <el-tooltip class="box-item" effect="light" content="其他文件" placement="right"> |
| | | <FolderOpened /> |
| | | </el-tooltip> |
| | | </el-icon> |
| | | --> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <h5>程序内容</h5> |
| | | <div v-html="appContent" class="app-content"> |
| | | </div> |
| | | <el-dialog title="程序选择" v-model="appDialog" width="400" v-if="appDialog"> |
| | | <avue-form :option="attOption" v-model="attForm" :upload-after="uploadAfter" class="att-box"></avue-form> |
| | | <!-- <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="appDialog = false">取 消</el-button> |
| | | <el-button type="primary" @click="add">确 定</el-button> |
| | | </div> --> |
| | | <el-dialog title="上传程序文件" v-model="programDialog" width="400" v-if="programDialog"> |
| | | <avue-form :option="programOption" v-model="attForm" :upload-after="uploadAfter" class="att-box"></avue-form> |
| | | </el-dialog> |
| | | <el-dialog title="程序选择" v-model="diffDialog" width="80%"> |
| | | <el-dialog title="上传其他文件" v-model="otherFileDialog" width="400" v-if="otherFileDialog"> |
| | | <avue-form :option="otherFileOption" v-model="attForm" :upload-after="uploadAfter" class="att-box"></avue-form> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="文件比对" v-model="diffDialog" width="80%"> |
| | | <code-diff :old-string="this.content1" :new-string="this.content2" output-format="side-by-side" |
| | | :hideStat="true" :filename="codeDiffFileName1" :newFilename="codeDiffFileName2" /> |
| | | </el-dialog> |
| | |
| | | att: '', |
| | | fileType: 'program' |
| | | }, //程序上传表单 |
| | | attOption: { |
| | | programOption: {//程序文件上传 |
| | | submitBtn: false, |
| | | emptyBtn: false, |
| | | menu: false, |
| | | column: [ |
| | | { |
| | | label: '文件类型', |
| | | prop: 'fileType', |
| | | type: 'select', |
| | | span: 24, |
| | | clearable: false, |
| | | dicData: [ |
| | | { label: '程序文件', value: 'program' }, |
| | | { label: '其他文件', value: 'other' }, |
| | | ], |
| | | }, |
| | | |
| | | { |
| | | label: '添加文件', |
| | | prop: 'att', |
| | |
| | | }, |
| | | } |
| | | ] |
| | | }, //程序上传 |
| | | }, |
| | | otherFileOption: {//其他文件上传 |
| | | submitBtn: false, |
| | | emptyBtn: false, |
| | | menu: false, |
| | | column: [ |
| | | |
| | | { |
| | | label: '添加文件', |
| | | prop: 'att', |
| | | type: 'upload', |
| | | multiple: true, |
| | | action: '/api/blade-mdm/flow/mgr/ncupload', |
| | | span: 24, |
| | | data: { |
| | | processInstanceId: this.row.processInstanceId, |
| | | fileType: 'other', |
| | | }, |
| | | } |
| | | ] |
| | | }, |
| | | tableData: [],//已选程序 |
| | | tableDataProgram:[], //程序文件:tableData子集 |
| | | tableDataAttatch:[], //其他文件:tableData子集 |
| | | appContent: '',//程序内容 |
| | | appDialog: false, |
| | | //appDialog: false, |
| | | programDialog: false, //程序文件上传对话框model |
| | | otherFileDialog: false, //其他文件上传对话框model |
| | | |
| | | form: {}, |
| | | page: { |
| | | page: 1, |
| | |
| | | getAttList() { |
| | | getSelectedAppList(this.row.processInstanceId).then(res => { |
| | | if (res.data.code !== 200) { |
| | | this.$message.error('获取已选程序失败'); |
| | | this.$message.error('获取程序列表失败'); |
| | | return; |
| | | } else { |
| | | this.tableData = this.sortTable(res.data.data || []); |
| | | this.tableData = res.data.data;//this.sortTable(res.data.data || []); |
| | | |
| | | this.tableDataProgram = this.sortTable(this.tableData.filter(f => f.program==true)); |
| | | this.tableDataAttatch = this.sortTable(this.tableData.filter(f => f.program==false)); |
| | | } |
| | | // this.$emit('selection-change',this.tableData) |
| | | }) |
| | |
| | | }); |
| | | return data; |
| | | }, |
| | | addApp() { |
| | | this.appDialog = true; |
| | | |
| | | addProgram() { |
| | | this.programDialog = true; |
| | | }, |
| | | addOtherFile() { |
| | | this.otherFileDialog = true; |
| | | }, |
| | | currentChange(currentPage) { |
| | | this.page.currentPage = currentPage; |