| | |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-row :gutter="24"> |
| | | <a-col |
| | | :span="6" |
| | | > |
| | | <a-form-item |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | label="åæ®å·" |
| | | > |
| | | <a-input |
| | | placeholder="请è¾å
¥åæ®å·æ¥è¯¢" |
| | | v-model="queryParam.num" |
| | | ></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | |
| | | |
| | | <!-- æä½æé®åºå --> |
| | | <div class="table-operator"> |
| | | <a-button @click="handleAdd" type="primary" icon="plus">æ°å¢</a-button> |
| | | <a-button |
| | | type="primary" |
| | | @click="searchQuery" |
| | | icon="search" |
| | | >æ¥è¯¢</a-button> |
| | | <a-button |
| | | @click="searchReset" |
| | | icon="reload" |
| | | >éç½®</a-button> |
| | | <a-button @click="handleAdd" type="primary" icon="plus" v-if="nodeSort===1">æ°å¢</a-button> |
| | | <!-- <a-button type="primary" icon="download" @click="handleExportXls('设å¤ABCè¯ä»·')">导åº</a-button> |
| | | <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> |
| | | <a-button type="primary" icon="import">导å
¥</a-button> |
| | |
| | | ä¸è½½ |
| | | </a-button> |
| | | </template> |
| | | |
| | | <span slot="action" slot-scope="text, record"> |
| | | <a @click="handleEdit(record)">ç¼è¾</a> |
| | | |
| | | <div v-if="nodeValue===record.status"> |
| | | <a @click="handleStreamNext(record)" :disabled="nodeSort===1&&nodeValue!==record.status" >{{button1.name}}</a> |
| | | <a-divider type="vertical" /> |
| | | <a @click="handleStreamLast(record)" :disabled="nodeSort===1" >{{button2.name}}</a> |
| | | </div> |
| | | <div v-if="nodeSort===1&&nodeValue===record.status"> |
| | | <a-divider type="vertical" /> |
| | | <a-dropdown> |
| | | <a class="ant-dropdown-link">æ´å¤ <a-icon type="down" /></a> |
| | |
| | | <a>å é¤</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | <a-menu-item> |
| | | <a @click="handleEdit(record)">ç¼è¾</a> |
| | | </a-menu-item> |
| | | </a-menu> |
| | | </a-dropdown> |
| | | </div> |
| | | </span> |
| | | |
| | | </a-table> |
| | |
| | | </a-tabs> |
| | | |
| | | <stream-modal ref="modalForm" @ok="modalFormOk"></stream-modal> |
| | | <node-model ref="nodeModel" @ok="modalFormOk"></node-model> |
| | | </a-card> |
| | | </template> |
| | | |
| | |
| | | import StreamOperationList from './StreamOperationList' |
| | | import ABCAssessmentList from './ABCAssessmentList' |
| | | import '@/assets/less/TableExpand.less' |
| | | import NodeModel from './modules/NodeModel.vue' |
| | | |
| | | |
| | | export default { |
| | | name: "StreamList", |
| | |
| | | components: { |
| | | StreamOperationList, |
| | | ABCAssessmentList, |
| | | StreamModal |
| | | StreamModal, |
| | | NodeModel |
| | | }, |
| | | data () { |
| | | return { |
| | |
| | | { |
| | | title:'å½åèç¹', |
| | | align:"center", |
| | | dataIndex: 'status', |
| | | dataIndex: 'status_dictText', |
| | | width:300 |
| | | }, |
| | | { |
| | | title:'åæ®ç±»å', |
| | | align:"center", |
| | | dataIndex: 'type', |
| | | dataIndex: 'type_dictText', |
| | | width:300 |
| | | }, |
| | | { |
| | |
| | | deleteBatch: "/eam/stream/deleteBatch", |
| | | exportXlsUrl: "/eam/stream/exportXls", |
| | | importExcelUrl: "eam/stream/importExcel", |
| | | getPreInfo:"eam/stream/getPreInfo" |
| | | }, |
| | | dictOptions:{ |
| | | }, |
| | |
| | | superFieldList:[], |
| | | streamOperationMainId: '', |
| | | aBCAssessmentMainId: '', |
| | | button1:{}, |
| | | button2:{}, |
| | | nodeSort:0, |
| | | nodeValue:'' |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList(); |
| | | }, |
| | | mounted(){ |
| | | this.getPreInfo(); |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function(){ |
| | |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | handleStreamNext(record){ |
| | | var step = { |
| | | name:this.button1.name, |
| | | value:this.button1.value, |
| | | opType:'next', |
| | | nodeSort:this.nodeSort, |
| | | node:this.nodeValue, |
| | | streamId:record.id |
| | | } |
| | | this.$refs.nodeModel.title = this.button1.name+"æä½"; |
| | | this.$refs.nodeModel.edit(step); |
| | | }, |
| | | handleStreamLast(record){ |
| | | var step = { |
| | | name:this.button2.name, |
| | | value:this.button2.value, |
| | | opType:'last', |
| | | nodeSort:this.nodeSort, |
| | | node:this.nodeValue, |
| | | streamId:record.id |
| | | } |
| | | this.$refs.nodeModel.title = this.button2.name+"æä½"; |
| | | this.$refs.nodeModel.edit(step); |
| | | }, |
| | | onClearSelected() { |
| | | this.selectedRowKeys = []; |
| | |
| | | fieldList.push({type:'string',value:'status',text:'status',dictCode:''}) |
| | | fieldList.push({type:'string',value:'type',text:'åæ®ç±»å',dictCode:''}) |
| | | this.superFieldList = fieldList |
| | | }, |
| | | getPreInfo(){ |
| | | getAction(this.url.getPreInfo).then(res=>{ |
| | | if(res.result.msg==='ok'){ |
| | | this.button1 = res.result.buttons[0]; |
| | | this.button2 = res.result.buttons[1]; |
| | | this.nodeSort = res.result.nodeSort; |
| | | this.nodeValue = res.result.nodeValue; |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | title:'æä½', |
| | | align:"center", |
| | | dataIndex: 'operation', |
| | | width:400 |
| | | dataIndex: 'operation_dictText', |
| | | width:300 |
| | | }, |
| | | { |
| | | title:'æä½èç¹', |
| | | align:"center", |
| | | dataIndex: 'streamId', |
| | | width:400 |
| | | dataIndex: 'operationNode_dictText', |
| | | width:300 |
| | | }, |
| | | |
| | | { |
| | | title:'æä½äºº', |
| | | align:"center", |
| | | dataIndex: 'userId_dictText', |
| | | width:400 |
| | | width:300 |
| | | }, |
| | | |
| | | { |
| | | title:'æä½æ¶é´', |
| | | align:"center", |
| | | dataIndex: 'createTime', |
| | | width:300 |
| | | }, |
| | | { |
| | | title:'æä½äººæè§', |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <j-modal |
| | | :title="title" |
| | | :width="width" |
| | | :visible="visible" |
| | | :confirmLoading="confirmLoading" |
| | | switchFullscreen |
| | | @ok="handleOk" |
| | | @cancel="handleCancel" |
| | | cancelText="å
³é" |
| | | > |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form-model |
| | | ref="form" |
| | | :model="model" |
| | | :rules="validatorRules" |
| | | > |
| | | <a-row :gutter="24"> |
| | | <a-col :span="24"> |
| | | <a-form-model-item |
| | | label="æè§æåå " |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | prop="remark" |
| | | > |
| | | <a-textarea v-model="model.remark" rows="4" placeholder="æè§æåå " /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form-model> |
| | | </a-spin> |
| | | </j-modal> |
| | | </template> |
| | | <script> |
| | | import { httpAction } from '@/api/manage' |
| | | import { validateDuplicateValue } from '@/utils/util' |
| | | import pick from 'lodash.pick' |
| | | import { postAction, requestPut, getAction } from '@/api/manage' |
| | | import { duplicateCheck } from '@/api/api' |
| | | import moment from 'moment' |
| | | import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js' |
| | | import { JVXETypes } from '@/components/jeecg/JVxeTable' |
| | | export default { |
| | | name: "NodeModel", |
| | | mixins: [JVxeTableModelMixin], |
| | | components: { |
| | | validateDuplicateValue, |
| | | }, |
| | | props: { |
| | | disableSubmit: { |
| | | type: Boolean, |
| | | default: false, |
| | | required: false |
| | | }, |
| | | caytegoryParam: { |
| | | type: String, |
| | | default: '', |
| | | required: false |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | title: "æä½", |
| | | width: 1500, |
| | | visible: false, |
| | | model: { |
| | | }, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | }, |
| | | |
| | | confirmLoading: false, |
| | | validatorRules: { |
| | | remark: [ |
| | | { min: 0, max: 100, message: 'é¿åº¦ä¸è¶
è¿ 100 个å符', trigger: 'blur' }, |
| | | ], |
| | | }, |
| | | url: { |
| | | next: "/eam/stream/next", |
| | | last: "/eam/stream/last", |
| | | }, |
| | | } |
| | | }, |
| | | created() { |
| | | //å¤ä»½modelåå§å¼ |
| | | this.initOptions(); |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
| | | }, |
| | | methods: { |
| | | add() { |
| | | this |
| | | this.edit(this.modelDefault); |
| | | }, |
| | | edit(record) { |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | }, |
| | | close() { |
| | | this.$emit('close'); |
| | | this.visible = false; |
| | | this.$refs.form.clearValidate(); |
| | | }, |
| | | handleOk() { |
| | | const that = this; |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true; |
| | | let httpurl = ''; |
| | | let method = ''; |
| | | if (this.model.opType=='next') { |
| | | httpurl += this.url.next; |
| | | } else { |
| | | httpurl += this.url.last; |
| | | } |
| | | method = 'post'; |
| | | httpAction(httpurl, this.model, method).then((res) => { |
| | | if (res.success) { |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | } else { |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | that.close(); |
| | | }) |
| | | } else { |
| | | return false |
| | | } |
| | | }) |
| | | }, |
| | | handleCancel() { |
| | | this.close() |
| | | }, |
| | | }, |
| | | computed: { |
| | | formDisabled() { |
| | | return this.disableSubmit |
| | | }, |
| | | }, |
| | | } |
| | | </script> |