From 63ac895629d2de0e7f4284b1617d9aa8cbd07d05 Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期五, 21 三月 2025 14:16:04 +0800 Subject: [PATCH] 1、删除DNC冗余组件 2、优化DNC文档版本、文档指派及文档预览功能代码 --- /dev/null | 91 -------- src/views/dnc/base/modules/ProductStructure/Document/NcDocumentAssignModal.vue | 2 src/views/dnc/common/FilePreview.vue | 155 +++++++------- src/views/dnc/common/SelectFileCompareModal.vue | 76 ++++-- src/views/dnc/common/DocumentVersionTableList.vue | 292 ++++++++++++++------------ 5 files changed, 284 insertions(+), 332 deletions(-) diff --git a/src/views/dnc/base/WorkDoneList.vue b/src/views/dnc/base/WorkDoneList.vue deleted file mode 100644 index 5cb900a..0000000 --- a/src/views/dnc/base/WorkDoneList.vue +++ /dev/null @@ -1,178 +0,0 @@ -<!-- - Description: 鎴戠殑宸ヤ綔鍙�-宸插姙 List - Author: 浣滆�� liuyh - Date: 2025-01-15 ---> -<template> - <a-card :bordered="false"> - <!-- 鏌ヨ鍖哄煙 --> -<!-- <div class="table-page-search-wrapper">--> -<!-- <a-form layout="inline" @keyup.enter.native="searchQuery">--> -<!-- <a-row :gutter="24">--> -<!-- <a-col :xl="6" :lg="7" :md="8" :sm="24">--> -<!-- <a-form-item label="鏂囨。鍚嶇О">--> -<!-- <a-input placeholder="杈撳叆鏂囨。鍚嶇О" v-model="queryParam.actName"></a-input>--> -<!-- </a-form-item>--> -<!-- </a-col>--> -<!-- <a-col :xl="6" :lg="7" :md="8" :sm="24">--> -<!-- <a-form-item label="璁惧鍚嶇О">--> -<!-- <a-input placeholder="杈撳叆璁惧鍚嶇О" v-model="queryParam.actName"></a-input>--> -<!-- </a-form-item>--> -<!-- </a-col>--> -<!-- <a-col :xl="6" :lg="7" :md="8" :sm="24">--> -<!-- <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">--> -<!-- <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>--> -<!-- <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>--> -<!-- </span>--> -<!-- </a-col>--> -<!-- </a-row>--> -<!-- </a-form>--> -<!-- </div>--> - <!-- 鏌ヨ鍖哄煙-END --> - - <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> - <div class="table-operator"> - <a-button type="primary" @click="searchQuery" icon="search">鍒锋柊</a-button> -<!-- <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>--> - </div> - - <!-- table鍖哄煙-begin --> - <div> - - <a-table - ref="table" - size="middle" - :scroll="{x:true}" - bordered - rowKey="id" - :columns="columns" - :dataSource="dataSource" - :pagination="ipagination" - :loading="loading" - class="j-table-force-nowrap" - @change="handleTableChange"> - - <template slot="htmlSlot" slot-scope="text"> - <div v-html="text"></div> - </template> - <template slot="imgSlot" slot-scope="text"> - <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span> - <img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> - </template> - <template slot="fileSlot" slot-scope="text"> - <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span> - <a-button - v-else - :ghost="true" - type="primary" - icon="download" - size="small" - @click="downloadFile(text)"> - 涓嬭浇 - </a-button> - </template> - - <span slot="action" slot-scope="text, record"> - <a @click="handleDetail(record)">璇︽儏</a> - </span> - </a-table> - </div> - - - <WorkDoneModal ref="modalForm" @ok="modalFormOk"></WorkDoneModal> - - </a-card> -</template> - -<script> - -import '@assets/less/TableExpand.less' -import { mixinDevice } from '@/utils/mixin' -import { JeecgListMixin } from '@/mixins/JeecgListMixin' -import JDictSelectTag from '@comp/dict/JDictSelectTag.vue' -import WorkDoneModal from './modules/WorkDone/WorkDoneModal__Style#Drawer.vue' - -export default { - name: 'AssignApproveUser', - mixins:[JeecgListMixin, mixinDevice], - components: { - JDictSelectTag, - WorkDoneModal - }, - data () { - return { - description: '鎴戠殑宸ヤ綔鍙�-宸插姙', - // 琛ㄥご - columns: [ - { - title: '搴忓彿', - dataIndex: '', - key:'rowIndex', - width:200, - align:"center", - customRender:function (t,r,index) { - return parseInt(index)+1; - } - }, - { - title: '鏂囨。鍚嶇О', - align: "center", - dataIndex: 'docName', - width: 250, - }, - { - title: '璁惧鍚嶇О', - align: "center", - dataIndex: 'deviceName', - width: 250, - }, - { - title: '鏂囨。鐗堟湰', - align: "center", - dataIndex: 'version', - width: 250, - }, - { - title: '瀵嗙骇', - align: "center", - dataIndex: 'secretLevel', - width:300 - }, - { - title: '瀹℃壒缁撴灉', - align: "center", - dataIndex: 'status_dictText', - width:300 - }, - { - title: '鎿嶄綔', - dataIndex: 'action', - scopedSlots: { customRender: 'action' }, - align: 'center', - width: 200, - fixed: 'right' - } - ], - url: { - list: "/nc/activit/find/page", - delete: "/nc/definition/delete", - }, - dictOptions:{}, - } - }, - created() { - }, - computed: { - importExcelUrl: function(){ - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; - }, - }, - methods: { - initDictConfig(){ - } - } -} -</script> -<style scoped> -@import '~@assets/less/common.less'; -</style> \ No newline at end of file diff --git a/src/views/dnc/base/WorkUpcomingList.vue b/src/views/dnc/base/WorkUpcomingList.vue deleted file mode 100644 index c034832..0000000 --- a/src/views/dnc/base/WorkUpcomingList.vue +++ /dev/null @@ -1,186 +0,0 @@ -<!-- - Description: 鎴戠殑宸ヤ綔鍙�-浠e姙 List - Author: 浣滆�� liuyh - Date: 2025-01-15 ---> -<template> - <a-card :bordered="false"> - <!-- 鏌ヨ鍖哄煙 --> -<!-- <div class="table-page-search-wrapper">--> -<!-- <a-form layout="inline" @keyup.enter.native="searchQuery">--> -<!-- <a-row :gutter="24">--> -<!-- <a-col :xl="6" :lg="7" :md="8" :sm="24">--> -<!-- <a-form-item label="鏂囨。鍚嶇О">--> -<!-- <a-input placeholder="杈撳叆鏂囨。鍚嶇О" v-model="queryParam.actName"></a-input>--> -<!-- </a-form-item>--> -<!-- </a-col>--> -<!-- <a-col :xl="6" :lg="7" :md="8" :sm="24">--> -<!-- <a-form-item label="璁惧鍚嶇О">--> -<!-- <a-input placeholder="杈撳叆璁惧鍚嶇О" v-model="queryParam.actName"></a-input>--> -<!-- </a-form-item>--> -<!-- </a-col>--> -<!-- <a-col :xl="6" :lg="7" :md="8" :sm="24">--> -<!-- <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">--> -<!-- <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>--> -<!-- <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>--> -<!-- </span>--> -<!-- </a-col>--> -<!-- </a-row>--> -<!-- </a-form>--> -<!-- </div>--> - <!-- 鏌ヨ鍖哄煙-END --> - - <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> - <div class="table-operator"> - <a-button type="primary" @click="searchQuery" icon="search">鍒锋柊</a-button> - <a-button @click="handleAdd" type="primary" icon="plus">鎵归噺瀹℃牳</a-button> - </div> - - <!-- table鍖哄煙-begin --> - <div> - <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> - <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤� - <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> - </div> - - <a-table - ref="table" - size="middle" - :scroll="{x:true}" - bordered - rowKey="id" - :columns="columns" - :dataSource="dataSource" - :pagination="ipagination" - :loading="loading" - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" - class="j-table-force-nowrap" - @change="handleTableChange"> - - <template slot="htmlSlot" slot-scope="text"> - <div v-html="text"></div> - </template> - <template slot="imgSlot" slot-scope="text"> - <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span> - <img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> - </template> - <template slot="fileSlot" slot-scope="text"> - <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span> - <a-button - v-else - :ghost="true" - type="primary" - icon="download" - size="small" - @click="downloadFile(text)"> - 涓嬭浇 - </a-button> - </template> - - <span slot="action" slot-scope="text, record"> - <a @click="handleApproval(record)">瀹℃壒</a> - <a-divider type="vertical" /> - <a @click="handleDetail(record)">璇︽儏</a> - </span> - </a-table> - </div> - - - <WorkUpcomingModal ref="modalForm" @ok="modalFormOk"></WorkUpcomingModal> - - <WorkUpcomingApprovalModal ref="modalFormApproval" @ok="modalFormOk"></WorkUpcomingApprovalModal> - </a-card> -</template> - -<script> - -import '@assets/less/TableExpand.less' -import { mixinDevice } from '@/utils/mixin' -import { JeecgListMixin } from '@/mixins/JeecgListMixin' -import JDictSelectTag from '@comp/dict/JDictSelectTag.vue' -import WorkUpcomingModal from './modules/WorkUpcoming/WorkUpcomingModal__Style#Drawer.vue' -import WorkUpcomingApprovalModal from './modules/WorkUpcoming/WorkUpcomingApprovalModal.vue' -export default { - name: 'AssignApproveUser', - mixins:[JeecgListMixin, mixinDevice], - components: { - JDictSelectTag, - WorkUpcomingModal, - WorkUpcomingApprovalModal - }, - data () { - return { - description: '鎴戠殑宸ヤ綔鍙�-浠e姙', - // 琛ㄥご - columns: [ - { - title: '搴忓彿', - dataIndex: '', - key:'rowIndex', - width:200, - align:"center", - customRender:function (t,r,index) { - return parseInt(index)+1; - } - }, - { - title: '鏂囨。鍚嶇О', - align: "center", - dataIndex: 'assignFileStream.docName', - width: 200, - }, - { - title: '閮ㄤ欢鍚嶇О', - align: "center", - dataIndex: 'assignFileStream.deviceName', - width: 220, - }, - { - title: '鏂囨。鐗堟湰', - align: "center", - dataIndex: 'assignFileStream.version', - width: 250, - }, - { - title: '瀵嗙骇', - align: "center", - dataIndex: 'assignFileStream.secretLevel', - width: 250, - }, - { - title: '鎿嶄綔', - dataIndex: 'action', - scopedSlots: { customRender: 'action' }, - align: 'center', - width: 200, - fixed: 'right' - } - ], - url: { - list: "/nc/activit/find/task/list", - delete: "/nc/definition/delete", - }, - dictOptions:{}, - } - }, - created() { - }, - computed: { - importExcelUrl: function(){ - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; - }, - }, - methods: { - initDictConfig(){ - }, - handleApproval(record){ - this.$refs.modalFormApproval.edit(record); - this.$refs.modalFormApproval.title = "瀹℃壒"; - this.$refs.modalFormApproval.disableSubmit = false; - } - } -} -</script> -<style scoped> -@import '~@assets/less/common.less'; -</style> \ No newline at end of file diff --git a/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineForm.vue b/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineForm.vue deleted file mode 100644 index 46b6c81..0000000 --- a/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineForm.vue +++ /dev/null @@ -1,226 +0,0 @@ -<!-- - Description: NC绋嬪簭绛炬淳娴佺▼閰嶇疆 Form - Author: 浣滆�� liuyh - Date: 2025-01-15 ---> -<template> - <a-spin :spinning="confirmLoading"> - <j-form-container :disabled="formDisabled"> - <a-form :form="form" slot="detail"> - <a-row> - <a-col :span="24"> - <a-form-item label="娴佺▼鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input :disabled="formDisabled" v-decorator="['actName', validatorRules.actName]" placeholder="璇疯緭鍏ユ祦绋嬪悕绉�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="鎵�灞炶溅闂�" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <j-select-equipment-production v-model="model.departId" :multi="false" @back="backProductionInfo" :backProduction="true" :treeProductOpera="true"></j-select-equipment-production> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="鏍″浜哄憳" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <j-select-multi-user valueKey="id" displayKey="realname" v-decorator="['proofreaderUser']" placeholder="璇烽�夋嫨瀹℃壒浜�"/> - {{ getFormFieldValue('proofreaderUser') }} - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="鎵瑰噯浜哄憳" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <j-select-multi-user valueKey="id" displayKey="realname" v-decorator="['approveUser']" placeholder="璇烽�夋嫨瀹℃壒浜�"/> - {{ getFormFieldValue('approveUser') }} - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="璇曞垏浜哄憳" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <j-select-multi-user valueKey="id" displayKey="realname" v-decorator="['cutterUser']" placeholder="璇烽�夋嫨瀹℃壒浜�"/> - {{ getFormFieldValue('cutterUser') }} - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="瀹氬瀷浜哄憳" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <j-select-multi-user valueKey="id" displayKey="realname" v-decorator="['typecastUser']" placeholder="璇烽�夋嫨瀹℃壒浜�"/> - {{ getFormFieldValue('typecastUser') }} - </a-form-item> - </a-col> - <a-col v-if="showFlowSubmitButton" :span="24" style="text-align: center"> - <a-button @click="submitForm">鎻� 浜�</a-button> - </a-col> - </a-row> - </a-form> - </j-form-container> - </a-spin> -</template> - -<script> - - import { httpAction, getAction } from '@/api/manage' - import pick from 'lodash.pick' - import JFormContainer from '@/components/jeecg/JFormContainer' - import JDictSelectTag from "@/components/dict/JDictSelectTag" - import JSelectEquipmentProduction from '@comp/jeecgbiz/JSelectEquipmentProduction.vue' - - export default { - name: 'ActivitiSignExamineForm', - components: { - JSelectEquipmentProduction, - JFormContainer, - JDictSelectTag, - }, - props: { - //娴佺▼琛ㄥ崟data - formData: { - type: Object, - default: ()=>{}, - required: false - }, - //琛ㄥ崟妯″紡锛歵rue娴佺▼琛ㄥ崟 false鏅�氳〃鍗� - formBpm: { - type: Boolean, - default: false, - required: false - }, - //琛ㄥ崟绂佺敤 - disabled: { - type: Boolean, - default: false, - required: false - } - }, - data () { - return { - form: this.$form.createForm(this), - users:"", - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 5 }, - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 }, - }, - confirmLoading: false, - validatorRules: { - actName: { - rules: [ - { required: true, message: '璇疯緭鍏ユ祦绋嬪悕绉�!'}, - ] - }, - departId: { - rules: [ - { required: true, message: '璇烽�夋嫨閮ㄩ棬鍒嗙粍!'}, - ] - }, - approveUsers: { - rules: [ - { required: true, message: '璇烽�夋嫨瀹℃壒浜�!'}, - ] - }, - characters: { - rules: [ - { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'}, - ] - }, - }, - url: { - add: "/nc/activitiSignExamine/add", - edit: "/nc/activitiSignExamine/edit", - // queryById: "/zhshj/wglltwh/query/by/id" - }, - userOptions:[] - } - }, - computed: { - formDisabled(){ - if(this.formBpm===true){ - if(this.formData.disabled===false){ - return false - } - return true - } - return this.disabled - }, - showFlowSubmitButton(){ - if(this.formBpm===true){ - if(this.formData.disabled===false){ - return true - } - } - return false - } - }, - created () { - //濡傛灉鏄祦绋嬩腑琛ㄥ崟锛屽垯闇�瑕佸姞杞芥祦绋嬭〃鍗昫ata - this.showFlowData(); - }, - methods: { - add () { - this.edit({}); - }, - backProductionInfo(info) { - // console.log(info) - this.model.productionIds = this.model.selectedProduction; - this.nextProductionOptions = info.map((item,index,arr)=>{ - let c = {label:item.text, value: item.value+""} - return c; - }) - }, - edit (record) { - this.form.resetFields(); - this.model = Object.assign({}, record); - this.visible = true; - this.$nextTick(() => { - this.form.setFieldsValue(pick(this.model,'actName','departId','approveUsers')) - }) - }, - getFormFieldValue(field){ - return this.form.getFieldValue(field) - }, - //娓叉煋娴佺▼琛ㄥ崟鏁版嵁 - showFlowData(){ - if(this.formBpm === true){ - let params = {id:this.formData.dataId}; - getAction(this.url.queryById,params).then((res)=>{ - if(res.success){ - this.edit (res.result); - } - }); - } - }, - submitForm () { - const that = this; - // 瑙﹀彂琛ㄥ崟楠岃瘉 - this.form.validateFields((err, values) => { - if (!err) { - that.confirmLoading = true; - let httpurl = ''; - let method = ''; - if(!this.model.id){ - httpurl+=this.url.add; - method = 'post'; - }else{ - httpurl+=this.url.edit; - method = 'put'; - } - let formData = Object.assign(this.model, values); - console.log("琛ㄥ崟鎻愪氦鏁版嵁",formData) - httpAction(httpurl,formData,method).then((res)=>{ - if(res.success){ - that.$message.success(res.message); - that.$emit('ok'); - }else{ - that.$message.warning(res.message); - } - }).finally(() => { - that.confirmLoading = false; - }) - } - - }) - }, - popupCallback(row){ - this.form.setFieldsValue(pick(row,'actName','departId','approveUsers')) - }, - } - } -</script> \ No newline at end of file diff --git a/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineModal.vue b/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineModal.vue deleted file mode 100644 index 957080b..0000000 --- a/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineModal.vue +++ /dev/null @@ -1,65 +0,0 @@ -<!-- - Description: NC绋嬪簭绛炬淳娴佺▼閰嶇疆 Modal - Author: 浣滆�� liuyh - Date: 2025-01-15 ---> -<template> - <j-modal - :title="title" - :width="width" - :visible="visible" - switchFullscreen - @ok="handleOk" - :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" - @cancel="handleCancel" - cancelText="鍏抽棴"> - <ActivitiSignExamineForm ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></ActivitiSignExamineForm> - </j-modal> -</template> - -<script> - - import ActivitiSignExamineForm from './ActivitiSignExamineForm.vue' - export default { - name: 'AssignApproveUserModal', - components: { - ActivitiSignExamineForm - }, - data () { - return { - title:'', - width:800, - visible: false, - disableSubmit: false - } - }, - methods: { - add () { - this.visible=true - this.$nextTick(()=>{ - this.$refs.realForm.add(); - }) - }, - edit (record) { - this.visible=true - this.$nextTick(()=>{ - this.$refs.realForm.edit(record); - }) - }, - close () { - this.$emit('close'); - this.visible = false; - }, - handleOk () { - this.$refs.realForm.submitForm(); - }, - submitCallback(){ - this.$emit('ok'); - this.visible = false; - }, - handleCancel () { - this.close() - } - } - } -</script> \ No newline at end of file diff --git "a/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineModal__Style\043Drawer.vue" "b/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineModal__Style\043Drawer.vue" deleted file mode 100644 index 349ed96..0000000 --- "a/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineModal__Style\043Drawer.vue" +++ /dev/null @@ -1,91 +0,0 @@ -<!-- - Description: NC绋嬪簭绛炬淳娴佺▼閰嶇疆 Modal-Drawer - Author: 浣滆�� liuyh - Date: 2025-01-15 ---> -<template> - <a-drawer - :title="title" - :width="width" - placement="right" - :closable="false" - @close="close" - destroyOnClose - :visible="visible"> - <ActivitiSignExamineForm ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></ActivitiSignExamineForm> - <div class="drawer-footer"> - <a-button @click="handleCancel" style="margin-bottom: 0;">鍏抽棴</a-button> - <a-button v-if="!disableSubmit" @click="handleOk" type="primary" style="margin-bottom: 0;">鎻愪氦</a-button> - </div> - </a-drawer> -</template> - -<script> - - - -import ActivitiSignExamineForm from './ActivitiSignExamineForm.vue' - -export default { - name: 'AssignApproveUserModal', - components: { - ActivitiSignExamineForm, - }, - data() { - return { - title: "鎿嶄綔", - width: 800, - visible: false, - disableSubmit: false - } - }, - methods: { - add() { - this.visible = true - this.$nextTick(() => { - this.$refs.realForm.add(); - }) - }, - edit(record) { - this.visible = true - this.$nextTick(() => { - this.$refs.realForm.edit(record); - }); - }, - close() { - this.$emit('close'); - this.visible = false; - }, - submitCallback() { - this.$emit('ok'); - this.visible = false; - }, - handleOk() { - this.$refs.realForm.submitForm(); - }, - handleCancel() { - this.close() - } - } -} -</script> - -<style lang="less" scoped> -/** Button鎸夐挳闂磋窛 */ -.ant-btn { - margin-left: 30px; - margin-bottom: 30px; - float: right; -} -.drawer-footer{ - position: absolute; - bottom: -8px; - width: 100%; - border-top: 1px solid #e8e8e8; - padding: 10px 16px; - text-align: right; - left: 0; - background: #fff; - border-radius: 0 0 2px 2px; -} -</style> \ No newline at end of file diff --git a/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserForm.vue b/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserForm.vue deleted file mode 100644 index 203c436..0000000 --- a/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserForm.vue +++ /dev/null @@ -1,208 +0,0 @@ -<!-- - Description: 娴佺▼閰嶇疆绠$悊椤甸潰 Form - Author: 浣滆�� liuyh - Date: 2025-01-15 ---> -<template> - <a-spin :spinning="confirmLoading"> - <j-form-container :disabled="formDisabled"> - <a-form :form="form" slot="detail"> - <a-row> - <a-col :span="24"> - <a-form-item label="娴佺▼鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input :disabled="formDisabled" v-decorator="['actName', validatorRules.actName]" placeholder="璇疯緭鍏ユ祦绋嬪悕绉�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="鎵�灞炶溅闂�" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <j-select-equipment-production v-model="model.departId" :multi="false" @back="backProductionInfo" :backProduction="true" :treeProductOpera="true"></j-select-equipment-production> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="瀹℃壒浜�" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <j-select-multi-user valueKey="id" displayKey="realname" v-decorator="['approveUsers']" placeholder="璇烽�夋嫨瀹℃壒浜�"/> - {{ getFormFieldValue('approveUsers') }} - </a-form-item> - </a-col> - <a-col v-if="showFlowSubmitButton" :span="24" style="text-align: center"> - <a-button @click="submitForm">鎻� 浜�</a-button> - </a-col> - </a-row> - </a-form> - </j-form-container> - </a-spin> -</template> - -<script> - - import { httpAction, getAction } from '@/api/manage' - import pick from 'lodash.pick' - import JFormContainer from '@/components/jeecg/JFormContainer' - import JDictSelectTag from "@/components/dict/JDictSelectTag" - import JSelectEquipmentProduction from '@comp/jeecgbiz/JSelectEquipmentProduction.vue' - - export default { - name: 'AssignApproveUserForm', - components: { - JSelectEquipmentProduction, - JFormContainer, - JDictSelectTag, - }, - props: { - //娴佺▼琛ㄥ崟data - formData: { - type: Object, - default: ()=>{}, - required: false - }, - //琛ㄥ崟妯″紡锛歵rue娴佺▼琛ㄥ崟 false鏅�氳〃鍗� - formBpm: { - type: Boolean, - default: false, - required: false - }, - //琛ㄥ崟绂佺敤 - disabled: { - type: Boolean, - default: false, - required: false - } - }, - data () { - return { - form: this.$form.createForm(this), - users:"", - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 5 }, - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 }, - }, - confirmLoading: false, - validatorRules: { - actName: { - rules: [ - { required: true, message: '璇疯緭鍏ユ祦绋嬪悕绉�!'}, - ] - }, - departId: { - rules: [ - { required: true, message: '璇烽�夋嫨閮ㄩ棬鍒嗙粍!'}, - ] - }, - approveUsers: { - rules: [ - { required: true, message: '璇烽�夋嫨瀹℃壒浜�!'}, - ] - }, - characters: { - rules: [ - { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'}, - ] - }, - }, - url: { - add: "/nc/definition/add", - edit: "/nc/definition/edit", - // queryById: "/zhshj/wglltwh/query/by/id" - }, - userOptions:[] - } - }, - computed: { - formDisabled(){ - if(this.formBpm===true){ - if(this.formData.disabled===false){ - return false - } - return true - } - return this.disabled - }, - showFlowSubmitButton(){ - if(this.formBpm===true){ - if(this.formData.disabled===false){ - return true - } - } - return false - } - }, - created () { - //濡傛灉鏄祦绋嬩腑琛ㄥ崟锛屽垯闇�瑕佸姞杞芥祦绋嬭〃鍗昫ata - this.showFlowData(); - }, - methods: { - add () { - this.edit({}); - }, - backProductionInfo(info) { - // console.log(info) - this.model.productionIds = this.model.selectedProduction; - this.nextProductionOptions = info.map((item,index,arr)=>{ - let c = {label:item.text, value: item.value+""} - return c; - }) - }, - edit (record) { - this.form.resetFields(); - this.model = Object.assign({}, record); - this.visible = true; - this.$nextTick(() => { - this.form.setFieldsValue(pick(this.model,'actName','departId','approveUsers')) - }) - }, - getFormFieldValue(field){ - return this.form.getFieldValue(field) - }, - //娓叉煋娴佺▼琛ㄥ崟鏁版嵁 - showFlowData(){ - if(this.formBpm === true){ - let params = {id:this.formData.dataId}; - getAction(this.url.queryById,params).then((res)=>{ - if(res.success){ - this.edit (res.result); - } - }); - } - }, - submitForm () { - const that = this; - // 瑙﹀彂琛ㄥ崟楠岃瘉 - this.form.validateFields((err, values) => { - if (!err) { - that.confirmLoading = true; - let httpurl = ''; - let method = ''; - if(!this.model.id){ - httpurl+=this.url.add; - method = 'post'; - }else{ - httpurl+=this.url.edit; - method = 'put'; - } - let formData = Object.assign(this.model, values); - console.log("琛ㄥ崟鎻愪氦鏁版嵁",formData) - httpAction(httpurl,formData,method).then((res)=>{ - if(res.success){ - that.$message.success(res.message); - that.$emit('ok'); - }else{ - that.$message.warning(res.message); - } - }).finally(() => { - that.confirmLoading = false; - }) - } - - }) - }, - popupCallback(row){ - this.form.setFieldsValue(pick(row,'actName','departId','approveUsers')) - }, - } - } -</script> \ No newline at end of file diff --git a/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserModal.vue b/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserModal.vue deleted file mode 100644 index 77c620a..0000000 --- a/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserModal.vue +++ /dev/null @@ -1,65 +0,0 @@ -<!-- - Description: 娴佺▼閰嶇疆绠$悊椤甸潰 Modal - Author: 浣滆�� liuyh - Date: 2025-01-15 ---> -<template> - <j-modal - :title="title" - :width="width" - :visible="visible" - switchFullscreen - @ok="handleOk" - :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" - @cancel="handleCancel" - cancelText="鍏抽棴"> - <AssignApproveUserForm ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></AssignApproveUserForm> - </j-modal> -</template> - -<script> - - import AssignApproveUserForm from './AssignApproveUserForm.vue' - export default { - name: 'AssignApproveUserModal', - components: { - AssignApproveUserForm - }, - data () { - return { - title:'', - width:800, - visible: false, - disableSubmit: false - } - }, - methods: { - add () { - this.visible=true - this.$nextTick(()=>{ - this.$refs.realForm.add(); - }) - }, - edit (record) { - this.visible=true - this.$nextTick(()=>{ - this.$refs.realForm.edit(record); - }) - }, - close () { - this.$emit('close'); - this.visible = false; - }, - handleOk () { - this.$refs.realForm.submitForm(); - }, - submitCallback(){ - this.$emit('ok'); - this.visible = false; - }, - handleCancel () { - this.close() - } - } - } -</script> \ No newline at end of file diff --git "a/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserModal__Style\043Drawer.vue" "b/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserModal__Style\043Drawer.vue" deleted file mode 100644 index d65feb5..0000000 --- "a/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserModal__Style\043Drawer.vue" +++ /dev/null @@ -1,91 +0,0 @@ -<!-- - Description: 娴佺▼閰嶇疆绠$悊椤甸潰 Modal-Drawer - Author: 浣滆�� liuyh - Date: 2025-01-15 ---> -<template> - <a-drawer - :title="title" - :width="width" - placement="right" - :closable="false" - @close="close" - destroyOnClose - :visible="visible"> - <AssignApproveUserForm ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></AssignApproveUserForm> - <div class="drawer-footer"> - <a-button @click="handleCancel" style="margin-bottom: 0;">鍏抽棴</a-button> - <a-button v-if="!disableSubmit" @click="handleOk" type="primary" style="margin-bottom: 0;">鎻愪氦</a-button> - </div> - </a-drawer> -</template> - -<script> - - - -import AssignApproveUserForm from './AssignApproveUserForm.vue' - -export default { - name: 'AssignApproveUserModal', - components: { - AssignApproveUserForm, - }, - data() { - return { - title: "鎿嶄綔", - width: 800, - visible: false, - disableSubmit: false - } - }, - methods: { - add() { - this.visible = true - this.$nextTick(() => { - this.$refs.realForm.add(); - }) - }, - edit(record) { - this.visible = true - this.$nextTick(() => { - this.$refs.realForm.edit(record); - }); - }, - close() { - this.$emit('close'); - this.visible = false; - }, - submitCallback() { - this.$emit('ok'); - this.visible = false; - }, - handleOk() { - this.$refs.realForm.submitForm(); - }, - handleCancel() { - this.close() - } - } -} -</script> - -<style lang="less" scoped> -/** Button鎸夐挳闂磋窛 */ -.ant-btn { - margin-left: 30px; - margin-bottom: 30px; - float: right; -} -.drawer-footer{ - position: absolute; - bottom: -8px; - width: 100%; - border-top: 1px solid #e8e8e8; - padding: 10px 16px; - text-align: right; - left: 0; - background: #fff; - border-radius: 0 0 2px 2px; -} -</style> \ No newline at end of file diff --git a/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentAssignModal.vue b/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentAssignModal.vue index b372634..0687755 100644 --- a/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentAssignModal.vue +++ b/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentAssignModal.vue @@ -160,7 +160,7 @@ checkedKeys: [], expandedKeys: [], autoExpandParent: true, - isExpandAllTreeNode: false, + isExpandAllTreeNode: true, date: [], url: { list: '/nc/doc/find/list' diff --git a/src/views/dnc/base/modules/WorkDone/WorkDoneForm.vue b/src/views/dnc/base/modules/WorkDone/WorkDoneForm.vue deleted file mode 100644 index ba8d8ff..0000000 --- a/src/views/dnc/base/modules/WorkDone/WorkDoneForm.vue +++ /dev/null @@ -1,266 +0,0 @@ -<!-- - Description: 娴佺▼閰嶇疆绠$悊椤甸潰 Form - Author: 浣滆�� liuyh - Date: 2025-01-15 ---> -<template> - <a-spin :spinning="confirmLoading"> - <j-form-container :disabled="formDisabled"> - <a-form :form="form" slot="detail"> - <a-row> - <a-col :span="24"> - <a-form-item label="浜у搧鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['productName', validatorRules.productName]" placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="閮ㄤ欢鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['componentName', validatorRules.componentName]" placeholder="璇疯緭鍏ラ儴浠跺悕绉�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24" v-if="part"> - <a-form-item label="闆朵欢鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['partsName', validatorRules.partsName]" placeholder="璇疯緭鍏ラ浂浠跺悕绉�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="鏂囨。鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['docName', validatorRules.docName]" placeholder="璇疯緭鍏ユ枃妗e悕绉�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="璁惧鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['deviceName', validatorRules.deviceName]" placeholder="璇疯緭鍏ヨ澶囧悕绉�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="鏂囨。鐗堟湰" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['version', validatorRules.version]" placeholder="璇疯緭鍏ユ枃妗g増鏈�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="鐢宠浜�" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['applyUser', validatorRules.applyUser]" placeholder="璇疯緭鍏ョ敵璇蜂汉"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="鐢宠鍘熷洜" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['applyReason', validatorRules.applyReason]" placeholder="璇疯緭鍏ョ敵璇峰師鍥�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="鐢宠鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['applyTime', validatorRules.applyTime]" placeholder="璇疯緭鍏ョ敵璇锋椂闂�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="瀹℃壒浜�" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['approveUser', validatorRules.approveUser]" placeholder="璇疯緭鍏ュ鎵逛汉"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="瀹℃壒鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['approveTime', validatorRules.approveTime]" placeholder="璇疯緭鍏ュ鎵规椂闂�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="瀹℃壒鎰忚" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-textarea v-decorator="['approveContent']" rows="4" placeholder="璇疯緭鍏ュ鎵规剰瑙�"/> - </a-form-item> - </a-col> - <a-col v-if="showFlowSubmitButton" :span="24" style="text-align: center"> - <a-button @click="submitForm">鎻� 浜�</a-button> - </a-col> - </a-row> - </a-form> - </j-form-container> - </a-spin> -</template> - -<script> - - import { httpAction, getAction } from '@/api/manage' - import pick from 'lodash.pick' - import JFormContainer from '@/components/jeecg/JFormContainer' - import JDictSelectTag from "@/components/dict/JDictSelectTag" - - export default { - name: 'AssignApproveUserForm', - components: { - JFormContainer, - JDictSelectTag, - }, - props: { - //娴佺▼琛ㄥ崟data - formData: { - type: Object, - default: ()=>{}, - required: false - }, - //琛ㄥ崟妯″紡锛歵rue娴佺▼琛ㄥ崟 false鏅�氳〃鍗� - formBpm: { - type: Boolean, - default: false, - required: false - }, - //琛ㄥ崟绂佺敤 - disabled: { - type: Boolean, - default: false, - required: false - } - }, - data () { - return { - form: this.$form.createForm(this), - users:"", - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 5 }, - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 }, - }, - confirmLoading: false, - validatorRules: { - actName: { - productName: [ - { required: true, message: '璇疯緭鍏ユ祦绋嬪悕绉�!'}, - ] - }, - componentName: { - rules: [ - { required: true, message: '璇烽�夋嫨閮ㄩ棬鍒嗙粍!'}, - ] - }, - partsName: { - rules: [ - { required: true, message: '璇烽�夋嫨瀹℃壒浜�!'}, - ] - }, - docName: { - rules: [ - { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'}, - ] - }, - deviceName: { - rules: [ - { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'}, - ] - }, - version: { - rules: [ - { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'}, - ] - }, - applyUser: { - rules: [ - { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'}, - ] - }, - applyReason: { - rules: [ - { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'}, - ] - }, - }, - url: { - add: "/nc/definition/add", - edit: "/nc/definition/edit", - // queryById: "/zhshj/wglltwh/query/by/id" - }, - userOptions:[], - part:false, - } - }, - computed: { - formDisabled(){ - if(this.formBpm===true){ - if(this.formData.disabled===false){ - return false - } - return true - } - return this.disabled - }, - showFlowSubmitButton(){ - if(this.formBpm===true){ - if(this.formData.disabled===false){ - return true - } - } - return false - } - }, - created () { - //濡傛灉鏄祦绋嬩腑琛ㄥ崟锛屽垯闇�瑕佸姞杞芥祦绋嬭〃鍗昫ata - this.showFlowData(); - }, - methods: { - add () { - this.edit({}); - }, - edit (record) { - this.form.resetFields(); - this.model = Object.assign({}, record); - this.visible = true; - if (record.partsName){ - this.part=true - } - this.$nextTick(() => { - this.form.setFieldsValue(pick(this.model,'productName','componentName','partsName','docName','deviceName','version','applyUser','applyReason','applyTime','approveUser','approveTime','approveContent')) - }) - }, - getFormFieldValue(field){ - return this.form.getFieldValue(field) - }, - //娓叉煋娴佺▼琛ㄥ崟鏁版嵁 - showFlowData(){ - if(this.formBpm === true){ - let params = {id:this.formData.dataId}; - getAction(this.url.queryById,params).then((res)=>{ - if(res.success){ - this.edit (res.result); - } - }); - } - }, - submitForm () { - const that = this; - // 瑙﹀彂琛ㄥ崟楠岃瘉 - this.form.validateFields((err, values) => { - if (!err) { - that.confirmLoading = true; - let httpurl = ''; - let method = ''; - if(!this.model.id){ - httpurl+=this.url.add; - method = 'post'; - }else{ - httpurl+=this.url.edit; - method = 'put'; - } - let formData = Object.assign(this.model, values); - console.log("琛ㄥ崟鎻愪氦鏁版嵁",formData) - httpAction(httpurl,formData,method).then((res)=>{ - if(res.success){ - that.$message.success(res.message); - that.$emit('ok'); - }else{ - that.$message.warning(res.message); - } - }).finally(() => { - that.confirmLoading = false; - }) - } - - }) - }, - popupCallback(row){ - this.form.setFieldsValue(pick(row,'productName','componentName','partsName','docName','deviceName','version','applyUser','applyReason','applyTime','approveUser','approveTime','approveContent')) - }, - } - } -</script> \ No newline at end of file diff --git a/src/views/dnc/base/modules/WorkDone/WorkDoneModal.vue b/src/views/dnc/base/modules/WorkDone/WorkDoneModal.vue deleted file mode 100644 index 6ddaf3b..0000000 --- a/src/views/dnc/base/modules/WorkDone/WorkDoneModal.vue +++ /dev/null @@ -1,65 +0,0 @@ -<!-- - Description: 娴佺▼閰嶇疆绠$悊椤甸潰 Modal - Author: 浣滆�� liuyh - Date: 2025-01-15 ---> -<template> - <j-modal - :title="title" - :width="width" - :visible="visible" - switchFullscreen - @ok="handleOk" - :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" - @cancel="handleCancel" - cancelText="鍏抽棴"> - <WorkDoneForm ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></WorkDoneForm> - </j-modal> -</template> - -<script> - - import WorkDoneForm from './WorkDoneForm.vue' - export default { - name: 'AssignApproveUserModal', - components: { - WorkDoneForm - }, - data () { - return { - title:'', - width:800, - visible: false, - disableSubmit: false - } - }, - methods: { - add () { - this.visible=true - this.$nextTick(()=>{ - this.$refs.realForm.add(); - }) - }, - edit (record) { - this.visible=true - this.$nextTick(()=>{ - this.$refs.realForm.edit(record); - }) - }, - close () { - this.$emit('close'); - this.visible = false; - }, - handleOk () { - this.$refs.realForm.submitForm(); - }, - submitCallback(){ - this.$emit('ok'); - this.visible = false; - }, - handleCancel () { - this.close() - } - } - } -</script> \ No newline at end of file diff --git "a/src/views/dnc/base/modules/WorkDone/WorkDoneModal__Style\043Drawer.vue" "b/src/views/dnc/base/modules/WorkDone/WorkDoneModal__Style\043Drawer.vue" deleted file mode 100644 index c87a15d..0000000 --- "a/src/views/dnc/base/modules/WorkDone/WorkDoneModal__Style\043Drawer.vue" +++ /dev/null @@ -1,91 +0,0 @@ -<!-- - Description: 娴佺▼閰嶇疆绠$悊椤甸潰 Modal-Drawer - Author: 浣滆�� liuyh - Date: 2025-01-15 ---> -<template> - <a-drawer - :title="title" - :width="width" - placement="right" - :closable="false" - @close="close" - destroyOnClose - :visible="visible"> - <WorkDoneForm ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></WorkDoneForm> - <div class="drawer-footer"> - <a-button @click="handleCancel" style="margin-bottom: 0;">鍏抽棴</a-button> - <a-button v-if="!disableSubmit" @click="handleOk" type="primary" style="margin-bottom: 0;">鎻愪氦</a-button> - </div> - </a-drawer> -</template> - -<script> - - - -import WorkDoneForm from './WorkDoneForm.vue' - -export default { - name: 'AssignApproveUserModal', - components: { - WorkDoneForm, - }, - data() { - return { - title: "鎿嶄綔", - width: 800, - visible: false, - disableSubmit: false - } - }, - methods: { - add() { - this.visible = true - this.$nextTick(() => { - this.$refs.realForm.add(); - }) - }, - edit(record) { - this.visible = true - this.$nextTick(() => { - this.$refs.realForm.edit(record); - }); - }, - close() { - this.$emit('close'); - this.visible = false; - }, - submitCallback() { - this.$emit('ok'); - this.visible = false; - }, - handleOk() { - this.$refs.realForm.submitForm(); - }, - handleCancel() { - this.close() - } - } -} -</script> - -<style lang="less" scoped> -/** Button鎸夐挳闂磋窛 */ -.ant-btn { - margin-left: 30px; - margin-bottom: 30px; - float: right; -} -.drawer-footer{ - position: absolute; - bottom: -8px; - width: 100%; - border-top: 1px solid #e8e8e8; - padding: 10px 16px; - text-align: right; - left: 0; - background: #fff; - border-radius: 0 0 2px 2px; -} -</style> \ No newline at end of file diff --git a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingApprovalForm.vue b/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingApprovalForm.vue deleted file mode 100644 index 5dd7f57..0000000 --- a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingApprovalForm.vue +++ /dev/null @@ -1,237 +0,0 @@ -<!-- - Description: 鎴戠殑宸ヤ綔鍙�-浠e姙-璇︽儏 Form - Author: 浣滆�� liuyh - Date: 2025-01-15 ---> -<template> - <a-spin :spinning="confirmLoading"> - <j-form-container :disabled="formDisabled"> - <a-form :form="form" slot="detail"> - <a-row> - <a-col :span="24"> - <a-form-item label="鏂囨。鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['assignFileStream.docName', validatorRules.docName]" :disabled="true" placeholder="璇疯緭鍏ユ枃妗e悕绉�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="鏂囨。鐗堟湰" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['assignFileStream.version', validatorRules.version]" :disabled="true" placeholder="璇疯緭鍏ユ枃妗g増鏈�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="鐢宠浜�" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['assignFileStream.applyUser', validatorRules.applyUser]" :disabled="true" placeholder="璇疯緭鍏ョ敵璇蜂汉"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="鐢宠鍘熷洜" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-textarea v-decorator="['assignFileStream.applyReason']" rows="4" :disabled="true" placeholder="璇疯緭鍏ョ敵璇峰師鍥�"/> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="瀵嗙骇涓�" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <j-dict-select-tag placeholder="璇烽�夋嫨瀵嗙骇" style="width:100%" :trigger-change="true" v-decorator="['secretLevel']" dictCode="dnc_secret_level"/> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="鍚屾剰瀵煎叆宸ユ帶缃�" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-checkbox v-model="isAgreed">鍚屾剰瀵煎叆宸ユ帶缃�</a-checkbox> - </a-form-item> - </a-col> - <a-col :span="24" > - <a-form-item label="瀹℃壒鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-select placeholder="瀹℃壒鐘舵��"> - <a-select-option v-if="isAgreed" value="2">鍚屾剰</a-select-option> - <a-select-option v-if="!isAgreed" value="3">鎷掔粷</a-select-option> - </a-select> -<!-- <j-dict-select-tag placeholder="璇烽�夋嫨瀹℃壒鐘舵��" style="width:100%" :trigger-change="true" v-decorator="['status', validatorRules.status]" dictCode="dnc_assign_stream_status"/>--> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="瀹℃壒鎰忚" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-textarea v-decorator="['assignFileStream.approveContent', validatorRules.approveContent]" rows="4" placeholder="璇疯緭鍏ュ鎵规剰瑙�"/> - </a-form-item> - </a-col> - <a-col v-if="showFlowSubmitButton" :span="24" style="text-align: center"> - <a-button @click="submitForm">鎻� 浜�</a-button> - </a-col> - </a-row> - </a-form> - </j-form-container> - </a-spin> -</template> - -<script> - - import { httpAction, getAction } from '@/api/manage' - import pick from 'lodash.pick' - import JFormContainer from '@/components/jeecg/JFormContainer' - import JDictSelectTag from "@/components/dict/JDictSelectTag" - - export default { - name: 'AssignApproveUserForm', - components: { - JFormContainer, - JDictSelectTag, - }, - props: { - //娴佺▼琛ㄥ崟data - formData: { - type: Object, - default: ()=>{}, - required: false - }, - //琛ㄥ崟妯″紡锛歵rue娴佺▼琛ㄥ崟 false鏅�氳〃鍗� - formBpm: { - type: Boolean, - default: false, - required: false - }, - //琛ㄥ崟绂佺敤 - disabled: { - type: Boolean, - default: false, - required: false - } - }, - data () { - return { - form: this.$form.createForm(this), - users:"", - isAgreed:true, - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 5 }, - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 }, - }, - confirmLoading: false, - validatorRules: { - version: { - rules: [ - { required: true, message: '璇疯緭鍏ユ枃妗g増鏈�!'}, - ] - }, - applyUser: { - rules: [ - { required: true, message: '璇烽�夋嫨鐢宠浜�!'}, - ] - }, - approveContent: { - rules: [ - { required: true, message: '璇疯緭鍏ュ鎵规剰瑙�!'}, - ] - }, - docName: { - rules: [ - { required: true, message: '璇疯緭鍏ユ枃妗e悕绉�!'}, - ] - }, - status: { - rules: [ - { required: true, message: '璇烽�夋嫨瀹℃壒鐘舵��!'}, - ] - }, - }, - url: { - add: "/nc/definition/add", - edit: "/nc/definition/edit", - approve:"/nc/activit/assign/file/approve", - // queryById: "/zhshj/wglltwh/query/by/id" - }, - userOptions:[], - part:false, - taskId:"", - streamId:"", - } - }, - computed: { - formDisabled(){ - if(this.formBpm===true){ - if(this.formData.disabled===false){ - return false - } - return true - } - return this.disabled - }, - showFlowSubmitButton(){ - if(this.formBpm===true){ - if(this.formData.disabled===false){ - return true - } - } - return false - } - }, - created () { - //濡傛灉鏄祦绋嬩腑琛ㄥ崟锛屽垯闇�瑕佸姞杞芥祦绋嬭〃鍗昫ata - this.showFlowData(); - }, - methods: { - add () { - this.edit({}); - }, - edit (record) { - this.form.resetFields(); - this.model = Object.assign({}, record); - this.taskId=record.id; - this.streamId=record.businessKey; - if (record.assignFileStream.partsName){ - this.part=true - } - this.visible = true; - this.$nextTick(() => { - this.form.setFieldsValue(pick(this.model,'assignFileStream')) - }) - }, - getFormFieldValue(field){ - return this.form.getFieldValue(field) - }, - //娓叉煋娴佺▼琛ㄥ崟鏁版嵁 - showFlowData(){ - if(this.formBpm === true){ - let params = {id:this.formData.dataId}; - getAction(this.url.queryById,params).then((res)=>{ - if(res.success){ - this.edit (res.result); - } - }); - } - }, - submitForm () { - const that = this; - // 瑙﹀彂琛ㄥ崟楠岃瘉 - this.form.validateFields((err, values) => { - if (!err) { - that.confirmLoading = true; - let url=this.url.approve+"/"+this.taskId+"/"+this.streamId; - let method = 'post'; - let formData = {}; - formData.approveContent = values.assignFileStream.approveContent; - if (this.isAgreed){ - formData.status ='2' - }else { - formData.status ='3' - } - console.log("琛ㄥ崟鎻愪氦鏁版嵁",formData) - httpAction(url,formData,method).then((res)=>{ - if(res.success){ - that.$message.success(res.message); - that.$emit('ok'); - }else{ - that.$message.warning(res.message); - } - }).finally(() => { - that.confirmLoading = false; - }) - } - - }) - }, - } - } -</script> \ No newline at end of file diff --git a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingApprovalModal.vue b/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingApprovalModal.vue deleted file mode 100644 index 82410e0..0000000 --- a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingApprovalModal.vue +++ /dev/null @@ -1,65 +0,0 @@ -<!-- - Description: 鎴戠殑宸ヤ綔鍙�-浠e姙 Modal - Author: 浣滆�� liuyh - Date: 2025-01-15 ---> -<template> - <j-modal - :title="title" - :width="width" - :visible="visible" - switchFullscreen - @ok="handleOk" - :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" - @cancel="handleCancel" - cancelText="鍏抽棴"> - <WorkUpcomingApprovalForm ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></WorkUpcomingApprovalForm> - </j-modal> -</template> - -<script> - - import WorkUpcomingApprovalForm from './WorkUpcomingApprovalForm.vue' - export default { - name: 'AssignApproveUserModal', - components: { - WorkUpcomingApprovalForm - }, - data () { - return { - title:'', - width:800, - visible: false, - disableSubmit: false - } - }, - methods: { - add () { - this.visible=true - this.$nextTick(()=>{ - this.$refs.realForm.add(); - }) - }, - edit (record) { - this.visible=true - this.$nextTick(()=>{ - this.$refs.realForm.edit(record); - }) - }, - close () { - this.$emit('close'); - this.visible = false; - }, - handleOk () { - this.$refs.realForm.submitForm(); - }, - submitCallback(){ - this.$emit('ok'); - this.visible = false; - }, - handleCancel () { - this.close() - } - } - } -</script> \ No newline at end of file diff --git a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingForm.vue b/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingForm.vue deleted file mode 100644 index 2fff05c..0000000 --- a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingForm.vue +++ /dev/null @@ -1,266 +0,0 @@ -<!-- - Description: 鎴戠殑宸ヤ綔鍙�-浠e姙-璇︽儏 Form - Author: 浣滆�� liuyh - Date: 2025-01-15 ---> -<template> - <a-spin :spinning="confirmLoading"> - <j-form-container :disabled="formDisabled"> - <a-form :form="form" slot="detail"> - <a-row> - <a-col :span="24"> - <a-form-item label="浜у搧鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['assignFileStream.productName', validatorRules.productName]" placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="閮ㄤ欢鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['assignFileStream.componentName', validatorRules.componentName]" placeholder="璇疯緭鍏ラ儴浠跺悕绉�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24" v-if="part"> - <a-form-item label="闆朵欢鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['assignFileStream.partsName', validatorRules.partsName]" placeholder="璇疯緭鍏ラ浂浠跺悕绉�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="鏂囨。鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['assignFileStream.docName', validatorRules.docName]" placeholder="璇疯緭鍏ユ枃妗e悕绉�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="璁惧鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['assignFileStream.deviceName', validatorRules.deviceName]" placeholder="璇疯緭鍏ヨ澶囧悕绉�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="鏂囨。鐗堟湰" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['assignFileStream.version', validatorRules.version]" placeholder="璇疯緭鍏ユ枃妗g増鏈�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="鐢宠浜�" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['assignFileStream.applyUser', validatorRules.applyUser]" placeholder="璇疯緭鍏ョ敵璇蜂汉"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="鐢宠鍘熷洜" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['assignFileStream.applyReason', validatorRules.applyReason]" placeholder="璇疯緭鍏ョ敵璇峰師鍥�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="鐢宠鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['assignFileStream.applyTime', validatorRules.applyTime]" placeholder="璇疯緭鍏ョ敵璇锋椂闂�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="瀹℃壒浜�" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['assignFileStream.approveUser', validatorRules.approveUser]" placeholder="璇疯緭鍏ュ鎵逛汉"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="瀹℃壒鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-input v-decorator="['assignFileStream.approveTime', validatorRules.approveTime]" placeholder="璇疯緭鍏ュ鎵规椂闂�"></a-input> - </a-form-item> - </a-col> - <a-col :span="24"> - <a-form-item label="瀹℃壒鎰忚" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-textarea v-decorator="['assignFileStream.approveContent']" rows="4" placeholder="璇疯緭鍏ュ鎵规剰瑙�"/> - </a-form-item> - </a-col> - <a-col v-if="showFlowSubmitButton" :span="24" style="text-align: center"> - <a-button @click="submitForm">鎻� 浜�</a-button> - </a-col> - </a-row> - </a-form> - </j-form-container> - </a-spin> -</template> - -<script> - - import { httpAction, getAction } from '@/api/manage' - import pick from 'lodash.pick' - import JFormContainer from '@/components/jeecg/JFormContainer' - import JDictSelectTag from "@/components/dict/JDictSelectTag" - - export default { - name: 'AssignApproveUserForm', - components: { - JFormContainer, - JDictSelectTag, - }, - props: { - //娴佺▼琛ㄥ崟data - formData: { - type: Object, - default: ()=>{}, - required: false - }, - //琛ㄥ崟妯″紡锛歵rue娴佺▼琛ㄥ崟 false鏅�氳〃鍗� - formBpm: { - type: Boolean, - default: false, - required: false - }, - //琛ㄥ崟绂佺敤 - disabled: { - type: Boolean, - default: false, - required: false - } - }, - data () { - return { - form: this.$form.createForm(this), - users:"", - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 5 }, - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 }, - }, - confirmLoading: false, - validatorRules: { - actName: { - productName: [ - { required: true, message: '璇疯緭鍏ユ祦绋嬪悕绉�!'}, - ] - }, - componentName: { - rules: [ - { required: true, message: '璇烽�夋嫨閮ㄩ棬鍒嗙粍!'}, - ] - }, - partsName: { - rules: [ - { required: true, message: '璇烽�夋嫨瀹℃壒浜�!'}, - ] - }, - docName: { - rules: [ - { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'}, - ] - }, - deviceName: { - rules: [ - { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'}, - ] - }, - version: { - rules: [ - { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'}, - ] - }, - applyUser: { - rules: [ - { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'}, - ] - }, - applyReason: { - rules: [ - { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'}, - ] - }, - }, - url: { - add: "/nc/definition/add", - edit: "/nc/definition/edit", - // queryById: "/zhshj/wglltwh/query/by/id" - }, - userOptions:[], - part:false, - } - }, - computed: { - formDisabled(){ - if(this.formBpm===true){ - if(this.formData.disabled===false){ - return false - } - return true - } - return this.disabled - }, - showFlowSubmitButton(){ - if(this.formBpm===true){ - if(this.formData.disabled===false){ - return true - } - } - return false - } - }, - created () { - //濡傛灉鏄祦绋嬩腑琛ㄥ崟锛屽垯闇�瑕佸姞杞芥祦绋嬭〃鍗昫ata - this.showFlowData(); - }, - methods: { - add () { - this.edit({}); - }, - edit (record) { - this.form.resetFields(); - this.model = Object.assign({}, record); - if (record.assignFileStream.partsName){ - this.part=true - } - this.visible = true; - this.$nextTick(() => { - this.form.setFieldsValue(pick(this.model,'assignFileStream')) - }) - }, - getFormFieldValue(field){ - return this.form.getFieldValue(field) - }, - //娓叉煋娴佺▼琛ㄥ崟鏁版嵁 - showFlowData(){ - if(this.formBpm === true){ - let params = {id:this.formData.dataId}; - getAction(this.url.queryById,params).then((res)=>{ - if(res.success){ - this.edit (res.result); - } - }); - } - }, - submitForm () { - const that = this; - // 瑙﹀彂琛ㄥ崟楠岃瘉 - this.form.validateFields((err, values) => { - if (!err) { - that.confirmLoading = true; - let httpurl = ''; - let method = ''; - if(!this.model.id){ - httpurl+=this.url.add; - method = 'post'; - }else{ - httpurl+=this.url.edit; - method = 'put'; - } - let formData = Object.assign(this.model, values); - console.log("琛ㄥ崟鎻愪氦鏁版嵁",formData) - httpAction(httpurl,formData,method).then((res)=>{ - if(res.success){ - that.$message.success(res.message); - that.$emit('ok'); - }else{ - that.$message.warning(res.message); - } - }).finally(() => { - that.confirmLoading = false; - }) - } - - }) - }, - popupCallback(row){ - this.form.setFieldsValue(pick(row,'C')) - }, - } - } -</script> \ No newline at end of file diff --git a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingModal.vue b/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingModal.vue deleted file mode 100644 index 7d2414c..0000000 --- a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingModal.vue +++ /dev/null @@ -1,65 +0,0 @@ -<!-- - Description: 鎴戠殑宸ヤ綔鍙�-浠e姙 Modal - Author: 浣滆�� liuyh - Date: 2025-01-15 ---> -<template> - <j-modal - :title="title" - :width="width" - :visible="visible" - switchFullscreen - @ok="handleOk" - :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" - @cancel="handleCancel" - cancelText="鍏抽棴"> - <WorkUpcomingForm ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></WorkUpcomingForm> - </j-modal> -</template> - -<script> - - import WorkUpcomingForm from './WorkUpcomingForm.vue' - export default { - name: 'AssignApproveUserModal', - components: { - WorkUpcomingForm - }, - data () { - return { - title:'', - width:800, - visible: false, - disableSubmit: false - } - }, - methods: { - add () { - this.visible=true - this.$nextTick(()=>{ - this.$refs.realForm.add(); - }) - }, - edit (record) { - this.visible=true - this.$nextTick(()=>{ - this.$refs.realForm.edit(record); - }) - }, - close () { - this.$emit('close'); - this.visible = false; - }, - handleOk () { - this.$refs.realForm.submitForm(); - }, - submitCallback(){ - this.$emit('ok'); - this.visible = false; - }, - handleCancel () { - this.close() - } - } - } -</script> \ No newline at end of file diff --git "a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingModal__Style\043Drawer.vue" "b/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingModal__Style\043Drawer.vue" deleted file mode 100644 index 358107c..0000000 --- "a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingModal__Style\043Drawer.vue" +++ /dev/null @@ -1,91 +0,0 @@ -<!-- - Description: 鎴戠殑宸ヤ綔鍙�-浠e姙 Modal-Drawer - Author: 浣滆�� liuyh - Date: 2025-01-15 ---> -<template> - <a-drawer - :title="title" - :width="width" - placement="right" - :closable="false" - @close="close" - destroyOnClose - :visible="visible"> - <WorkUpcomingForm ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></WorkUpcomingForm> - <div class="drawer-footer"> - <a-button @click="handleCancel" style="margin-bottom: 0;">鍏抽棴</a-button> - <a-button v-if="!disableSubmit" @click="handleOk" type="primary" style="margin-bottom: 0;">鎻愪氦</a-button> - </div> - </a-drawer> -</template> - -<script> - - - -import WorkUpcomingForm from './WorkUpcomingForm.vue' - -export default { - name: 'AssignApproveUserModal', - components: { - WorkUpcomingForm, - }, - data() { - return { - title: "鎿嶄綔", - width: 800, - visible: false, - disableSubmit: false - } - }, - methods: { - add() { - this.visible = true - this.$nextTick(() => { - this.$refs.realForm.add(); - }) - }, - edit(record) { - this.visible = true - this.$nextTick(() => { - this.$refs.realForm.edit(record); - }); - }, - close() { - this.$emit('close'); - this.visible = false; - }, - submitCallback() { - this.$emit('ok'); - this.visible = false; - }, - handleOk() { - this.$refs.realForm.submitForm(); - }, - handleCancel() { - this.close() - } - } -} -</script> - -<style lang="less" scoped> -/** Button鎸夐挳闂磋窛 */ -.ant-btn { - margin-left: 30px; - margin-bottom: 30px; - float: right; -} -.drawer-footer{ - position: absolute; - bottom: -8px; - width: 100%; - border-top: 1px solid #e8e8e8; - padding: 10px 16px; - text-align: right; - left: 0; - background: #fff; - border-radius: 0 0 2px 2px; -} -</style> \ No newline at end of file diff --git a/src/views/dnc/common/DocumentVersionTableList.vue b/src/views/dnc/common/DocumentVersionTableList.vue index aeb3240..ac703ba 100644 --- a/src/views/dnc/common/DocumentVersionTableList.vue +++ b/src/views/dnc/common/DocumentVersionTableList.vue @@ -1,157 +1,177 @@ <template> <div> <a-table :columns="columns" :data-source="dataSource" bordered :pagination="false" :size="size" rowKey="fileId" - :customRow="customRow"> - <template slot="rowIndex" slot-scope="text,record,index"> - <span :style="{color:setCurrentVersionColor(record.publishFlag)}">{{parseInt(index) + 1}}</span> - </template> + :customRow="customRow" :scroll="{y:189}"> <template slot="fileName" slot-scope="text,record,index"> - <span :style="{color:setCurrentVersionColor(record.publishFlag)}"> - {{text}}.{{record.fileSuffix}} + <span> + {{ text }}.{{ record.fileSuffix }} <span v-if="record.publishFlag">[褰撳墠鐗堟湰]</span> </span> </template> - <template slot="docVersion" slot-scope="text,record"> - <span :style="{color:setCurrentVersionColor(record.publishFlag)}">{{text}}</span> - </template> - <template slot="fileSize" slot-scope="text,record"> - <span :style="{color:setCurrentVersionColor(record.publishFlag)}">{{(text/1024).toFixed(2)}}KB</span> - </template> </a-table> + <SelectFileCompareModal :dataSource="dataSource" :setCurrentVersionColor="setCurrentVersionColor" ref="selectFileCompareModalRef"/> </div> </template> <script> - import { JeecgListMixin } from '@/mixins/JeecgListMixin' - import { getAction } from '@/api/manage' - import dncApi from '@/api/dnc' - import SelectFileCompareModal from './SelectFileCompareModal' +import { JeecgListMixin } from '@/mixins/JeecgListMixin' +import { getAction } from '@/api/manage' +import dncApi from '@/api/dnc' +import SelectFileCompareModal from './SelectFileCompareModal' - export default { - name: 'DocumentVersionTableList', - mixins: [JeecgListMixin], - components: { SelectFileCompareModal }, - props: { - currentDocumentInfo: { - type: Object - }, - size: { - type: String - } +export default { + name: 'DocumentVersionTableList', + mixins: [JeecgListMixin], + components: { SelectFileCompareModal }, + props: { + currentDocumentInfo: { + type: Object }, - data() { - return { - disableMixinCreated: true, - queryParams: {}, - currentDocumentVersion: '', - columns: [ - { title: '搴忓彿', dataIndex: 'rowIndex', width: 65, align: 'center', scopedSlots: { customRender: 'rowIndex' } }, - { title: '鏂囦欢鍚嶇О', dataIndex: 'fileName', align: 'center', scopedSlots: { customRender: 'fileName' } }, - { title: '鐗堟湰鍙�', dataIndex: 'docVersion', align: 'center', scopedSlots: { customRender: 'docVersion' } }, - { title: '鏂囦欢澶у皬', dataIndex: 'fileSize', align: 'center', scopedSlots: { customRender: 'fileSize' } } - ], - url: { - list: '/nc/file/find/list' - } - } - }, - created() { - this.$bus.$on('tableMenuItemMethodTrigger', this.triggerCorrespondingMethod) - }, - methods: { - loadData() { - this.dataSource = [] - if (!this.url.list) { - this.$message.error('璇疯缃畊rl.list灞炴��!') - return - } - var params = this.getQueryParams()//鏌ヨ鏉′欢 - params.docId = this.currentDocumentInfo.docId - if (!params) { - return false - } - this.loading = true - getAction(this.url.list, params).then((res) => { - if (res.success) { - this.dataSource = res.list - this.currentDocumentVersion = res.list.find(item => item.publishFlag).docVersion - console.log('currentDocumentVersion', this.currentDocumentVersion) - } else { - this.$message.warning(res.message) + size: { + type: String + } + }, + data() { + return { + disableMixinCreated: true, + queryParams: {}, + columns: [ + { + title: '搴忓彿', + dataIndex: 'rowIndex', + width: 65, + align: 'center', + customRender: function(t, r, index) { + return parseInt(index) + 1 } - }).finally(() => { - this.loading = false - }) - }, - - /** - * 鎸囧畾褰撳墠鏂囨。涓哄綋鍓嶇増鏈� - * @param fileId 鏂囦欢Id - */ - handleFileAssign({ fileId }) { - const that = this - dncApi.appointCurrentDocumentVersionApi(fileId) - .then(res => { - if (res.success) { - that.$notification.success({ - message: '娑堟伅', - description: res.message - }) - const currentAssignDocumentVersion = that.dataSource.find(item => item.fileId === fileId).docVersion - // 濡傛灉褰撳墠鎸囧畾鐗堟湰鐨勭増鏈彿涓庡綋鍓嶇増鏈殑鐗堟湰鍙蜂竴鑷村垯涓嶉噸鏂板姞杞藉垪琛ㄥ苟涓斾笉閲嶆柊閲婃斁棰勮鎺ュ彛璋冨彇 - if (that.currentDocumentVersion === currentAssignDocumentVersion) return - that.loadData() - that.$emit('releaseFilePreviewApi') - } else { - that.$notification.error({ - message: '娑堟伅', - description: res.message - }) - } - }) - .catch(err => { - that.$notification.error({ - message: '娑堟伅', - description: err.message - }) - }) - }, - - handleFileAddRelative(_, modalTitle) { - if (!this.$refs.selectFileCompareModalRef) return - this.$refs.selectFileCompareModalRef.visible = true - this.$refs.selectFileCompareModalRef.title = modalTitle - }, - - customRow(record) { - return { - on: { - contextmenu: event => { - event.preventDefault() - this.$emit('handleTableContextMenuOpen', Object.assign({ param: 'file' }, record)) - } - } - } - }, - - triggerCorrespondingMethod({ methodName, level, modalTitle, tableRowInfo }) { - if (this[methodName]) this[methodName](tableRowInfo, modalTitle) - }, - - /** - * 璁剧疆琛ㄦ牸涓负褰撳墠鐗堟湰鐨勬枃浠惰〃鏍艰棰滆壊鏍囪瘑 - * @param publishFlag 鏄惁涓哄綋鍓嶇増鏈� - * @returns {string} 棰滆壊鏍囪瘑 - */ - setCurrentVersionColor(publishFlag) { - return publishFlag ? '#DB9538' : '' + }, + { title: '鏂囦欢鍚嶇О', dataIndex: 'fileName', align: 'center', scopedSlots: { customRender: 'fileName' } }, + { title: '鐗堟湰鍙�', dataIndex: 'docVersion', align: 'center' }, + { title: '鏂囦欢澶у皬', dataIndex: 'fileSize', align: 'center' } + ], + url: { + list: '/nc/file/find/list' } } + }, + created() { + this.$bus.$on('tableMenuItemMethodTrigger', this.triggerCorrespondingMethod) + }, + beforeDestroy() { + this.$bus.$off('tableMenuItemMethodTrigger', this.triggerCorrespondingMethod) + }, + methods: { + // 鍔犺浇鍒楄〃鏁版嵁 + loadData() { + this.dataSource = [] + if (!this.url.list) { + this.$message.error('璇疯缃畊rl.list灞炴��!') + return + } + var params = this.getQueryParams()//鏌ヨ鏉′欢 + params.docId = this.currentDocumentInfo.docId + if (!params) { + return false + } + this.loading = true + getAction(this.url.list, params) + .then((res) => { + if (res.success) this.dataSource = res.list + else { + that.$notification.error({ + message: '娑堟伅', + description: res.message + }) + } + }) + .finally(() => { + this.loading = false + }) + }, + + /** + * 鎸囧畾褰撳墠鏂囨。涓哄綋鍓嶇増鏈� + * @param fileId 鏂囦欢Id + */ + handleFileAssign({ fileId, publishFlag }) { + const that = this + console.log('publishFlag', publishFlag) + // 濡傛灉褰撳墠鎸囧畾鐗堟湰鐨勭増鏈彿涓庡綋鍓嶇増鏈殑鐗堟湰鍙蜂竴鑷村垯涓嶅彂璧疯姹� + if (publishFlag) { + that.$notification.info({ + message: '娑堟伅', + description: '褰撳墠鏂囨。鐗堟湰鍗充负褰撳墠鏂囦欢' + }) + return + } + dncApi.appointCurrentDocumentVersionApi(fileId) + .then(res => { + if (res.success) { + that.$notification.success({ + message: '娑堟伅', + description: res.message + }) + that.loadData() + that.$emit('releaseFilePreviewApi') + } else { + that.$notification.error({ + message: '娑堟伅', + description: res.message + }) + } + }) + .catch(err => { + that.$notification.error({ + message: '娑堟伅', + description: err.message + }) + }) + }, + + /** + * 姣斿涓や釜鐗堟湰鐨勬枃妗e唴瀹� + * @param _ + * @param modalTitle 寮圭獥鏍囬 + */ + handleFileAddRelative(_, modalTitle) { + if (!this.$refs.selectFileCompareModalRef) return + this.$refs.selectFileCompareModalRef.visible = true + this.$refs.selectFileCompareModalRef.title = modalTitle + }, + + /** + * 瀹氬埗琛ㄦ牸琛屾牱寮忓強鍔熻兘 + * @param record 琛ㄦ牸琛屼俊鎭� + * @returns {{style: {color: (string)}, on: {contextmenu: *}}} 鏍峰紡鍙婂姛鑳� + */ + customRow(record) { + return { + style: { + color: this.setCurrentVersionColor(record.publishFlag) + }, + on: { + contextmenu: event => { + event.preventDefault() + this.$emit('handleTableContextMenuOpen', Object.assign({ param: 'file' }, record)) + } + } + } + }, + + /** + * 璁剧疆琛ㄦ牸涓负褰撳墠鐗堟湰鐨勬枃浠惰〃鏍艰棰滆壊鏍囪瘑 + * @param publishFlag 鏄惁涓哄綋鍓嶇増鏈� + * @returns {string} 棰滆壊鏍囪瘑 + */ + setCurrentVersionColor(publishFlag) { + return publishFlag ? '#DB9538' : '' + }, + + triggerCorrespondingMethod({ methodName, modalTitle, tableRowInfo }) { + if (this[methodName]) this[methodName](tableRowInfo, modalTitle) + } } +} </script> - -<style scoped> - -</style> \ No newline at end of file diff --git a/src/views/dnc/common/FilePreview.vue b/src/views/dnc/common/FilePreview.vue index 64508bc..163f222 100644 --- a/src/views/dnc/common/FilePreview.vue +++ b/src/views/dnc/common/FilePreview.vue @@ -12,87 +12,88 @@ </template> <script> - import dncApi from '@/api/dnc' +import dncApi from '@/api/dnc' - export default { - name: 'FilePreview', - components: {}, - props: { - currentDocumentInfo: { - type: Object - } - }, - data() { - return { - spinning: false, - pdfUrl: '' - } - }, - methods: { - getFilePreviewByApi() { - const { docId, docSuffix } = this.currentDocumentInfo - console.log('currentDocumentInfo', this.currentDocumentInfo) - // if (docSuffix !== 'pdf') { - // document.getElementById('ncFileInfo').innerHTML = '' - // dncApi.getFilePreviewApi(docId) - // .then(res => { - // console.log('res----------------------------', res) - // if (res.success && res.list) { - // let str = '' - // res.list.forEach((val, k) => { - // str += val - // if (k != res.list.length - 1) { - // str += '\n' - // } - // }) - // document.getElementById('ncFileInfo').innerHTML = str - // } else { - // this.$notification.error({ - // message: '娑堟伅', - // description: res.message - // }) - // } - // }) - // } else { - // dncApi.getPdfFilePreviewApi(docId) - // .then(res => { - // let url = window.URL.createObjectURL(new Blob([res], { type: 'application/zip' })) - // this.pdfUrl = './static/pdf/web/viewer.html?file=' + encodeURIComponent(url) - // console.log('url===========================', url) - // console.log('pdfUrl===========================', this.pdfUrl) - // }) - // } - this.spinning = true - document.getElementById('ncFileInfo').innerHTML = '' - dncApi.getFilePreviewApi(docId) - .then(res => { - console.log('res----------------------------', res) - if (res.success && res.list) { - let str = '' - res.list.forEach((val, k) => { - str += val - if (k != res.list.length - 1) { - str += '\n' - } - }) - document.getElementById('ncFileInfo').innerHTML = str - } else { - this.$notification.error({ - message: '娑堟伅', - description: res.message - }) - } - }) - .finally(() => { - this.spinning = false - }) - }, +export default { + name: 'FilePreview', + components: {}, + props: { + currentDocumentInfo: { + type: Object + } + }, + data() { + return { + spinning: false, + pdfUrl: '' + } + }, + methods: { + getFilePreviewByApi() { + const { docId, docSuffix } = this.currentDocumentInfo + console.log('currentDocumentInfo', this.currentDocumentInfo) + // if (docSuffix !== 'pdf') { + // document.getElementById('ncFileInfo').innerHTML = '' + // dncApi.getFilePreviewApi(docId) + // .then(res => { + // console.log('res----------------------------', res) + // if (res.success && res.list) { + // let str = '' + // res.list.forEach((val, k) => { + // str += val + // if (k != res.list.length - 1) { + // str += '\n' + // } + // }) + // document.getElementById('ncFileInfo').innerHTML = str + // } else { + // this.$notification.error({ + // message: '娑堟伅', + // description: res.message + // }) + // } + // }) + // } else { + // dncApi.getPdfFilePreviewApi(docId) + // .then(res => { + // let url = window.URL.createObjectURL(new Blob([res], { type: 'application/zip' })) + // this.pdfUrl = './static/pdf/web/viewer.html?file=' + encodeURIComponent(url) + // console.log('url===========================', url) + // console.log('pdfUrl===========================', this.pdfUrl) + // }) + // } + document.getElementById('ncFileInfo').innerHTML = '' + if (docSuffix == 'jpg' || docSuffix == 'png' || docSuffix == 'jpeg' || docSuffix === 'gif' || docSuffix == 'pdf') return + this.spinning = true + dncApi.getFilePreviewApi(docId) + .then(res => { + console.log('res----------------------------', res) + if (res.success && res.list) { + let str = '' + res.list.forEach((val, k) => { + str += val + if (k != res.list.length - 1) { + str += '\n' + } + }) + document.getElementById('ncFileInfo').innerHTML = str + } else { + this.$notification.error({ + message: '娑堟伅', + description: res.message + }) + } + }) + .finally(() => { + this.spinning = false + }) } } +} </script> <style scoped> - /deep/ .ant-spin-container { - height: 100%; - } +/deep/ .ant-spin-container { + height: 100%; +} </style> \ No newline at end of file diff --git a/src/views/dnc/common/SelectFileCompareModal.vue b/src/views/dnc/common/SelectFileCompareModal.vue index 9c6b7cd..f471912 100644 --- a/src/views/dnc/common/SelectFileCompareModal.vue +++ b/src/views/dnc/common/SelectFileCompareModal.vue @@ -1,27 +1,22 @@ -<template> - <a-modal :title="title" :visible="visible" :width="700" @cancel="handleCloseModal" @ok="handleOpenCompareModal" - :maskClosable="false"> - <a-table :dataSource="dataSource" :columns="columns" :pagination="false" bordered :scroll="{y:364}" - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" rowKey="fileId"> - <template slot="rowIndex" slot-scope="text,record,index"> - <span :style="{color:setCurrentVersionColor(record.publishFlag)}">{{parseInt(index) + 1}}</span> - </template> - <template slot="fileName" slot-scope="text,record,index"> - <span :style="{color:setCurrentVersionColor(record.publishFlag)}"> - {{text}}.{{record.fileSuffix}} - <span v-if="record.publishFlag">[褰撳墠鐗堟湰]</span> - </span> - </template> - <template slot="docVersion" slot-scope="text,record"> - <span :style="{color:setCurrentVersionColor(record.publishFlag)}">{{text}}</span> - </template> - </a-table> + <template> + <a-modal :title="title" :visible="visible" :width="700" @cancel="handleCloseModal" @ok="handleOpenCompareModal" + :maskClosable="false"> + <a-table :dataSource="dataSource" :columns="columns" :pagination="false" bordered :scroll="{y:364}" + :customRow="customRow" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" rowKey="fileId"> + <template slot="fileName" slot-scope="text,record,index"> + <span :style="{color:setCurrentVersionColor(record.publishFlag)}"> + {{ text }}.{{ record.fileSuffix }} + <span v-if="record.publishFlag">[褰撳墠鐗堟湰]</span> + </span> + </template> + </a-table> - <FileCompareModal ref="fileCompareModalRef" :fileDiffObject="fileDiffObject" :fileVersionArray="fileVersionArray"/> - </a-modal> -</template> + <FileCompareModal ref="fileCompareModalRef" :fileDiffObject="fileDiffObject" :fileVersionArray="fileVersionArray"/> + </a-modal> + </template> -<script> + <script> import dncApi from '@/api/dnc' import FileCompareModal from './FileCompareModal' @@ -45,9 +40,17 @@ fileVersionArray: [], selectedFileInfo: {}, columns: [ - { title: '搴忓彿', dataIndex: 'rowIndex', width: 65, align: 'center', scopedSlots: { customRender: 'rowIndex' } }, + { + title: '搴忓彿', + dataIndex: 'rowIndex', + width: 65, + align: 'center', + customRender: function(t, r, index) { + return parseInt(index) + 1 + } + }, { title: '鏂囦欢鍚嶇О', dataIndex: 'fileName', align: 'center', scopedSlots: { customRender: 'fileName' } }, - { title: '鐗堟湰鍙�', dataIndex: 'docVersion', align: 'center', scopedSlots: { customRender: 'docVersion' } } + { title: '鐗堟湰鍙�', dataIndex: 'docVersion', align: 'center' } ] } }, @@ -65,11 +68,29 @@ } }, methods: { + /** + * 瀹氬埗琛ㄦ牸琛屾牱寮� + * @param record 琛ㄦ牸琛屼俊鎭� + * @returns {{style: {color: *}}} 鏍峰紡 + */ + customRow(record) { + return { + style: { + color: this.setCurrentVersionColor(record.publishFlag) + } + } + }, + + /** + * 褰撹〃鏍煎閫夋鏀瑰彉鏃惰Е鍙� + * @param selectedRowKeys 閫変腑鐨勬瘡涓�琛岀殑key闆嗗悎 + */ onSelectChange(selectedRowKeys) { if (selectedRowKeys.length < 3) this.selectedRowKeys = selectedRowKeys else this.selectedRowKeys = selectedRowKeys.slice(-2) }, + // 鎵撳紑瀵规瘮绐楀彛 handleOpenCompareModal() { const { $confirm, $notification, selectedRowKeys, title, dataSource } = this if (selectedRowKeys.length < 2) { @@ -121,14 +142,15 @@ }) }, + // 鍏抽棴绐楀彛 handleCloseModal() { this.visible = false this.selectedRowKeys = [] } } } -</script> + </script> -<style scoped> + <style scoped> -</style> \ No newline at end of file + </style> \ No newline at end of file -- Gitblit v1.9.3